diff --git a/src/main/twirl/gitbucket/core/main.scala.html b/src/main/twirl/gitbucket/core/main.scala.html
index d844a9e69..68e84f938 100644
--- a/src/main/twirl/gitbucket/core/main.scala.html
+++ b/src/main/twirl/gitbucket/core/main.scala.html
@@ -9,7 +9,7 @@
-
+
diff --git a/src/main/webapp/assets/common/fonts/source-sans-pro.css b/src/main/webapp/assets/common/fonts/source-sans-pro.css
deleted file mode 100644
index 3a258b5bf..000000000
--- a/src/main/webapp/assets/common/fonts/source-sans-pro.css
+++ /dev/null
@@ -1,78 +0,0 @@
-@font-face {
- font-family: 'Source Sans Pro';
- font-style: italic;
- font-weight: 300;
- src: url(sans/source-sans-pro_300_italic.eot);
- src: local('SourceSansPro-LightItalic'), local('Source Sans Pro Light Italic'),
- url(sans/source-sans-pro_300_italic.woff2) format('woff2'),
- url(sans/source-sans-pro_300_italic.woff) format('woff'),
- url(sans/source-sans-pro_300_italic.ttf) format('truetype'),
- url(sans/source-sans-pro_300_italic.eot?#iefix) format('embedded-opentype');
-}
-@font-face {
- font-family: 'Source Sans Pro';
- font-style: italic;
- font-weight: 400;
- src: url(sans/source-sans-pro_400_italic.eot);
- src: local('SourceSansPro-Italic'), local('Source Sans Pro Italic'),
- url(sans/source-sans-pro_400_italic.woff2) format('woff2'),
- url(sans/source-sans-pro_400_italic.woff) format('woff'),
- url(sans/source-sans-pro_400_italic.ttf) format('truetype'),
- url(sans/source-sans-pro_400_italic.eot?#iefix) format('embedded-opentype');
-}
-@font-face {
- font-family: 'Source Sans Pro';
- font-style: italic;
- font-weight: 600;
- src: url(sans/source-sans-pro_600_italic.eot);
- src: local('SourceSansPro-SemiBoldItalic'), local('Source Sans Pro SemiBold Italic'),
- url(sans/source-sans-pro_600_italic.woff2) format('woff2'),
- url(sans/source-sans-pro_600_italic.woff) format('woff'),
- url(sans/source-sans-pro_600_italic.ttf) format('truetype'),
- url(sans/source-sans-pro_600_italic.eot?#iefix) format('embedded-opentype');
-}
-@font-face {
- font-family: 'Source Sans Pro';
- font-style: normal;
- font-weight: 300;
- src: url(sans/source-sans-pro_300_normal.eot);
- src: local('SourceSansPro-Light'), local('Source Sans Pro Light'),
- url(sans/source-sans-pro_300_normal.woff2) format('woff2'),
- url(sans/source-sans-pro_300_normal.woff) format('woff'),
- url(sans/source-sans-pro_300_normal.ttf) format('truetype'),
- url(sans/source-sans-pro_300_normal.eot?#iefix) format('embedded-opentype');
-}
-@font-face {
- font-family: 'Source Sans Pro';
- font-style: normal;
- font-weight: 400;
- src: url(sans/source-sans-pro_400_normal.eot);
- src: local('SourceSansPro-Regular'), local('Source Sans Pro Regular'),
- url(sans/source-sans-pro_400_normal.woff2) format('woff2'),
- url(sans/source-sans-pro_400_normal.woff) format('woff'),
- url(sans/source-sans-pro_400_normal.ttf) format('truetype'),
- url(sans/source-sans-pro_400_normal.eot?#iefix) format('embedded-opentype'),
- url(sans/source-sans-pro_400_normal.svg) format('svg');
-}
-@font-face {
- font-family: 'Source Sans Pro';
- font-style: normal;
- font-weight: 600;
- src: url(sans/source-sans-pro_600_normal.eot);
- src: local('SourceSansPro-SemiBold'), local('Source Sans Pro SemiBold'),
- url(sans/source-sans-pro_600_normal.woff2) format('woff2'),
- url(sans/source-sans-pro_600_normal.woff) format('woff'),
- url(sans/source-sans-pro_600_normal.ttf) format('truetype'),
- url(sans/source-sans-pro_600_normal.eot?#iefix) format('embedded-opentype');
-}
-@font-face {
- font-family: 'Source Sans Pro';
- font-style: normal;
- font-weight: 700;
- src: url(sans/source-sans-pro_700_normal.eot);
- src: local('SourceSansPro-Bold'), local('Source Sans Pro Bold'),
- url(sans/source-sans-pro_700_normal.woff2) format('woff2'),
- url(sans/source-sans-pro_700_normal.woff) format('woff'),
- url(sans/source-sans-pro_700_normal.ttf) format('truetype'),
- url(sans/source-sans-pro_700_normal.eot?#iefix) format('embedded-opentype');
-}
diff --git a/src/main/webapp/assets/vendors/google-fonts/css/source-sans-pro.css b/src/main/webapp/assets/vendors/google-fonts/css/source-sans-pro.css
new file mode 100644
index 000000000..ec869d28e
--- /dev/null
+++ b/src/main/webapp/assets/vendors/google-fonts/css/source-sans-pro.css
@@ -0,0 +1,78 @@
+@font-face {
+ font-family: 'Source Sans Pro';
+ font-style: italic;
+ font-weight: 300;
+ src: url(../fonts/source-sans-pro_300_italic.eot);
+ src: local('SourceSansPro-LightItalic'), local('Source Sans Pro Light Italic'),
+ url(../fonts/source-sans-pro_300_italic.woff2) format('woff2'),
+ url(../fonts/source-sans-pro_300_italic.woff) format('woff'),
+ url(../fonts/source-sans-pro_300_italic.ttf) format('truetype'),
+ url(../fonts/source-sans-pro_300_italic.eot?#iefix) format('embedded-opentype');
+}
+@font-face {
+ font-family: 'Source Sans Pro';
+ font-style: italic;
+ font-weight: 400;
+ src: url(../fonts/source-sans-pro_400_italic.eot);
+ src: local('SourceSansPro-Italic'), local('Source Sans Pro Italic'),
+ url(../fonts/source-sans-pro_400_italic.woff2) format('woff2'),
+ url(../fonts/source-sans-pro_400_italic.woff) format('woff'),
+ url(../fonts/source-sans-pro_400_italic.ttf) format('truetype'),
+ url(../fonts/source-sans-pro_400_italic.eot?#iefix) format('embedded-opentype');
+}
+@font-face {
+ font-family: 'Source Sans Pro';
+ font-style: italic;
+ font-weight: 600;
+ src: url(../fonts/source-sans-pro_600_italic.eot);
+ src: local('SourceSansPro-SemiBoldItalic'), local('Source Sans Pro SemiBold Italic'),
+ url(../fonts/source-sans-pro_600_italic.woff2) format('woff2'),
+ url(../fonts/source-sans-pro_600_italic.woff) format('woff'),
+ url(../fonts/source-sans-pro_600_italic.ttf) format('truetype'),
+ url(../fonts/source-sans-pro_600_italic.eot?#iefix) format('embedded-opentype');
+}
+@font-face {
+ font-family: 'Source Sans Pro';
+ font-style: normal;
+ font-weight: 300;
+ src: url(../fonts/source-sans-pro_300_normal.eot);
+ src: local('SourceSansPro-Light'), local('Source Sans Pro Light'),
+ url(../fonts/source-sans-pro_300_normal.woff2) format('woff2'),
+ url(../fonts/source-sans-pro_300_normal.woff) format('woff'),
+ url(../fonts/source-sans-pro_300_normal.ttf) format('truetype'),
+ url(../fonts/source-sans-pro_300_normal.eot?#iefix) format('embedded-opentype');
+}
+@font-face {
+ font-family: 'Source Sans Pro';
+ font-style: normal;
+ font-weight: 400;
+ src: url(../fonts/source-sans-pro_400_normal.eot);
+ src: local('SourceSansPro-Regular'), local('Source Sans Pro Regular'),
+ url(../fonts/source-sans-pro_400_normal.woff2) format('woff2'),
+ url(../fonts/source-sans-pro_400_normal.woff) format('woff'),
+ url(../fonts/source-sans-pro_400_normal.ttf) format('truetype'),
+ url(../fonts/source-sans-pro_400_normal.eot?#iefix) format('embedded-opentype'),
+ url(../fonts/source-sans-pro_400_normal.svg) format('svg');
+}
+@font-face {
+ font-family: 'Source Sans Pro';
+ font-style: normal;
+ font-weight: 600;
+ src: url(../fonts/source-sans-pro_600_normal.eot);
+ src: local('SourceSansPro-SemiBold'), local('Source Sans Pro SemiBold'),
+ url(../fonts/source-sans-pro_600_normal.woff2) format('woff2'),
+ url(../fonts/source-sans-pro_600_normal.woff) format('woff'),
+ url(../fonts/source-sans-pro_600_normal.ttf) format('truetype'),
+ url(../fonts/source-sans-pro_600_normal.eot?#iefix) format('embedded-opentype');
+}
+@font-face {
+ font-family: 'Source Sans Pro';
+ font-style: normal;
+ font-weight: 700;
+ src: url(../fonts/source-sans-pro_700_normal.eot);
+ src: local('SourceSansPro-Bold'), local('Source Sans Pro Bold'),
+ url(../fonts/source-sans-pro_700_normal.woff2) format('woff2'),
+ url(../fonts/source-sans-pro_700_normal.woff) format('woff'),
+ url(../fonts/source-sans-pro_700_normal.ttf) format('truetype'),
+ url(../fonts/source-sans-pro_700_normal.eot?#iefix) format('embedded-opentype');
+}
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_300_italic.ttf b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_300_italic.ttf
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_300_italic.ttf
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_300_italic.ttf
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_300_italic.woff b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_300_italic.woff
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_300_italic.woff
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_300_italic.woff
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_300_italic.woff2 b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_300_italic.woff2
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_300_italic.woff2
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_300_italic.woff2
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_300_normal.ttf b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_300_normal.ttf
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_300_normal.ttf
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_300_normal.ttf
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_300_normal.woff b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_300_normal.woff
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_300_normal.woff
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_300_normal.woff
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_300_normal.woff2 b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_300_normal.woff2
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_300_normal.woff2
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_300_normal.woff2
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_italic.ttf b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_italic.ttf
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_italic.ttf
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_italic.ttf
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_italic.woff b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_italic.woff
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_italic.woff
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_italic.woff
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_italic.woff2 b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_italic.woff2
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_italic.woff2
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_italic.woff2
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_normal.eot b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_normal.eot
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_normal.eot
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_normal.eot
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_normal.svg b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_normal.svg
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_normal.svg
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_normal.svg
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_normal.ttf b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_normal.ttf
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_normal.ttf
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_normal.ttf
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_normal.woff b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_normal.woff
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_normal.woff
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_normal.woff
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_normal.woff2 b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_normal.woff2
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_400_normal.woff2
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_400_normal.woff2
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_600_italic.ttf b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_600_italic.ttf
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_600_italic.ttf
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_600_italic.ttf
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_600_italic.woff b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_600_italic.woff
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_600_italic.woff
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_600_italic.woff
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_600_italic.woff2 b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_600_italic.woff2
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_600_italic.woff2
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_600_italic.woff2
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_600_normal.ttf b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_600_normal.ttf
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_600_normal.ttf
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_600_normal.ttf
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_600_normal.woff b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_600_normal.woff
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_600_normal.woff
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_600_normal.woff
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_600_normal.woff2 b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_600_normal.woff2
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_600_normal.woff2
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_600_normal.woff2
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_700_normal.ttf b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_700_normal.ttf
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_700_normal.ttf
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_700_normal.ttf
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_700_normal.woff b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_700_normal.woff
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_700_normal.woff
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_700_normal.woff
diff --git a/src/main/webapp/assets/common/fonts/sans/source-sans-pro_700_normal.woff2 b/src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_700_normal.woff2
similarity index 100%
rename from src/main/webapp/assets/common/fonts/sans/source-sans-pro_700_normal.woff2
rename to src/main/webapp/assets/vendors/google-fonts/fonts/source-sans-pro_700_normal.woff2