diff --git a/public/less/_admin.less b/public/less/_admin.less
index c69e50b6f2d3..096637b4397c 100644
--- a/public/less/_admin.less
+++ b/public/less/_admin.less
@@ -11,7 +11,7 @@
 
 			thead {
 				th:last-child {
-					padding-right: 5px !important; 
+					padding-right: 5px !important;
 				}
 			}
 		}
@@ -39,9 +39,9 @@
 			max-width: 200px;
 		}
 	}
-    
-  dl.admin-dl-horizontal {
-  	padding: 20px;
+
+	dl.admin-dl-horizontal {
+		padding: 20px;
 		margin: 0;
 
 		dd{
diff --git a/public/less/_base.less b/public/less/_base.less
index e359363423d3..671c70887937 100644
--- a/public/less/_base.less
+++ b/public/less/_base.less
@@ -1,5 +1,5 @@
 @footer-margin: 40px;
- 
+
 body {
 	font-family: 'Helvetica Neue',Arial,Helvetica,sans-serif,'微软雅黑';
 	background-color: #FAFAFA;
@@ -10,20 +10,20 @@ img {
 pre {
 	font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace;
 	&.raw {
-  	padding: 7px 12px;
-    margin: 10px 0;
-    background-color: #f8f8f8;
-    border: 1px solid #ddd;
-    border-radius: 3px;
-    font-size: 13px;
-    line-height: 1.5;
-    overflow: auto;
+		padding: 7px 12px;
+		margin: 10px 0;
+		background-color: #f8f8f8;
+		border: 1px solid #ddd;
+		border-radius: 3px;
+		font-size: 13px;
+		line-height: 1.5;
+		overflow: auto;
 	}
 }
 .full.height {
 	padding: 0;
-  margin: 0 0 -@footer-margin*2 0;
-  min-height: 100%;
+	margin: 0 0 -@footer-margin*2 0;
+	min-height: 100%;
 }
 .following.bar {
 	z-index: 900;
@@ -65,24 +65,24 @@ pre {
 		margin-right: 0;
 	}
 	.searchbox {
-  	background-color: rgb(244, 244, 244) !important;
-  	&:focus {
-  		background-color: rgb(233, 233, 233) !important;
-  	}
+		background-color: rgb(244, 244, 244) !important;
+		&:focus {
+			background-color: rgb(233, 233, 233) !important;
+		}
 	}
 	.text .octicon {
-    width: 16px;
-    text-align: center;
-  }
-  .right.menu {
-  	.menu {
-  		left: auto;
-  		right: 0;
-  	}
+		width: 16px;
+		text-align: center;
+	}
+	.right.menu {
+		.menu {
+			left: auto;
+			right: 0;
+		}
 		.dropdown .menu {
 			margin-top: 0;
 		}
-  }
+	}
 }
 
 .ui {
@@ -96,21 +96,21 @@ pre {
 	.text {
 		&.red {
 			color: #d95c5c !important;
-	    a {
-	    	color: #d95c5c !important;
-	    	&:hover {
-	    		color: #E67777 !important;
-	    	}
-	    }
+			a {
+				color: #d95c5c !important;
+				&:hover {
+					color: #E67777 !important;
+				}
+			}
 		}
 		&.blue {
 			color: #428bca !important;
-	    a {
-	    	color: #15c !important;
-	    	&:hover {
-	    		color: #428bca !important;
-	    	}
-	    }
+			a {
+				color: #15c !important;
+				&:hover {
+					color: #428bca !important;
+				}
+			}
 		}
 		&.black {
 			color: #444;
@@ -119,13 +119,13 @@ pre {
 			}
 		}
 		&.grey {
-	    color: #767676 !important;
-	    a {
-	    	color: #444 !important;
-	    	&:hover {
-	    		color: #000 !important;
-	    	}
-	    }
+			color: #767676 !important;
+			a {
+				color: #444 !important;
+				&:hover {
+					color: #000 !important;
+				}
+			}
 		}
 		&.light.grey {
 			color: #888 !important;
@@ -189,10 +189,10 @@ pre {
 	.warning {
 		&.header {
 			background-color: #F9EDBE !important;
-	    border-color: #F0C36D;
+			border-color: #F0C36D;
 		}
 		&.segment {
-	    border-color: #F0C36D;
+			border-color: #F0C36D;
 		}
 	}
 	.info {
@@ -269,9 +269,9 @@ pre {
 				font-weight: 700;
 			}
 			&:hover {
-		    background: rgba(0,0,0,.05);
-		    color: rgba(0,0,0,.8);
-		    z-index: 13;
+				background: rgba(0,0,0,.05);
+				color: rgba(0,0,0,.8);
+				z-index: 13;
 			}
 		}
 	}
@@ -279,7 +279,7 @@ pre {
 
 .scrolling.menu {
 	.item.selected {
-	  font-weight: 700 !important;
+		font-weight: 700 !important;
 	}
 }
 
@@ -295,8 +295,8 @@ footer {
 		padding-top: 10px;
 		.fa {
 			width: 16px;
-	  	text-align: center;
-	  	color: #428bca;
+			text-align: center;
+			color: #428bca;
 		}
 		.links >* {
 			border-left: 1px solid #d6d6d6;
@@ -318,11 +318,11 @@ footer {
 
 .generate-img(16);
 .generate-img(@n, @i: 1) when (@i =< @n) {
-  .img-@{i} {
-    width: (2px * @i) !important;
-    height: (2px * @i) !important;
-  }
-  .generate-img(@n, (@i + 1));
+	.img-@{i} {
+		width: (2px * @i) !important;
+		height: (2px * @i) !important;
+	}
+	.generate-img(@n, (@i + 1));
 }
 
 // ensure Semantic UI .icon font family and 14px size does not apply to .icon.octicon
@@ -335,27 +335,27 @@ footer {
 
 // Accessibility
 .sr-only {
-  position: absolute;
-  width: 1px;
-  height: 1px;
-  padding: 0;
-  margin: -1px;
-  overflow: hidden;
-  clip: rect(0, 0, 0, 0);
-  border: 0;
+	position: absolute;
+	width: 1px;
+	height: 1px;
+	padding: 0;
+	margin: -1px;
+	overflow: hidden;
+	clip: rect(0, 0, 0, 0);
+	border: 0;
 }
 .sr-only-focusable:active,
 .sr-only-focusable:focus {
-  position: static;
-  width: auto;
-  height: auto;
-  margin: 0;
-  overflow: visible;
-  clip: auto;
+	position: static;
+	width: auto;
+	height: auto;
+	margin: 0;
+	overflow: visible;
+	clip: auto;
 }
 
 @media only screen and (max-width: 991px) and (min-width: 768px) {
 	.ui.container {
 		width: 95%;
 	}
-}
\ No newline at end of file
+}
diff --git a/public/less/_dashboard.less b/public/less/_dashboard.less
index e9b69daa6d38..53d3352cbd4e 100644
--- a/public/less/_dashboard.less
+++ b/public/less/_dashboard.less
@@ -8,8 +8,8 @@
 			z-index: 101;
 			min-width: 200px;
 			.ui.header {
-		    font-size: 1rem;
-		    text-transform: none;
+				font-size: 1rem;
+				text-transform: none;
 			}
 		}
 		.filter.menu {
@@ -17,8 +17,8 @@
 				text-align: left;
 				.text {
 					height: 16px;
-			    vertical-align: middle;
-			    &.truncate {
+					vertical-align: middle;
+					&.truncate {
 						width: 85%;
 					}
 				}
@@ -32,7 +32,7 @@
 			// Sort
 			.jump.item {
 				margin: 1px;
-		    padding-right: 0;
+				padding-right: 0;
 			}
 			.menu {
 				max-height: 300px;
@@ -96,24 +96,24 @@
 			padding-left: 0;
 
 			li {
-		    &:not(:last-child) {
-		    	border-bottom: 1px solid #EAEAEA;
-		    }
+				&:not(:last-child) {
+					border-bottom: 1px solid #EAEAEA;
+				}
 
 				&.private {
 					background-color: #fcf8e9;
 				}
-				
-		    a {
-		    	padding: 6px 1.2em;
-    	    display: block;
 
-    	    .octicon {
-    	    	margin-right: 6px;
-    	    	color: #888;
-    	    }
-		    }
+				a {
+					padding: 6px 1.2em;
+					display: block;
+
+					.octicon {
+						margin-right: 6px;
+						color: #888;
+					}
+				}
 			}
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/public/less/_emojify.less b/public/less/_emojify.less
index 62fdaa6455e1..e9a49a04e244 100755
--- a/public/less/_emojify.less
+++ b/public/less/_emojify.less
@@ -1,6 +1,6 @@
 .emoji {
-  width: 1.5em;
-  height: 1.5em;
-  display: inline-block;
-  background-size: contain;
+	width: 1.5em;
+	height: 1.5em;
+	display: inline-block;
+	background-size: contain;
 }
diff --git a/public/less/_explore.less b/public/less/_explore.less
index b510c71a108c..53a6b5a46ca7 100644
--- a/public/less/_explore.less
+++ b/public/less/_explore.less
@@ -25,8 +25,8 @@
 			}
 		}
 		.time {
-	    font-size: 12px;
-	    color: #808080;
+			font-size: 12px;
+			color: #808080;
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/public/less/_form.less b/public/less/_form.less
index f9ccfa9713a2..3dba34d7ec26 100644
--- a/public/less/_form.less
+++ b/public/less/_form.less
@@ -110,4 +110,4 @@
 			padding-left: 40px;
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/public/less/_home.less b/public/less/_home.less
index 2a105ceb1fff..01165249c2c4 100644
--- a/public/less/_home.less
+++ b/public/less/_home.less
@@ -15,8 +15,8 @@
 		}
 		.octicon {
 			color: #d9453d;
-  		font-size: 40px;
-  		width: 50px;
+			font-size: 40px;
+			width: 50px;
 		}
 		&.header {
 			font-size: 20px;
@@ -36,4 +36,4 @@
 .signup {
 	padding-top: 15px;
 	padding-bottom: @footer-margin * 2;
-}
\ No newline at end of file
+}
diff --git a/public/less/_install.less b/public/less/_install.less
index 33c927fb109b..7f1184634183 100644
--- a/public/less/_install.less
+++ b/public/less/_install.less
@@ -28,4 +28,4 @@
 			}
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/public/less/_markdown.less b/public/less/_markdown.less
index 561fa20b1b2d..7d433dc448bd 100644
--- a/public/less/_markdown.less
+++ b/public/less/_markdown.less
@@ -1,481 +1,481 @@
 .markdown {
-  overflow: hidden;
-  font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif;
-  font-size: 16px;
-  line-height: 1.6 !important;
-  word-wrap: break-word;
-
-  &.file-view {
-    padding: 5px 2em 2em !important;
-  }
-
-  >*:first-child {
-    margin-top: 0 !important;
-  }
-
-  >*:last-child {
-    margin-bottom: 0 !important;
-  }
-
-  a:not([href]) {
-    color: inherit;
-    text-decoration: none;
-  }
-
-  .absent {
-    color: #c00;
-  }
-
-  .anchor {
-    position: absolute;
-    top: 0;
-    left: 0;
-    display: block;
-    padding-right: 6px;
-    padding-left: 30px;
-    margin-left: -30px;
-  }
-
-  .anchor:focus {
-    outline: none;
-  }
-
-  h1,
-  h2,
-  h3,
-  h4,
-  h5,
-  h6 {
-    position: relative;
-    margin-top: 1em;
-    margin-bottom: 16px;
-    font-weight: bold;
-    line-height: 1.4;
-  }
-
-  h1 .octicon-link,
-  h2 .octicon-link,
-  h3 .octicon-link,
-  h4 .octicon-link,
-  h5 .octicon-link,
-  h6 .octicon-link {
-    display:none;
-    color:#000;
-    vertical-align:middle;
-  }
-
-  h1:hover .anchor,
-  h2:hover .anchor,
-  h3:hover .anchor,
-  h4:hover .anchor,
-  h5:hover .anchor,
-  h6:hover .anchor {
-    padding-left:8px;
-    margin-left:-30px;
-    text-decoration:none;
-  }
-
-  h1:hover .anchor .octicon-link,
-  h2:hover .anchor .octicon-link,
-  h3:hover .anchor .octicon-link,
-  h4:hover .anchor .octicon-link,
-  h5:hover .anchor .octicon-link,
-  h6:hover .anchor .octicon-link {
-    display:inline-block;
-  }
-
-  h1 tt,
-  h1 code,
-  h2 tt,
-  h2 code,
-  h3 tt,
-  h3 code,
-  h4 tt,
-  h4 code,
-  h5 tt,
-  h5 code,
-  h6 tt,
-  h6 code {
-    font-size:inherit;
-  }
-
-  h1 {
-    padding-bottom:0.3em;
-    font-size:2.25em;
-    line-height:1.2;
-    border-bottom:1px solid #eee;
-  }
-
-  h1 .anchor {
-    line-height:1;
-  }
-
-  h2 {
-    padding-bottom:0.3em;
-    font-size:1.75em;
-    line-height:1.225;
-    border-bottom:1px solid #eee;
-  }
-
-  h2 .anchor {
-    line-height:1;
-  }
-
-  h3 {
-    font-size:1.5em;
-    line-height:1.43;
-  }
-
-  h3 .anchor {
-    line-height:1.2;
-  }
-
-  h4 {
-    font-size:1.25em;
-  }
-
-  h4 .anchor {
-    line-height:1.2;
-  }
-
-  h5 {
-    font-size:1em;
-  }
-
-  h5 .anchor {
-    line-height:1.1;
-  }
-
-  h6 {
-    font-size:1em;color:#777;
-  }
-
-  h6 .anchor {
-    line-height:1.1;
-  }
-
-  p,
-  blockquote,
-  ul,
-  ol,
-  dl,
-  table,
-  pre {
-    margin-top: 0;
-    margin-bottom: 16px;
-  }
-  blockquote {
-    margin-left: 0;
-  }
-
-  hr {
-    height:4px;
-    padding:0;
-    margin:16px 0;
-    background-color:#e7e7e7;
-    border:0 none;
-  }
-
-  ul,
-  ol {
-    padding-left:2em;
-  }
-
-  ul.no-list,
-  ol.no-list {
-    padding:0;
-    list-style-type:none;
-  }
-
-  ul ul,
-  ul ol,
-  ol ol,
-  ol ul {
-    margin-top:0;
-    margin-bottom:0;
-  }
-
-  ol ol,
-  ul ol {
-    list-style-type: lower-roman;
-  }
-
-  li>p {
-    margin-top:16px;
-  }
-
-  dl {
-    padding:0;
-  }
-
-  dl dt {
-    padding:0;
-    margin-top:16px;
-    font-size:1em;
-    font-style:italic;
-    font-weight:bold;
-  }
-
-  dl dd {
-    padding:0 16px;
-    margin-bottom:16px;
-  }
-
-  blockquote {
-    padding:0 15px;
-    color:#777;
-    border-left:4px solid #ddd;
-  }
-
-  blockquote>:first-child {
-    margin-top:0;
-  }
-
-  blockquote>:last-child {
-    margin-bottom:0;
-  }
-
-  table {
-    display:block;
-    width:100%;
-    overflow:auto;
-    word-break:normal;
-    word-break:keep-all;
-  }
-
-  table th {
-    font-weight:bold;
-  }
-
-  table th,
-  table td {
-    padding:6px 13px !important;
-    border:1px solid #ddd;
-  }
-
-  table tr {
-    background-color:#fff;
-    border-top:1px solid #ccc;
-  }
-
-  table tr:nth-child(2n) {
-    background-color:#f8f8f8;
-  }
-
-  img {
-    max-width:100%;
-    box-sizing:border-box;
-  }
-
-  .emoji {
-    max-width:none;
-  }
-
-  span.frame {
-    display:block;
-    overflow:hidden;
-  }
-
-  span.frame>span {
-    display:block;
-    float:left;
-    width:auto;
-    padding:7px;
-    margin:13px 0 0;
-    overflow:hidden;
-    border:1px solid #ddd;
-  }
-
-  span.frame span img {
-    display:block;
-    float:left;
-  }
-
-  span.frame span span {
-    display:block;
-    padding:5px 0 0;
-    clear:both;
-    color:#333;
-  }
-
-  span.align-center {
-    display:block;
-    overflow:hidden;
-    clear:both;
-  }
-
-  span.align-center>span {
-    display:block;
-    margin:13px auto 0;
-    overflow:hidden;
-    text-align:center;
-  }
-
-  span.align-center span img {
-    margin:0 auto;
-    text-align:center;
-  }
-
-  span.align-right {
-    display:block;
-    overflow:hidden;
-    clear:both;
-  }
-
-  span.align-right>span {
-    display:block;
-    margin:13px 0 0;
-    overflow:hidden;
-    text-align:right;
-  }
-
-  span.align-right span img {
-    margin:0;
-    text-align:right;
-  }
-
-  span.float-left {
-    display:block;
-    float:left;
-    margin-right:13px;
-    overflow:hidden;
-  }
-
-  span.float-left span {
-    margin:13px 0 0;
-  }
-
-  span.float-right {
-    display:block;
-    float:right;
-    margin-left:13px;
-    overflow:hidden;
-  }
-
-  span.float-right>span {
-    display:block;
-    margin:13px auto 0;
-    overflow:hidden;
-    text-align:right;
-  }
-
-  code,
-  tt {
-    padding:0;
-    padding-top:0.2em;
-    padding-bottom:0.2em;
-    margin:0;
-    font-size:85%;
-    background-color:rgba(0,0,0,0.04);
-    border-radius:3px;
-  }
-
-  code:before,
-  code:after,
-  tt:before,
-  tt:after {
-    letter-spacing:-0.2em;
-    content:"\00a0";
-  }
-
-  code br,
-  tt br {
-    display:none;
-  }
-
-  del code {
-    text-decoration:inherit;
-  }
-
-  pre>code {
-    padding:0;
-    margin:0;
-    font-size:100%;
-    word-break:normal;
-    white-space:pre;
-    background:transparent;
-    border:0;
-  }
-
-  .highlight {
-    margin-bottom:16px;
-  }
-
-  .highlight pre,
-  pre {
-    padding:16px;
-    overflow:auto;
-    font-size:85%;
-    line-height:1.45;
-    background-color:#f7f7f7;
-    border-radius:3px;
-  }
-
-  .highlight pre {
-    margin-bottom:0;
-    word-break:normal;
-  }
-
-  pre {
-    word-wrap:normal;
-  }
-
-  pre code,
-  pre tt {
-    display:inline;
-    max-width:initial;
-    padding:0;
-    margin:0;
-    overflow:initial;
-    line-height:inherit;
-    word-wrap:normal;
-    background-color:transparent;
-    border:0;
-  }
-
-  pre code:before,
-  pre code:after,
-  pre tt:before,
-  pre tt:after {
-    content:normal;
-  }
-
-  kbd {
-    display:inline-block;
-    padding:3px 5px;
-    font-size:11px;
-    line-height:10px;
-    color:#555;
-    vertical-align:middle;
-    background-color:#fcfcfc;
-    border:solid 1px #ccc;
-    border-bottom-color:#bbb;
-    border-radius:3px;
-    box-shadow:inset 0 -1px 0 #bbb;
-  }
-
-  .csv-data td,
-  .csv-data th {
-    padding:5px;
-    overflow:hidden;
-    font-size:12px;
-    line-height:1;
-    text-align:left;
-    white-space:nowrap;
-  }
-
-  .csv-data .blob-num {
-    padding:10px 8px 9px;
-    text-align:right;
-    background:#fff;border:0;
-  }
-
-  .csv-data tr {
-    border-top:0;
-  }
-
-  .csv-data th {
-    font-weight:bold;
-    background:#f8f8f8;border-top:0;
-  }
-}
\ No newline at end of file
+	overflow: hidden;
+	font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif;
+	font-size: 16px;
+	line-height: 1.6 !important;
+	word-wrap: break-word;
+
+	&.file-view {
+		padding: 5px 2em 2em !important;
+	}
+
+	>*:first-child {
+		margin-top: 0 !important;
+	}
+
+	>*:last-child {
+		margin-bottom: 0 !important;
+	}
+
+	a:not([href]) {
+		color: inherit;
+		text-decoration: none;
+	}
+
+	.absent {
+		color: #c00;
+	}
+
+	.anchor {
+		position: absolute;
+		top: 0;
+		left: 0;
+		display: block;
+		padding-right: 6px;
+		padding-left: 30px;
+		margin-left: -30px;
+	}
+
+	.anchor:focus {
+		outline: none;
+	}
+
+	h1,
+	h2,
+	h3,
+	h4,
+	h5,
+	h6 {
+		position: relative;
+		margin-top: 1em;
+		margin-bottom: 16px;
+		font-weight: bold;
+		line-height: 1.4;
+	}
+
+	h1 .octicon-link,
+	h2 .octicon-link,
+	h3 .octicon-link,
+	h4 .octicon-link,
+	h5 .octicon-link,
+	h6 .octicon-link {
+		display:none;
+		color:#000;
+		vertical-align:middle;
+	}
+
+	h1:hover .anchor,
+	h2:hover .anchor,
+	h3:hover .anchor,
+	h4:hover .anchor,
+	h5:hover .anchor,
+	h6:hover .anchor {
+		padding-left:8px;
+		margin-left:-30px;
+		text-decoration:none;
+	}
+
+	h1:hover .anchor .octicon-link,
+	h2:hover .anchor .octicon-link,
+	h3:hover .anchor .octicon-link,
+	h4:hover .anchor .octicon-link,
+	h5:hover .anchor .octicon-link,
+	h6:hover .anchor .octicon-link {
+		display:inline-block;
+	}
+
+	h1 tt,
+	h1 code,
+	h2 tt,
+	h2 code,
+	h3 tt,
+	h3 code,
+	h4 tt,
+	h4 code,
+	h5 tt,
+	h5 code,
+	h6 tt,
+	h6 code {
+		font-size:inherit;
+	}
+
+	h1 {
+		padding-bottom:0.3em;
+		font-size:2.25em;
+		line-height:1.2;
+		border-bottom:1px solid #eee;
+	}
+
+	h1 .anchor {
+		line-height:1;
+	}
+
+	h2 {
+		padding-bottom:0.3em;
+		font-size:1.75em;
+		line-height:1.225;
+		border-bottom:1px solid #eee;
+	}
+
+	h2 .anchor {
+		line-height:1;
+	}
+
+	h3 {
+		font-size:1.5em;
+		line-height:1.43;
+	}
+
+	h3 .anchor {
+		line-height:1.2;
+	}
+
+	h4 {
+		font-size:1.25em;
+	}
+
+	h4 .anchor {
+		line-height:1.2;
+	}
+
+	h5 {
+		font-size:1em;
+	}
+
+	h5 .anchor {
+		line-height:1.1;
+	}
+
+	h6 {
+		font-size:1em;color:#777;
+	}
+
+	h6 .anchor {
+		line-height:1.1;
+	}
+
+	p,
+	blockquote,
+	ul,
+	ol,
+	dl,
+	table,
+	pre {
+		margin-top: 0;
+		margin-bottom: 16px;
+	}
+	blockquote {
+		margin-left: 0;
+	}
+
+	hr {
+		height:4px;
+		padding:0;
+		margin:16px 0;
+		background-color:#e7e7e7;
+		border:0 none;
+	}
+
+	ul,
+	ol {
+		padding-left:2em;
+	}
+
+	ul.no-list,
+	ol.no-list {
+		padding:0;
+		list-style-type:none;
+	}
+
+	ul ul,
+	ul ol,
+	ol ol,
+	ol ul {
+		margin-top:0;
+		margin-bottom:0;
+	}
+
+	ol ol,
+	ul ol {
+		list-style-type: lower-roman;
+	}
+
+	li>p {
+		margin-top:16px;
+	}
+
+	dl {
+		padding:0;
+	}
+
+	dl dt {
+		padding:0;
+		margin-top:16px;
+		font-size:1em;
+		font-style:italic;
+		font-weight:bold;
+	}
+
+	dl dd {
+		padding:0 16px;
+		margin-bottom:16px;
+	}
+
+	blockquote {
+		padding:0 15px;
+		color:#777;
+		border-left:4px solid #ddd;
+	}
+
+	blockquote>:first-child {
+		margin-top:0;
+	}
+
+	blockquote>:last-child {
+		margin-bottom:0;
+	}
+
+	table {
+		display:block;
+		width:100%;
+		overflow:auto;
+		word-break:normal;
+		word-break:keep-all;
+	}
+
+	table th {
+		font-weight:bold;
+	}
+
+	table th,
+	table td {
+		padding:6px 13px !important;
+		border:1px solid #ddd;
+	}
+
+	table tr {
+		background-color:#fff;
+		border-top:1px solid #ccc;
+	}
+
+	table tr:nth-child(2n) {
+		background-color:#f8f8f8;
+	}
+
+	img {
+		max-width:100%;
+		box-sizing:border-box;
+	}
+
+	.emoji {
+		max-width:none;
+	}
+
+	span.frame {
+		display:block;
+		overflow:hidden;
+	}
+
+	span.frame>span {
+		display:block;
+		float:left;
+		width:auto;
+		padding:7px;
+		margin:13px 0 0;
+		overflow:hidden;
+		border:1px solid #ddd;
+	}
+
+	span.frame span img {
+		display:block;
+		float:left;
+	}
+
+	span.frame span span {
+		display:block;
+		padding:5px 0 0;
+		clear:both;
+		color:#333;
+	}
+
+	span.align-center {
+		display:block;
+		overflow:hidden;
+		clear:both;
+	}
+
+	span.align-center>span {
+		display:block;
+		margin:13px auto 0;
+		overflow:hidden;
+		text-align:center;
+	}
+
+	span.align-center span img {
+		margin:0 auto;
+		text-align:center;
+	}
+
+	span.align-right {
+		display:block;
+		overflow:hidden;
+		clear:both;
+	}
+
+	span.align-right>span {
+		display:block;
+		margin:13px 0 0;
+		overflow:hidden;
+		text-align:right;
+	}
+
+	span.align-right span img {
+		margin:0;
+		text-align:right;
+	}
+
+	span.float-left {
+		display:block;
+		float:left;
+		margin-right:13px;
+		overflow:hidden;
+	}
+
+	span.float-left span {
+		margin:13px 0 0;
+	}
+
+	span.float-right {
+		display:block;
+		float:right;
+		margin-left:13px;
+		overflow:hidden;
+	}
+
+	span.float-right>span {
+		display:block;
+		margin:13px auto 0;
+		overflow:hidden;
+		text-align:right;
+	}
+
+	code,
+	tt {
+		padding:0;
+		padding-top:0.2em;
+		padding-bottom:0.2em;
+		margin:0;
+		font-size:85%;
+		background-color:rgba(0,0,0,0.04);
+		border-radius:3px;
+	}
+
+	code:before,
+	code:after,
+	tt:before,
+	tt:after {
+		letter-spacing:-0.2em;
+		content:"\00a0";
+	}
+
+	code br,
+	tt br {
+		display:none;
+	}
+
+	del code {
+		text-decoration:inherit;
+	}
+
+	pre>code {
+		padding:0;
+		margin:0;
+		font-size:100%;
+		word-break:normal;
+		white-space:pre;
+		background:transparent;
+		border:0;
+	}
+
+	.highlight {
+		margin-bottom:16px;
+	}
+
+	.highlight pre,
+	pre {
+		padding:16px;
+		overflow:auto;
+		font-size:85%;
+		line-height:1.45;
+		background-color:#f7f7f7;
+		border-radius:3px;
+	}
+
+	.highlight pre {
+		margin-bottom:0;
+		word-break:normal;
+	}
+
+	pre {
+		word-wrap:normal;
+	}
+
+	pre code,
+	pre tt {
+		display:inline;
+		max-width:initial;
+		padding:0;
+		margin:0;
+		overflow:initial;
+		line-height:inherit;
+		word-wrap:normal;
+		background-color:transparent;
+		border:0;
+	}
+
+	pre code:before,
+	pre code:after,
+	pre tt:before,
+	pre tt:after {
+		content:normal;
+	}
+
+	kbd {
+		display:inline-block;
+		padding:3px 5px;
+		font-size:11px;
+		line-height:10px;
+		color:#555;
+		vertical-align:middle;
+		background-color:#fcfcfc;
+		border:solid 1px #ccc;
+		border-bottom-color:#bbb;
+		border-radius:3px;
+		box-shadow:inset 0 -1px 0 #bbb;
+	}
+
+	.csv-data td,
+	.csv-data th {
+		padding:5px;
+		overflow:hidden;
+		font-size:12px;
+		line-height:1;
+		text-align:left;
+		white-space:nowrap;
+	}
+
+	.csv-data .blob-num {
+		padding:10px 8px 9px;
+		text-align:right;
+		background:#fff;border:0;
+	}
+
+	.csv-data tr {
+		border-top:0;
+	}
+
+	.csv-data th {
+		font-weight:bold;
+		background:#f8f8f8;border-top:0;
+	}
+}
diff --git a/public/less/_organization.less b/public/less/_organization.less
index 3fa54b6eb3be..4ad3b1dad027 100644
--- a/public/less/_organization.less
+++ b/public/less/_organization.less
@@ -92,7 +92,7 @@
 			}
 			.ui.button {
 				margin-left: 5px;
-		    margin-top: -3px;
+				margin-top: -3px;
 			}
 		}
 	}
@@ -154,4 +154,4 @@
 			}
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/public/less/_repository.less b/public/less/_repository.less
index 0490bfa0af3d..06ce6414aa97 100644
--- a/public/less/_repository.less
+++ b/public/less/_repository.less
@@ -47,7 +47,7 @@
 	.metas {
 		.menu {
 			max-height: 300px;
-	    overflow-x: auto;
+			overflow-x: auto;
 		}
 		.ui.list {
 			.hide {
@@ -82,13 +82,13 @@
 		.menu {
 			max-height: 300px;
 			overflow-x: auto;
-		  right: 0!important;
-  		left: auto!important;
-	 	}
-	 	.dropdown.item {
-	 		margin: 1px;
-	 		padding-right: 0;
-	 	}
+			right: 0!important;
+			left: auto!important;
+		}
+		.dropdown.item {
+			margin: 1px;
+			padding-right: 0;
+		}
 	}
 
 	.ui.tabs {
@@ -110,15 +110,15 @@
 		width: 100%;
 
 		input {
-	    border-radius: 0;
-	    padding: 5px 10px;
+			border-radius: 0;
+			padding: 5px 10px;
 		}
 
 		.clone.button {
 			font-size: 13px;
 			padding: 0 5px;
 			&:first-child {
-		    border-radius: .28571429rem 0 0 .28571429rem;
+				border-radius: .28571429rem 0 0 .28571429rem;
 			}
 		}
 		.icon.button {
@@ -168,7 +168,7 @@
 				padding-bottom: 8px;
 			}
 			tr:hover {
-		    background-color: #ffffEE;
+				background-color: #ffffEE;
 			}
 		}
 
@@ -176,7 +176,7 @@
 			.header {
 				.icon {
 					font-size: 1em;
-			    margin-top: -2px;
+					margin-top: -2px;
 				}
 			}
 			.view-raw {
@@ -199,26 +199,26 @@
 					width: 100%;
 				}
 				.lines-num {
-			    vertical-align: top;
-			    text-align: right;
-			    color: #999;
-			    background: #f5f5f5;
-			    width: 1%;
+					vertical-align: top;
+					text-align: right;
+					color: #999;
+					background: #f5f5f5;
+					width: 1%;
 
-			    span {
-		        font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
-		        line-height: 20px;
-		        padding: 0 10px;
-		        cursor: pointer;
-		        display: block;
-			    }
+					span {
+						font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
+						line-height: 20px;
+						padding: 0 10px;
+						cursor: pointer;
+						display: block;
+					}
 				}
 				.lines-num,
 				.lines-code {
 					padding: 0;
 
 
-					pre, 
+					pre,
 					ol,
 					.hljs {
 						background-color: white;
@@ -227,7 +227,7 @@
 						li {
 							padding-left: 5px;
 							&.active {
-						    background: #ffffdd;
+								background: #ffffdd;
 							}
 						}
 					}
@@ -243,7 +243,7 @@
 			}
 		}
 	}
-	
+
 	&.options {
 		#interval {
 			width: 100px!important;
@@ -291,12 +291,12 @@
 				font-size: 3rem;
 				margin-bottom: 5px;
 				.ui.input	{
-					font-size: 0.5em;    
+					font-size: 0.5em;
 					vertical-align: top;
 					width: 50%;
 					min-width: 600px;
 					input {
-						font-size: 1.5em; 
+						font-size: 1.5em;
 						padding: 6px 10px;
 					}
 				}
@@ -310,7 +310,7 @@
 				margin-right: 10px;
 			}
 			.edit-zone {
-		    margin-top: 10px;
+				margin-top: 10px;
 			}
 		}
 		.pull-desc {
@@ -327,10 +327,10 @@
 			}
 			&.tab.segment {
 				border: none;
-		    padding: 0;
-		    padding-top: 10px;
-		    box-shadow: none;
-		    background-color: inherit;
+				padding: 0;
+				padding-top: 10px;
+				box-shadow: none;
+				background-color: inherit;
 			}
 			.merge.box {
 				.avatar {
@@ -345,7 +345,7 @@
 				content: "";
 				position: absolute;
 				margin-top: 12px;
-    		margin-bottom: 14px;
+				margin-bottom: 14px;
 				top: 0;
 				bottom: 0;
 				left: 96px;
@@ -357,13 +357,13 @@
 				.avatar {
 					width: @comment-avatar-width;
 				}
-				.tag {    
+				.tag {
 					color: #767676;
 					margin-top: 3px;
-			    padding: 2px 5px;
-			    font-size: 12px;
-			    border: 1px solid rgba(0,0,0,0.1);
-			    border-radius: 3px;
+					padding: 2px 5px;
+					font-size: 12px;
+					border: 1px solid rgba(0,0,0,0.1);
+					border-radius: 3px;
 				}
 				.actions {
 					.item {
@@ -386,8 +386,8 @@
 						border-top-right-radius: 3px;
 						.text {
 							max-width: 78%;
-					    padding-top: 10px;
-					    padding-bottom: 10px;
+							padding-top: 10px;
+							padding-bottom: 10px;
 						}
 					}
 					.markdown {
@@ -411,8 +411,8 @@
 					}
 					.tab.segment {
 						border: none;
-				    padding: 0;
-				    padding-top: 10px;
+						padding: 0;
+						padding-top: 10px;
 					}
 					textarea {
 						height: 200px;
@@ -425,41 +425,41 @@
 			}
 			.event {
 				position: relative;
-		    margin: 15px 0 15px 79px;
-		    padding-left: 25px;
-		    .octicon {
-		    	width: 30px;
-		    	float: left;
-		    	margin-left: -36px;
-		    	text-align: center;
-		    	&.octicon-circle-slash {
-		    		margin-top: 5px;
-		    		font-size: 20px;
-		    		color: #bd2c00;
-		    	}
-		    	&.octicon-primitive-dot {
-		    		font-size: 30px;
-		    		color: #6cc644;
-		    	}
-		    	&.octicon-bookmark {
-		    		margin-top: 3px;
-		    		font-size: 25px;
-		    	}
-		    }
-		    .detail {
-		    	font-size: 0.9rem;
-		    	margin-top: 5px;
-		    	margin-left: 35px;
-		    	.octicon {
-		    		&.octicon-git-commit {
-		    			margin-top: 2px;
-		    		}
-		    	}
-		    }
+				margin: 15px 0 15px 79px;
+				padding-left: 25px;
+				.octicon {
+					width: 30px;
+					float: left;
+					margin-left: -36px;
+					text-align: center;
+					&.octicon-circle-slash {
+						margin-top: 5px;
+						font-size: 20px;
+						color: #bd2c00;
+					}
+					&.octicon-primitive-dot {
+						font-size: 30px;
+						color: #6cc644;
+					}
+					&.octicon-bookmark {
+						margin-top: 3px;
+						font-size: 25px;
+					}
+				}
+				.detail {
+					font-size: 0.9rem;
+					margin-top: 5px;
+					margin-left: 35px;
+					.octicon {
+						&.octicon-git-commit {
+							margin-top: 2px;
+						}
+					}
+				}
 			}
 		}
 		.ui.segment.metas {
-	    margin-top: -3px;
+			margin-top: -3px;
 		}
 	}
 	.comment.form {
@@ -473,8 +473,8 @@
 			}
 			.tab.segment {
 				border: none;
-		    padding: 0;
-		    padding-top: 10px;
+				padding: 0;
+				padding-top: 10px;
 			}
 			textarea {
 				height: 200px;
@@ -595,7 +595,7 @@
 			}
 			.sha {
 				font-size: 13px;
-		    padding: 6px 40px 4px 35px;
+				padding: 6px 40px 4px 35px;
 			}
 		}
 		&.ui.basic.striped.table tbody tr:nth-child(2n) {
@@ -604,143 +604,143 @@
 	}
 
 	.diff-detail-box {
-    margin: 15px 0;
-    line-height: 30px;
-    ol {
-      clear: both;
-      padding-left: 0;
-      margin-top: 5px;
-      margin-bottom: 28px;
-      li {
-        list-style: none;
-        padding-bottom: 4px;
-        margin-bottom: 4px;
-        border-bottom: 1px dashed #DDD;
-        padding-left: 6px;
-      }
-    }
-    span.status{
-      display: inline-block;
-      width: 12px;
-      height: 12px;
-      margin-right: 8px;
-      vertical-align: middle;
-      &.modify {
-        background-color: #f0db88;
-      }
-      &.add {
-        background-color: #b4e2b4;
-      }
-      &.del {
-        background-color: #e9aeae;
-      }
-      &.rename {
-        background-color: #dad8ff;
-      }
-    }
+		margin: 15px 0;
+		line-height: 30px;
+		ol {
+			clear: both;
+			padding-left: 0;
+			margin-top: 5px;
+			margin-bottom: 28px;
+			li {
+				list-style: none;
+				padding-bottom: 4px;
+				margin-bottom: 4px;
+				border-bottom: 1px dashed #DDD;
+				padding-left: 6px;
+			}
+		}
+		span.status{
+			display: inline-block;
+			width: 12px;
+			height: 12px;
+			margin-right: 8px;
+			vertical-align: middle;
+			&.modify {
+				background-color: #f0db88;
+			}
+			&.add {
+				background-color: #b4e2b4;
+			}
+			&.del {
+				background-color: #e9aeae;
+			}
+			&.rename {
+				background-color: #dad8ff;
+			}
+		}
 	}
 	.diff-box {
-    .count {
-      margin-right: 12px;
-      .bar {
-        background-color: #e75316;
-        height: 12px;
-        width: 40px;
-        display: inline-block;
-        margin: 2px 4px 0 4px;
-        vertical-align: text-top;
-        .add {
-          background-color: #77c64a;
-          height: 12px;
-        }
-      }
-    }
-    .file {
-      color: #888;
-    }
+		.count {
+			margin-right: 12px;
+			.bar {
+				background-color: #e75316;
+				height: 12px;
+				width: 40px;
+				display: inline-block;
+				margin: 2px 4px 0 4px;
+				vertical-align: text-top;
+				.add {
+					background-color: #77c64a;
+					height: 12px;
+				}
+			}
+		}
+		.file {
+			color: #888;
+		}
 	}
 	.diff-file-box {
 		.header {
 			border-bottom: 1px solid #d4d4d5!important;
 		}
-    .file-body.file-code {
-      .lines-num {
-        text-align: right;
-        color: #999;
-        background: #fafafa;
-        width: 1%;
-      }
-      .lines-num-old {
-        border-right: 1px solid #DDD;
-      }
-    }
-    .code-diff {
-    	font-size: 13px;
-    	
-    	td {
-    		padding: 0;
-    		border-top: none;
-    	}
-    	pre {
-    		margin: 0;
-	    	font-size: 13px;
-    	}
-    	.lines-num {
-    		border-right: 1px solid #d4d4d5;
-    		padding: 0 5px;
-    	}
-      tbody {
-        tr {
-          &.tag-code {
-            td, pre {
-              background-color: #E0E0E0 !important;
-              border-color: #ADADAD!important;
-            }
-            // td.selected-line, td.selected-line pre {
-            //   background-color: #ffffdd !important;
-            // }
-          }
-          // &.same-code {
-          //   td.selected-line, td.selected-line pre {
-          //     background-color: #ffffdd !important;
-          //   }
-          // }
-          &.del-code {
-            td, pre {
-              background-color: #ffe2dd !important;
-              border-color: #e9aeae !important;
-            }
-            // td.selected-line, td.selected-line pre {
-            //   background-color: #ffffdd !important;
-            // }
-          }
-          &.add-code {
-            td, pre { 
-              background-color: #d1ffd6 !important;
-              border-color: #b4e2b4 !important;
-            }
-            // td.selected-line, td.selected-line pre {
-            //   background-color: #ffffdd !important;
-            // }
-          }
-          &:hover {
-            td {
-              background-color: #FFF8D2 !important;
-              border-color: #F0DB88 !important;   
-            }
-            pre {
-              background-color: transparent !important;
-            }
-          }
-        }
-      }
-    }
-    &.file-content {
-    	img {
-    		max-width: 100%;
-    		padding: 5px 5px 0 5px;
-    	}
-    }
+		.file-body.file-code {
+			.lines-num {
+				text-align: right;
+				color: #999;
+				background: #fafafa;
+				width: 1%;
+			}
+			.lines-num-old {
+				border-right: 1px solid #DDD;
+			}
+		}
+		.code-diff {
+			font-size: 13px;
+
+			td {
+				padding: 0;
+				border-top: none;
+			}
+			pre {
+				margin: 0;
+				font-size: 13px;
+			}
+			.lines-num {
+				border-right: 1px solid #d4d4d5;
+				padding: 0 5px;
+			}
+			tbody {
+				tr {
+					&.tag-code {
+						td, pre {
+							background-color: #E0E0E0 !important;
+							border-color: #ADADAD!important;
+						}
+						// td.selected-line, td.selected-line pre {
+						// 	background-color: #ffffdd !important;
+						// }
+					}
+					// &.same-code {
+					// 	td.selected-line, td.selected-line pre {
+					// 		background-color: #ffffdd !important;
+					// 	}
+					// }
+					&.del-code {
+						td, pre {
+							background-color: #ffe2dd !important;
+							border-color: #e9aeae !important;
+						}
+						// td.selected-line, td.selected-line pre {
+						// 	background-color: #ffffdd !important;
+						// }
+					}
+					&.add-code {
+						td, pre {
+							background-color: #d1ffd6 !important;
+							border-color: #b4e2b4 !important;
+						}
+						// td.selected-line, td.selected-line pre {
+						// 	background-color: #ffffdd !important;
+						// }
+					}
+					&:hover {
+						td {
+							background-color: #FFF8D2 !important;
+							border-color: #F0DB88 !important;
+						}
+						pre {
+							background-color: transparent !important;
+						}
+					}
+				}
+			}
+		}
+		&.file-content {
+			img {
+				max-width: 100%;
+				padding: 5px 5px 0 5px;
+			}
+		}
 	}
 	.code-view {
 		overflow: auto;
@@ -759,7 +759,7 @@
 			.clone.button:first-child {
 				border-radius: .28571429rem 0 0 .28571429rem;
 			}
-			.ui.action.small.input { 
+			.ui.action.small.input {
 				width: 100%;
 			}
 			#repo-clone-url {
@@ -822,23 +822,23 @@
 							li {
 								list-style: none;
 								display: block;
-						    padding-top: 8px;
-						    padding-bottom: 8px;
+								padding-top: 8px;
+								padding-bottom: 8px;
 								border-bottom: 1px solid #eee;
 							}
 						}
 					}
 					.dot {
-				    width: 9px;
-				    height: 9px;
-				    background-color: #ccc;
-				    z-index: 999;
-				    position: absolute;
-				    display: block;
-				    left: -5px;
-				    top: 40px;
-				    border-radius: 6px;
-				    border: 1px solid #FFF;
+						width: 9px;
+						height: 9px;
+						background-color: #ccc;
+						z-index: 999;
+						position: absolute;
+						display: block;
+						left: -5px;
+						top: 40px;
+						border-radius: 6px;
+						border: 1px solid #FFF;
 					}
 				}
 			}
@@ -847,7 +847,7 @@
 	&.new.release {
 		.target {
 			min-width: 500px;
-			
+
 			.at {
 				margin-left: -5px;
 				margin-right: 5px;
@@ -858,7 +858,7 @@
 			}
 			.selection.dropdown {
 				padding-top: 10px;
-		    padding-bottom: 10px;
+				padding-bottom: 10px;
 			}
 		}
 		.prerelease.field {
@@ -874,15 +874,15 @@
 				list-style: none;
 				width: 32%;
 				margin: 10px 10px 10px 0;
-		    padding-bottom: 14px;
-		    float: left;
+				padding-bottom: 14px;
+				float: left;
 
 				.avatar {
 					width: 48px;
 					height: 48px;
 					float: left;
-			    display: block;
-			    margin-right: 10px;
+					display: block;
+					margin-right: 10px;
 				}
 				.name {
 					margin-top: 0;
@@ -948,13 +948,13 @@
 				text-transform: none;
 			}
 			.markdown {
-		    padding: 15px 30px;
+				padding: 15px 30px;
 
-		    h1, h2, h3, h4, h5, h6 {
-		    	&:first-of-type {
-		    		margin-top: 0;
-		    	}
-		    }
+				h1, h2, h3, h4, h5, h6 {
+					&:first-of-type {
+						margin-top: 0;
+					}
+				}
 			}
 		}
 	}
@@ -981,7 +981,7 @@
 				}
 				.ui.button {
 					margin-left: 5px;
-			    margin-top: -3px;
+					margin-top: -3px;
 				}
 			}
 		}
@@ -1002,7 +1002,7 @@
 
 			&:hover {
 				background: rgba(0,0,0,.05)!important;
-		    color: rgba(0,0,0,.95)!important;
+				color: rgba(0,0,0,.95)!important;
 			}
 			img {
 				margin-right: 8px;
@@ -1055,7 +1055,7 @@
 
 .ui.comments {
 	.dropzone {
-		width: 100%; 
+		width: 100%;
 		margin-bottom: 10px;
 		border: 2px dashed #0087F7;
 		box-shadow: none!important;
@@ -1081,10 +1081,10 @@
 			float: left;
 			color: gray;
 			padding-left: 10px;
-	    padding-top: 10px;
-	    &.active {
-	    	color: #6cc644;
-	    }
+			padding-top: 10px;
+			&.active {
+				color: #6cc644;
+			}
 		}
 		.meta {
 			padding-top: 5px;
@@ -1129,19 +1129,19 @@
 				}
 				.tab.segment {
 					border: none;
-			    padding: 0;
-			    padding-top: 10px;
-			    box-shadow: none;
-			    > * {
-			    	color: #666;
-			    }
-			    pre {
+					padding: 0;
+					padding-top: 10px;
+					box-shadow: none;
+					> * {
+						color: #666;
+					}
+					pre {
 						word-wrap: break-word;
 						.hljs {
 							padding: 0;
 							background-color: inherit;
 						}
-			    }
+					}
 				}
 			}
 		}
@@ -1198,4 +1198,4 @@
 	.ui.message {
 		width: 100%!important;
 	}
-}
\ No newline at end of file
+}
diff --git a/public/less/_user.less b/public/less/_user.less
index 171fccd08203..3aa8e3b5be5d 100644
--- a/public/less/_user.less
+++ b/public/less/_user.less
@@ -47,4 +47,4 @@
 			margin-top: 25px;
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/public/less/gogs.less b/public/less/gogs.less
index d690e3aee491..8aa408082ab3 100644
--- a/public/less/gogs.less
+++ b/public/less/gogs.less
@@ -10,4 +10,4 @@
 @import "_user";
 @import "_dashboard";
 @import "_admin";
-@import "_explore";
\ No newline at end of file
+@import "_explore";