diff --git a/Makefile b/Makefile
index c052ebbb0..a4ca20e08 100644
--- a/Makefile
+++ b/Makefile
@@ -55,6 +55,9 @@ else
endif
endif
+# $(call strip-suffix,filename)
+strip-suffix = $(firstword $(subst ., ,$(1)))
+
.PHONY: all
all: build
@@ -301,7 +304,7 @@ public/js/index.js: $(JAVASCRIPTS)
.PHONY: stylesheets-check
stylesheets-check: generate-stylesheets
- @diff=$$(git diff public/css/index.css); \
+ @diff=$$(git diff public/css/*); \
if [ -n "$$diff" ]; then \
echo "Please run 'make generate-stylesheets' and commit the result:"; \
echo "$${diff}"; \
@@ -311,6 +314,7 @@ stylesheets-check: generate-stylesheets
.PHONY: generate-stylesheets
generate-stylesheets:
node_modules/.bin/lessc --clean-css public/less/index.less public/css/index.css
+ $(foreach file, $(filter-out public/less/themes/_base.less, $(wildcard public/less/themes/*)),node_modules/.bin/lessc --clean-css public/less/themes/$(notdir $(file)) > public/css/theme-$(notdir $(call strip-suffix,$(file))).css;)
.PHONY: swagger-ui
swagger-ui:
diff --git a/custom/conf/app.ini.sample b/custom/conf/app.ini.sample
index ef88e5c32..308c592d1 100644
--- a/custom/conf/app.ini.sample
+++ b/custom/conf/app.ini.sample
@@ -75,6 +75,8 @@ THEME_COLOR_META_TAG = `#6cc644`
MAX_DISPLAY_FILE_SIZE = 8388608
; Whether the email of the user should be shown in the Explore Users page
SHOW_USER_EMAIL = true
+; Set the default theme for the Gitea install
+DEFAULT_THEME = default
[ui.admin]
; Number of users that are displayed on one page
diff --git a/docs/content/doc/advanced/config-cheat-sheet.en-us.md b/docs/content/doc/advanced/config-cheat-sheet.en-us.md
index 3f8ebea61..86a4c770f 100644
--- a/docs/content/doc/advanced/config-cheat-sheet.en-us.md
+++ b/docs/content/doc/advanced/config-cheat-sheet.en-us.md
@@ -68,6 +68,7 @@ Values containing `#` or `;` must be quoted using `` ` `` or `"""`.
- `EXPLORE_PAGING_NUM`: **20**: Number of repositories that are shown in one explore page.
- `ISSUE_PAGING_NUM`: **10**: Number of issues that are shown in one page (for all pages that list issues).
- `FEED_MAX_COMMIT_NUM`: **5**: Number of maximum commits shown in one activity feed.
+- `DEFAULT_THEME`: **default**: Set the default theme for the Gitea install.
### UI - Admin (`ui.admin`)
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index cf9f59853..510ead8c1 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -274,6 +274,7 @@ var (
ThemeColorMetaTag string
MaxDisplayFileSize int64
ShowUserEmail bool
+ DefaultTheme string
Admin struct {
UserPagingNum int
@@ -297,6 +298,7 @@ var (
ReactionMaxUserNum: 10,
ThemeColorMetaTag: `#6cc644`,
MaxDisplayFileSize: 8388608,
+ DefaultTheme: `default`,
Admin: struct {
UserPagingNum int
RepoPagingNum int
diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index bf5c0130b..42a0d6825 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -186,6 +186,9 @@ func NewFuncMap() []template.FuncMap {
"ParseDeadline": func(deadline string) []string {
return strings.Split(deadline, "|")
},
+ "DefaultTheme": func() string {
+ return setting.UI.DefaultTheme
+ },
}}
}
diff --git a/public/css/theme-dark.css b/public/css/theme-dark.css
new file mode 100644
index 000000000..a901c0809
--- /dev/null
+++ b/public/css/theme-dark.css
@@ -0,0 +1 @@
+.hljs{display:block;overflow-x:auto;padding:.5em;background-color:#2b2b2b!important;color:#bababa}.repository.file.list .non-diff-file-content .code-view .lines-code ol,.repository.file.list .non-diff-file-content .code-view .lines-num{background-color:#2b2b2b!important}.hljs-emphasis,.hljs-strong{color:#a8a8a2}.hljs-bullet,.hljs-link,.hljs-literal,.hljs-number,.hljs-quote,.hljs-regexp{color:#6896ba}.hljs-code,.hljs-selector-class{color:#a6e22e}.hljs-emphasis{font-style:italic}.hljs-attribute,.hljs-keyword,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-variable{color:#cb7832}.hljs-params{color:#b9b9b9}.hljs-string{color:#6a8759}.hljs-addition,.hljs-built_in,.hljs-builtin-name,.hljs-selector-attr,.hljs-selector-id,.hljs-selector-pseudo,.hljs-subst,.hljs-symbol,.hljs-template-tag,.hljs-template-variable,.hljs-type{color:#e0c46c}.hljs-comment,.hljs-deletion,.hljs-meta{color:#7f7f7f}.repository .ui.segment.sub-menu .list .item a{color:#dbdbdb}.ui.horizontal.segments>.segment{background-color:#383c4a}body{background:#383c4a;color:#9e9e9e}a{color:#87ab63}a:hover{color:#a0cc75}.ui.card>.extra a:not(.ui):hover,.ui.cards>.card>.extra a:not(.ui):hover{color:#a0cc75}.ui.breadcrumb a:hover{color:#a0cc75}.ui.breadcrumb a{color:#87ab63}.repository .metas .ui.list a .text{color:#87ab63}.repository .metas .ui.list a .text:hover{color:#a0cc75}.repository .label.list .item a{color:#87ab63}.repository .label.list .item a:hover{color:#a0cc75}.repository .milestone.list>.item>a{color:#87ab63}.repository .milestone.list>.item>a:hover{color:#a0cc75}.repository.release #release-list{border-top:1px solid #4c505c}.repository .milestone.list>.item .operate>a{color:#87ab63}.repository .milestone.list>.item .operate>a:hover{color:#a0cc75}.ui.green.progress .bar{background-color:#684}.ui.progress.success .bar{background-color:#7b9e57!important}.following.bar.light{background:#2e323e}.ui.secondary.menu .active.item{color:#dbdbdb}.ui.secondary.menu .item{color:#9e9e9e}.following.bar .top.menu a.item:hover{color:#fff}.repository.view.issue .comment-list .comment .content>.bottom.segment a{border:solid 1px #353945;background-color:#353945}.following.bar.light{border-bottom:1px solid #313131}.ui.attached.header{background:#404552;border:1px solid #404552;color:#dbdbdb}.ui.attached.table{border:1px solid #304251;background:#304251}.feeds .list ul li:not(:last-child){border-bottom:1px solid #333640}.feeds .list ul li.private{background:#353945;border:1px solid #333640}.ui.secondary.menu .dropdown.item:hover,.ui.secondary.menu .link.item:hover,.ui.secondary.menu a.item:hover{color:#fff}.ui.menu .ui.dropdown .menu>.item{background:#2c303a!important;color:#9e9e9e!important}.ui.secondary.menu .dropdown.item>.menu,.ui.text.menu .dropdown.item>.menu{border:1px solid #434444}footer{background:#2e323e;border-top:1px solid #313131}.ui.menu .dropdown.item .menu{background:#2c303a}.ui.menu .ui.dropdown .menu>.item:hover,.ui.menu .ui.dropdown .menu>.selected.item{color:#fff!important}.ui.dropdown .menu>.header{color:#dbdbdb}.ui.red.label,.ui.red.labels .label{background-color:#7d3434!important;border-color:#8a2121!important}.ui.menu{background:#404552;border:1px solid #353945}.ui.menu .active.item:hover,.ui.vertical.menu .active.item:hover{color:#dbdbdb;background:#4B5162}.ui.link.menu .item:hover,.ui.menu .dropdown.item:hover,.ui.menu .link.item:hover,.ui.menu a.item:hover{color:#dbdbdb;background:#454b5a}.ui.menu .active.item{background:#4B5162;color:#dbdbdb}.ui.input input{background:#404552;border:2px solid #353945;color:#dbdbdb}.ui.input input:focus,.ui.input.focus input{background:#404552;border:2px solid #353945;color:#dbdbdb}.ui.label{color:#dbdbdb;background-color:#404552}.issue.list>.item .title{color:#87ab63}.issue.list>.item .title:hover{color:#a0cc75}.issue.list>.item{border-bottom:1px dashed #475767}.ui.green.label,.ui.green.labels .label{background-color:#2d693b!important;border-color:#2d693b!important}.issue.list>.item .comment{color:#129c92}.ui.basic.button,.ui.basic.buttons .button{color:#797979!important}.ui.basic.red.active.button,.ui.basic.red.buttons .active.button{box-shadow:0 0 0 1px #c75252 inset!important;color:#c75252!important}.ui.basic.button:focus,.ui.basic.button:hover,.ui.basic.buttons .button:focus,.ui.basic.buttons .button:hover{background:0 0!important;color:#dbdbdb!important}.ui.menu .item{background:#404552;color:#9e9e9e}.ui.menu .item.disabled,.ui.menu .item.disabled:hover{color:#626773}.ui.pagination.menu .active.item{color:#dbdbdb;background-color:#609926}.repository .header-wrapper{background-color:#2a2e3a}.ui.tabular.menu .active.item{background:#383c4a;color:#dbdbdb;border-left:1px solid transparent;border-right:1px solid transparent;border-top:none}.ui.tabular.menu .item{color:#9e9e9e}.ui.tabular.menu .item:hover{color:#dbdbdb}.ui.breadcrumb .divider,.ui.header{color:#9e9e9e}.ui.blue.label,.ui.blue.labels .label{background-color:#26577b!important;border-color:#26577b!important}.ui.menu .item>.label{background:#565454}.ui.blue.button,.ui.blue.buttons .button{background-color:#609926}.ui.blue.button:hover,.ui.blue.buttons .button:hover{background-color:#73ad36}.ui.form input:not([type]),.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=email],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=text],.ui.form input[type=time],.ui.form input[type=url]{background:#404552;border:2px solid #353945}.ui.form input:not([type]):focus,.ui.form input[type=date]:focus,.ui.form input[type=datetime-local]:focus,.ui.form input[type=email]:focus,.ui.form input[type=number]:focus,.ui.form input[type=password]:focus,.ui.form input[type=search]:focus,.ui.form input[type=tel]:focus,.ui.form input[type=text]:focus,.ui.form input[type=time]:focus,.ui.form input[type=url]:focus{background:#404552;border:2px solid #4b505f;color:#dbdbdb}.ui.action.input:not([class*="left action"]) input:focus{border-right-color:#4b505f!important}.ui.green.button,.ui.green.buttons .button{background-color:#609926}.ui.green.button:hover,.ui.green.buttons .button:hover{background-color:#73ad36}.ui.button{background:#383c4a;border:1px solid #4c505c;color:#dbdbdb}.ui.labeled.button:not([class*="left labeled"])>.label,.ui[class*="left labeled"].button>.button{background:#404552;border:1px solid #4c505c;color:#87ab63}.ui.button:hover{background-color:#404552;color:#dbdbdb}.ui.table thead th{background:#404552;color:#dbdbdb}.repository.file.list #repo-files-table tr:hover{background-color:#393d4a}.ui.table{color:#a5a5a5!important;border:1px solid #4c505c;background:#353945}.ui.table tbody tr{border-bottom:1px solid #333640;background:#2a2e3a}.ui .text.grey{color:#808084!important}.ui.attached.table.segment{background:#353945;color:#dbdbdb!important}.markdown:not(code) h2{border-bottom:1px solid #304251}.hljs,.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#9daccc}.markdown:not(code) .highlight pre,.markdown:not(code) pre{background-color:#2a2e3a;border:1px solid #404552}.ui.dropdown .menu{background:#2c303a}.ui.dropdown .menu>.message:not(.ui){color:#636363}.ui.input{color:#dbdbdb}.overflow.menu .items .item{color:#9d9d9d}.overflow.menu .items .item:hover{color:#dbdbdb}.ui.segment{background:#353945;color:#9e9e9e!important;border:1px solid #404552}.ui.active.button:active,.ui.button:active,.ui.button:focus{background-color:#2e3e4e;color:#dbdbdb}.ui.dropdown .menu .selected.item,.ui.dropdown.selected{color:#dbdbdb}.ui.dropdown .menu>.item:hover{color:#dbdbdb}.ui.dropdown .menu>.item{color:#9e9e9e}.ui.attached.segment{border:1px solid #404552}.repository.view.issue .comment-list .comment .content>.bottom.segment{background:#353945}.repository.view.issue .comment-list .comment .content .header{color:#dbdbdb;background-color:#404552;border-bottom:1px solid #353944}.ui .text.grey a{color:#b3b3b3!important}.ui.comments .comment .actions a{color:#dbdbdb}.repository.view.issue .comment-list .comment .content .header:after{border-right-color:#404552}.repository.new.issue .comment.form .content:after{border-right-color:#353945}.repository.view.issue .comment-list .comment .content .header:before{border-right-color:#404552}.repository.new.issue .comment.form .content:before{border-right-color:#353945}.repository.view.issue .comment-list:before{background-color:#313c47}.repository .comment.form .content .form:after{border-right-color:#313c47}.repository .comment.form .content .form:before{border-right-color:#313c47}.ui .text.grey a{color:#dbdbdb!important}.ui .text.grey a:hover{color:#dbdbdb!important}.ui.basic.green.active.button,.ui.basic.green.buttons .active.button{color:#13ae38!important}.ui.form textarea,.ui.form textarea:focus{background:#1a2632;border:1px solid #313c47;color:#dbdbdb}.ui.form textarea:focus{border:1px solid #456580}.ui .info.segment.top{background-color:#404552!important}.repository .diff-file-box .code-diff-unified tbody tr.del-code td{background-color:#3c2626!important;border-color:#634343!important}.repository .diff-file-box .code-diff-unified tbody tr.add-code td{background-color:#283e2d!important;border-color:#314a37!important}.repository .diff-file-box .code-diff tbody tr .added-code{background-color:#3a523a}.repository .diff-file-box .code-diff .lines-num{border-right:1px solid #2d2d2d}.repository .diff-file-box .file-body.file-code .lines-num{color:#9e9e9e;background:#2e323e}.repository .diff-file-box .code-diff tbody tr td.tag-code,.repository .diff-file-box .code-diff tbody tr.tag-code td{border-color:#2d2d2d!important}.repository .diff-file-box .file-body.file-code .lines-num-old{border-right:1px solid #2d2d2d}.hljs-section,.hljs-selector-id,.hljs-title{color:#986c88}.hljs-doctag,.hljs-string{color:#949494}.repository .diff-file-box .code-diff tbody tr .removed-code{background-color:#5f3737}.repository .diff-file-box .code-diff tbody tr td.tag-code,.repository .diff-file-box .code-diff tbody tr.tag-code td{background-color:#292727!important}.ui.vertical.menu .active.item{background:#4B5162}.ui.vertical.menu .item{background:#353945}.ui.vertical.menu .header.item{background:#404552}.ui.vertical.menu{background:#353945;border:1px solid #333640}.ui.repository.list .item:not(:first-child){border-top:1px solid #4c505c}.ui .text.blue{color:#609926!important}.ui.selection.active.dropdown,.ui.selection.active.dropdown .menu{border-color:#4e5361;box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.active.dropdown:hover,.ui.selection.active.dropdown:hover .menu{border-color:#4e5361;box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.dropdown{background:#404552;border:1px solid #404552;color:#9e9e9e}.ui.menu .ui.dropdown .menu>.active.item{color:#dbdbdb!important}.ui.tabular.menu{border-bottom:1px solid #313c47}.ui.card,.ui.cards>.card{background:#353945;box-shadow:0 1px 3px 0 #4c505c,0 0 0 1px #4c505c}.ui.card>.content>.header,.ui.cards>.card>.content>.header{color:#dbdbdb}.ui.card>.extra a:not(.ui),.ui.cards>.card>.extra a:not(.ui){color:#87ab63}.ui .text.black{color:#9e9e9e}.ui .text.black:hover{color:#dbdbdb}.ui.secondary.segment{background:#353945}.ui.secondary.pointing.menu .active.item{border-color:#609926;color:#dbdbdb;background:#404552}.ui.user.list .item:not(:first-child){border-top:1px solid #4c505c}.ui.secondary.pointing.menu .active.item:hover{border-color:#af8b4c;color:#dbdbdb;background:#4b5162}.ui.secondary.pointing.menu .dropdown.item:hover,.ui.secondary.pointing.menu .link.item:hover,.ui.secondary.pointing.menu a.item:hover{color:#dbdbdb}.ui.checkbox label,.ui.checkbox+label,.ui.form .field>label{color:#9e9e9e}.ui.form .inline.field>label,.ui.form .inline.field>p,.ui.form .inline.fields .field>label,.ui.form .inline.fields .field>p,.ui.form .inline.fields>label{color:#9e9e9e}.user.settings .email.list .item:not(:first-child){border-top:1px solid #3f4451}.explore .navbar{background-color:#2a2e3a!important}.ui.menu.new-menu{background-color:#2a2e3a!important}input{background:#2e323e}.ui.secondary.pointing.menu .active.item{border:none;background:#383c4a}.settings .key.list .item:not(:first-child){border-top:1px solid #404552}.ui.form input:not([type]),.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=email],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=text],.ui.form input[type=time],.ui.form input[type=url]{color:#9e9e9e}.ui.attached.info.message,.ui.info.message{box-shadow:0 0 0 1px #4b5e71 inset,0 0 0 0 transparent}.ui.info.message{background-color:#2c3b4a;color:#9ebcc5}.ui .warning.header{background-color:#5d3a22!important;border-color:#794f31}.ui.red.message{background-color:rgba(80,23,17,.6);color:#f9cbcb;box-shadow:0 0 0 1px rgba(121,71,66,.5) inset,0 0 0 0 transparent}.ui.red.button,.ui.red.buttons .button{background-color:#7d3434}.ui.red.button:hover,.ui.red.buttons .button:hover{background-color:#984646}.ui.checkbox label:hover,.ui.checkbox+label:hover{color:#dbdbdb!important}.ui.checkbox input:checked~.box:after,.ui.checkbox input:checked~label:after{color:#7f98ad}.ui.checkbox input:checked~.box:before,.ui.checkbox input:checked~label:before{background:#304251}.ui.checkbox .box:hover::before,.ui.checkbox label:hover::before{background:#304251}.ui.checkbox .box:before,.ui.checkbox label:before{background:#304251;border:1px solid #304251}.ui.checkbox .box:active::before,.ui.checkbox label:active::before{background:#304251;border-color:rgba(34,36,38,.35)}.ui.checkbox input:checked~.box:before,.ui.checkbox input:checked~label:before{border-color:#304251;background:#304251}.ui.checkbox input:focus~.box:before,.ui.checkbox input:focus~label:before{border-color:#304251;background:#304251}.ui.checkbox input:checked:focus~.box:before,.ui.checkbox input:checked:focus~label:before,.ui.checkbox input:not([type=radio]):indeterminate:focus~.box:before,.ui.checkbox input:not([type=radio]):indeterminate:focus~label:before{border-color:#304251;background:#304251}.ui.checkbox input:checked~.box:after,.ui.checkbox input:checked~label:after{opacity:1;color:#7f98ad}.ui.checkbox input:checked:focus~.box:after,.ui.checkbox input:checked:focus~label:after,.ui.checkbox input:not([type=radio]):indeterminate:focus~.box:after,.ui.checkbox input:not([type=radio]):indeterminate:focus~label:after{color:#7f98ad}.ui.checkbox input:focus~.box:after,.ui.checkbox input:focus~label,.ui.checkbox input:focus~label:after{color:#9a9a9a}.ui.selection.dropdown:hover{border-color:rgba(34,36,38,.35);border:1px solid #456580}.ui.selection.dropdown .menu>.item{border-top:1px solid #313c47}.ui.selection.visible.dropdown>.text:not(.default){color:#9e9e9e}.ui.negative.message{background-color:rgba(80,23,17,.6);color:#f9cbcb;box-shadow:0 0 0 1px rgba(121,71,66,.5) inset,0 0 0 0 transparent}.hljs-attribute,.hljs-name,.hljs-tag{color:#ef5e77}.user.profile .ui.card .extra.content ul li:not(:last-child){border-bottom:1px solid #4c505c}.ui.form textarea,.ui.form textarea:focus{background:#404552;border:2px solid #353945}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:#bd84bf}.hljs-doctag,.hljs-string{color:#8ab398}.ui.form .dropzone{border:2px dashed #4c505c}.ui.basic.red.button,.ui.basic.red.buttons .button{box-shadow:0 0 0 1px #a04141 inset!important;color:#a04141!important}.ui.list .list>.item .header,.ui.list>.item .header{color:#dedede}.ui.list .list>.item .description,.ui.list>.item .description{color:#9e9e9e}.ui.user.list .item .description a{color:#668cb1}.repository.file.list #file-content .code-view .lines-num{background:#2e323e}.repository.file.list #repo-files-table tbody .octicon.octicon-file-directory,.repository.file.list #repo-files-table tbody .octicon.octicon-file-submodule{color:#7c9b5e}.ui.blue.button:focus,.ui.blue.buttons .button:focus{background-color:#609926}.ui.basic.blue.button:hover,.ui.basic.blue.buttons .button:hover{box-shadow:0 0 0 1px #609926 inset!important;color:#609926!important}.ui.basic.blue.button:focus,.ui.basic.blue.buttons .button:focus{box-shadow:0 0 0 1px #609926 inset!important;color:#609926!important}.repository.file.list #file-content .code-view .lines-code .hljs,.repository.file.list #file-content .code-view .lines-code ol,.repository.file.list #file-content .code-view .lines-code pre,.repository.file.list #file-content .code-view .lines-num .hljs,.repository.file.list #file-content .code-view .lines-num ol,.repository.file.list #file-content .code-view .lines-num pre{background-color:#2a2e3a}a.ui.label:hover,a.ui.labels .label:hover{background-color:#505667;color:#dbdbdb}.repository .label.list .item{border-bottom:1px dashed #4c505c}.repository.file.list #file-content .code-view .lines-num{background:#2e323e}.repository.file.list #repo-files-table tbody .octicon.octicon-file-directory,.repository.file.list #repo-files-table tbody .octicon.octicon-file-submodule{color:#7c9b5e}.ui.basic.blue.button,.ui.basic.blue.buttons .button{box-shadow:0 0 0 1px #a27558 inset!important;color:#a27558!important}.repository.file.list #file-content .code-view .lines-code .hljs,.repository.file.list #file-content .code-view .lines-code ol,.repository.file.list #file-content .code-view .lines-code pre,.repository.file.list #file-content .code-view .lines-num .hljs,.repository.file.list #file-content .code-view .lines-num ol,.repository.file.list #file-content .code-view .lines-num pre{background-color:#2a2e3a}a.ui.label:hover,a.ui.labels .label:hover{background-color:#505667;color:#dbdbdb}.repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(1),.repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(2),.repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(3),.repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(4){background-color:#2a2e3a}.repository .diff-file-box .code-diff-split tbody tr td.add-code,.repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(3),.repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(4){background-color:#283e2d!important;border-color:#314a37!important}.repository .diff-file-box .code-diff-split tbody tr td.del-code,.repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(1),.repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(2){background-color:#3c2626!important;border-color:#634343!important}.ui.blue.button:focus,.ui.blue.buttons .button:focus{background-color:#a27558}.ui.blue.button:active,.ui.blue.buttons .button:active{background-color:#a27558}#git-graph-container li a{color:#c79575}#git-graph-container li .author{color:#c79575}.ui.header .sub.header{color:#9e9e9e}.ui.dividing.header{border-bottom:1px solid #4c505c}.ui.modal>.header{background:#404552;color:#dbdbdb}.ui.modal>.actions{background:#404552;border-top:1px solid #404552}.ui.modal>.content{background:#383c4a}.ui.basic.blue.button,.ui.basic.blue.buttons .button{box-shadow:0 0 0 1px #609926 inset!important;color:#609926!important}
\ No newline at end of file
diff --git a/public/less/themes/_base.less b/public/less/themes/_base.less
new file mode 100644
index 000000000..18d4f068c
--- /dev/null
+++ b/public/less/themes/_base.less
@@ -0,0 +1,3 @@
+// TODO: Instead of having each theme file define each
+// CSS/LESS item in this file and then overide
+// in the theme files
\ No newline at end of file
diff --git a/public/less/themes/dark.less b/public/less/themes/dark.less
new file mode 100644
index 000000000..65bd5359a
--- /dev/null
+++ b/public/less/themes/dark.less
@@ -0,0 +1,752 @@
+@import "_base";
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background-color: #2b2b2b !important;
+ color: #bababa;
+}
+ .repository.file.list .non-diff-file-content .code-view .lines-num, .repository.file.list .non-diff-file-content .code-view .lines-code ol {
+ background-color: #2b2b2b !important;
+}
+ .hljs-strong, .hljs-emphasis {
+ color: #a8a8a2;
+}
+ .hljs-bullet, .hljs-quote, .hljs-link, .hljs-number, .hljs-regexp, .hljs-literal {
+ color: #6896ba;
+}
+ .hljs-code, .hljs-selector-class {
+ color: #a6e22e;
+}
+ .hljs-emphasis {
+ font-style: italic;
+}
+ .hljs-keyword, .hljs-selector-tag, .hljs-section, .hljs-attribute, .hljs-name, .hljs-variable {
+ color: #cb7832;
+}
+ .hljs-params {
+ color: #b9b9b9;
+}
+ .hljs-string {
+ color: #6a8759;
+}
+ .hljs-subst, .hljs-type, .hljs-built_in, .hljs-builtin-name, .hljs-symbol, .hljs-selector-id, .hljs-selector-attr, .hljs-selector-pseudo, .hljs-template-tag, .hljs-template-variable, .hljs-addition {
+ color: #e0c46c;
+}
+ .hljs-comment, .hljs-deletion, .hljs-meta {
+ color: #7f7f7f;
+}
+ .repository .ui.segment.sub-menu .list .item a {
+ color:#dbdbdb;
+}
+ .ui.horizontal.segments > .segment {
+ background-color: #383c4a;
+}
+ body {
+ background: #383c4a;
+ color: #9e9e9e;
+}
+ a {
+ color: #87ab63;
+}
+ a:hover {
+ color: #a0cc75;
+}
+ .ui.card>.extra a:not(.ui):hover, .ui.cards>.card>.extra a:not(.ui):hover {
+ color: #a0cc75;
+}
+ .ui.breadcrumb a:hover {
+ color: #a0cc75;
+}
+ .ui.breadcrumb a {
+ color: #87ab63;
+}
+ .repository .metas .ui.list a .text {
+ color: #87ab63;
+}
+ .repository .metas .ui.list a .text:hover {
+ color: #a0cc75;
+}
+ .repository .label.list .item a {
+ color: #87ab63;
+}
+ .repository .label.list .item a:hover {
+ color: #a0cc75;
+}
+ .repository .milestone.list > .item > a {
+ color: #87ab63;
+}
+ .repository .milestone.list > .item > a:hover {
+ color: #a0cc75;
+}
+ .repository.release #release-list {
+ border-top: 1px solid #4c505c;
+}
+ .repository .milestone.list > .item .operate > a {
+ color: #87ab63;
+}
+ .repository .milestone.list > .item .operate > a:hover {
+ color: #a0cc75;
+}
+ .ui.green.progress .bar {
+ background-color: #668844;
+}
+ .ui.progress.success .bar {
+ background-color: #7b9e57!important;
+}
+ .following.bar.light {
+ background: #2e323e;
+}
+ .ui.secondary.menu .active.item {
+ color: #dbdbdb;
+}
+ .ui.secondary.menu .item {
+ color: #9e9e9e;
+}
+ .following.bar .top.menu a.item:hover {
+ color: #fff;
+}
+ .repository.view.issue .comment-list .comment .content > .bottom.segment a {
+ border: solid 1px #353945;
+ background-color: #353945;
+}
+ .following.bar.light {
+ border-bottom: 1px solid #313131;
+}
+ .ui.attached.header {
+ background: #404552;
+ border: 1px solid #404552;
+ color: #dbdbdb;
+}
+ .ui.attached.table {
+ border: 1px solid #304251;
+ background: #304251;
+}
+ .feeds .list ul li:not(:last-child) {
+ border-bottom: 1px solid #333640;
+}
+ .feeds .list ul li.private {
+ background: #353945;
+ border: 1px solid #333640;
+}
+ .ui.secondary.menu .dropdown.item:hover, .ui.secondary.menu .link.item:hover, .ui.secondary.menu a.item:hover {
+ color: #fff;
+}
+ .ui.menu .ui.dropdown .menu>.item {
+ background: #2c303a !important;
+ color: #9e9e9e !important;
+}
+ .ui.secondary.menu .dropdown.item>.menu, .ui.text.menu .dropdown.item>.menu {
+ border: 1px solid #434444;
+}
+ footer {
+ background: #2e323e;
+ border-top: 1px solid #313131;
+}
+ .ui.menu .dropdown.item .menu {
+ background: #2c303a;
+}
+ .ui.menu .ui.dropdown .menu>.item:hover, .ui.menu .ui.dropdown .menu>.selected.item {
+ color: #fff!important;
+}
+ .ui.dropdown .menu>.header {
+ color: #dbdbdb;
+}
+ .ui.red.label, .ui.red.labels .label {
+ background-color: #7d3434!important;
+ border-color: #8a2121!important;
+}
+ .ui.menu {
+ background: #404552;
+ border: 1px solid #353945;
+}
+ .ui.menu .active.item:hover, .ui.vertical.menu .active.item:hover {
+ color: #dbdbdb;
+ background: #4B5162;
+}
+ .ui.link.menu .item:hover, .ui.menu .dropdown.item:hover, .ui.menu .link.item:hover, .ui.menu a.item:hover {
+ color: #dbdbdb;
+ background: #454b5a;
+}
+ .ui.menu .active.item {
+ background: #4B5162;
+ color: #dbdbdb;
+}
+ .ui.input input {
+ background: #404552;
+ border: 2px solid #353945;
+ color: #dbdbdb;
+}
+ .ui.input input:focus, .ui.input.focus input {
+ background: #404552;
+ border: 2px solid #353945;
+ color: #dbdbdb;
+}
+ .ui.label {
+ color: #dbdbdb;
+ background-color: #404552;
+}
+ .issue.list > .item .title {
+ color: #87ab63;
+}
+ .issue.list > .item .title:hover {
+ color: #a0cc75;
+}
+ .issue.list > .item {
+ border-bottom: 1px dashed #475767;
+}
+ .ui.green.label, .ui.green.labels .label {
+ background-color: #2d693b!important;
+ border-color: #2d693b!important;
+}
+ .issue.list > .item .comment {
+ color: #129c92;
+}
+ .ui.basic.button, .ui.basic.buttons .button {
+ color: #797979!important;
+}
+ .ui.basic.red.active.button, .ui.basic.red.buttons .active.button {
+ box-shadow: 0 0 0 1px #c75252 inset!important;
+ color: #c75252!important;
+}
+ .ui.basic.button:focus, .ui.basic.button:hover, .ui.basic.buttons .button:focus, .ui.basic.buttons .button:hover {
+ background: transparent!important;
+ color: #dbdbdb!important;
+}
+ .ui.menu .item {
+ background: #404552;
+ color: #9e9e9e;
+}
+ .ui.menu .item.disabled, .ui.menu .item.disabled:hover {
+ color: #626773;
+}
+ .ui.pagination.menu .active.item {
+ color: #dbdbdb;
+ background-color: #609926;
+}
+ .repository .header-wrapper {
+ background-color: #2a2e3a;
+}
+ .ui.tabular.menu .active.item {
+ background: #383c4a;
+ color: #dbdbdb;
+ border-left: 1px solid transparent;
+ border-right: 1px solid transparent;
+ border-top: none;
+}
+ .ui.tabular.menu .item {
+ color: #9e9e9e;
+}
+ .ui.tabular.menu .item:hover {
+ color: #dbdbdb;
+}
+ .ui.header, .ui.breadcrumb .divider {
+ color: #9e9e9e;
+}
+ .ui.blue.label, .ui.blue.labels .label {
+ background-color: #26577b!important;
+ border-color: #26577b!important;
+}
+ .ui.menu .item>.label {
+ background: #565454;
+}
+ .ui.blue.button, .ui.blue.buttons .button {
+ background-color: #609926;
+}
+ .ui.blue.button:hover, .ui.blue.buttons .button:hover {
+ background-color: #73ad36;
+}
+ .ui.form input:not([type]), .ui.form input[type=text], .ui.form input[type=email], .ui.form input[type=search], .ui.form input[type=password], .ui.form input[type=date], .ui.form input[type=datetime-local], .ui.form input[type=tel], .ui.form input[type=time], .ui.form input[type=url], .ui.form input[type=number] {
+ background: #404552;
+ border: 2px solid #353945;
+}
+ .ui.form input:not([type]):focus, .ui.form input[type=text]:focus, .ui.form input[type=email]:focus, .ui.form input[type=search]:focus, .ui.form input[type=password]:focus, .ui.form input[type=date]:focus, .ui.form input[type=datetime-local]:focus, .ui.form input[type=tel]:focus, .ui.form input[type=time]:focus, .ui.form input[type=url]:focus, .ui.form input[type=number]:focus {
+ background: #404552;
+ border: 2px solid #4b505f;
+ color: #dbdbdb;
+}
+ .ui.action.input:not([class*="left action"]) input:focus {
+ border-right-color: #4b505f!important;
+}
+ .ui.green.button, .ui.green.buttons .button {
+ background-color: #609926;
+}
+ .ui.green.button:hover, .ui.green.buttons .button:hover {
+ background-color: #73ad36;
+}
+ .ui.button {
+ background: #383c4a;
+ border: 1px solid #4c505c;
+ color: #dbdbdb;
+}
+ .ui.labeled.button:not([class*="left labeled"])>.label, .ui[class*="left labeled"].button>.button {
+ background: #404552;
+ border: 1px solid #4c505c;
+ color: #87ab63;
+}
+ .ui.button:hover {
+ background-color: #404552;
+ color: #dbdbdb;
+}
+ .ui.table thead th {
+ background: #404552;
+ color: #dbdbdb;
+}
+ .repository.file.list #repo-files-table tr:hover {
+ background-color: #393d4a;
+}
+ .ui.table {
+ color: #a5a5a5!important;
+ border: 1px solid #4c505c;
+ background: #353945;
+}
+ .ui.table tbody tr {
+ border-bottom: 1px solid #333640;
+ background: #2a2e3a;
+}
+ .ui .text.grey {
+ color: #808084 !important;
+}
+ .ui.attached.table.segment {
+ background: #353945;
+ color: #dbdbdb!important;
+}
+ .markdown:not(code) h2 {
+ border-bottom: 1px solid #304251;
+}
+ .hljs, .hljs-keyword, .hljs-selector-tag, .hljs-subst {
+ color: #9daccc;
+}
+ .markdown:not(code) .highlight pre, .markdown:not(code) pre {
+ background-color: #2a2e3a;
+ border: 1px solid #404552;
+}
+ .ui.dropdown .menu {
+ background: #2c303a;
+}
+ .ui.dropdown .menu>.message:not(.ui) {
+ color: rgb(99, 99, 99);
+}
+ .ui.input {
+ color: #dbdbdb;
+}
+ .overflow.menu .items .item {
+ color: #9d9d9d;
+}
+ .overflow.menu .items .item:hover {
+ color: #dbdbdb;
+}
+ .ui.segment {
+ background: #353945;
+ color: #9e9e9e!important;
+ border: 1px solid #404552;
+}
+ .ui.active.button:active, .ui.button:active, .ui.button:focus {
+ background-color: #2e3e4e;
+ color: #dbdbdb;
+}
+ .ui.dropdown .menu .selected.item, .ui.dropdown.selected {
+ color: #dbdbdb;
+}
+ .ui.dropdown .menu>.item:hover {
+ color: #dbdbdb;
+}
+ .ui.dropdown .menu>.item {
+ color: #9e9e9e;
+}
+ .ui.attached.segment {
+ border: 1px solid #404552;
+}
+ .repository.view.issue .comment-list .comment .content > .bottom.segment {
+ background: #353945;
+}
+ .repository.view.issue .comment-list .comment .content .header {
+ color: #dbdbdb;
+ background-color: #404552;
+ border-bottom: 1px solid #353944;
+}
+ .ui .text.grey a {
+ color: #b3b3b3 !important;
+}
+ .ui.comments .comment .actions a {
+ color: #dbdbdb;
+}
+ .repository.view.issue .comment-list .comment .content .header:after {
+ border-right-color: #404552;
+}
+ .repository.new.issue .comment.form .content:after {
+ border-right-color: #353945;
+}
+ .repository.view.issue .comment-list .comment .content .header:before {
+ border-right-color: #404552;
+}
+ .repository.new.issue .comment.form .content:before {
+ border-right-color: #353945;
+}
+ .repository.view.issue .comment-list:before {
+ background-color: #313c47;
+}
+ .repository .comment.form .content .form:after {
+ border-right-color: #313c47;
+}
+ .repository .comment.form .content .form:before {
+ border-right-color: #313c47;
+}
+ .ui .text.grey a {
+ color: #dbdbdb !important;
+}
+ .ui .text.grey a:hover {
+ color: #dbdbdb !important;
+}
+ .ui.basic.green.active.button, .ui.basic.green.buttons .active.button {
+ color: #13ae38!important;
+}
+ .ui.form textarea, .ui.form textarea:focus {
+ background: #1a2632;
+ border: 1px solid #313c47;
+ color: #dbdbdb;
+}
+ .ui.form textarea:focus {
+ border: 1px solid #456580;
+}
+ .ui .info.segment.top {
+ background-color: #404552 !important;
+}
+ .repository .diff-file-box .code-diff-unified tbody tr.del-code td {
+ background-color: #3c2626 !important;
+ border-color: #634343 !important;
+}
+ .repository .diff-file-box .code-diff-unified tbody tr.add-code td {
+ background-color: rgb(40, 62, 45) !important;
+ border-color: #314a37 !important;
+}
+ .repository .diff-file-box .code-diff tbody tr .added-code {
+ background-color: #3a523a;
+}
+ .repository .diff-file-box .code-diff .lines-num {
+ border-right: 1px solid #2d2d2d;
+}
+ .repository .diff-file-box .file-body.file-code .lines-num {
+ color: #9e9e9e;
+ background: #2e323e;
+}
+ .repository .diff-file-box .code-diff tbody tr.tag-code td, .repository .diff-file-box .code-diff tbody tr td.tag-code {
+ border-color: #2d2d2d !important;
+}
+ .repository .diff-file-box .file-body.file-code .lines-num-old {
+ border-right: 1px solid #2d2d2d;
+}
+ .hljs-title, .hljs-section, .hljs-selector-id {
+ color: #986c88;
+}
+ .hljs-string, .hljs-doctag {
+ color: #949494;
+}
+ .repository .diff-file-box .code-diff tbody tr .removed-code {
+ background-color: #5f3737;
+}
+ .repository .diff-file-box .code-diff tbody tr.tag-code td, .repository .diff-file-box .code-diff tbody tr td.tag-code {
+ background-color: #292727 !important;
+}
+ .ui.vertical.menu .active.item {
+ background: #4B5162;
+}
+ .ui.vertical.menu .item {
+ background: #353945;
+}
+ .ui.vertical.menu .header.item {
+ background: #404552;
+}
+ .ui.vertical.menu {
+ background: #353945;
+ border: 1px solid #333640;
+}
+ .ui.repository.list .item:not(:first-child) {
+ border-top: 1px solid #4c505c;
+}
+ .ui .text.blue {
+ color: #609926 !important;
+}
+ .ui.selection.active.dropdown, .ui.selection.active.dropdown .menu {
+ border-color: #4e5361;
+ box-shadow: 0 2px 3px 0 rgba(34,36,38,.15);
+}
+ .ui.selection.active.dropdown:hover, .ui.selection.active.dropdown:hover .menu {
+ border-color: #4e5361;
+ box-shadow: 0 2px 3px 0 rgba(34,36,38,.15);
+}
+ .ui.selection.dropdown {
+ background: #404552;
+ border: 1px solid rgb(64, 69, 82);
+ color: #9e9e9e;
+}
+ .ui.menu .ui.dropdown .menu>.active.item {
+ color: #dbdbdb !important;
+}
+ .ui.tabular.menu {
+ border-bottom: 1px solid #313c47;
+}
+ .ui.card, .ui.cards>.card {
+ background: #353945;
+ box-shadow: 0 1px 3px 0 #4c505c, 0 0 0 1px #4c505c;
+}
+ .ui.card>.content>.header, .ui.cards>.card>.content>.header {
+ color: #dbdbdb;
+}
+ .ui.card>.extra a:not(.ui), .ui.cards>.card>.extra a:not(.ui) {
+ color: #87ab63;
+}
+ .ui .text.black {
+ color: #9e9e9e;
+}
+ .ui .text.black:hover {
+ color: #dbdbdb;
+}
+ .ui.secondary.segment {
+ background: #353945;
+}
+ .ui.secondary.pointing.menu .active.item {
+ border-color: #609926;
+ color: #dbdbdb;
+ background: #404552;
+}
+ .ui.user.list .item:not(:first-child) {
+ border-top: 1px solid #4c505c;
+}
+ .ui.secondary.pointing.menu .active.item:hover {
+ border-color: #af8b4c;
+ color: #dbdbdb;
+ background: #4b5162;
+}
+ .ui.secondary.pointing.menu .dropdown.item:hover, .ui.secondary.pointing.menu .link.item:hover, .ui.secondary.pointing.menu a.item:hover {
+ color: #dbdbdb;
+}
+ .ui.checkbox label, .ui.checkbox+label, .ui.form .field>label {
+ color: #9e9e9e;
+}
+ .ui.form .inline.field>label, .ui.form .inline.field>p, .ui.form .inline.fields .field>label, .ui.form .inline.fields .field>p, .ui.form .inline.fields>label {
+ color: #9e9e9e;
+}
+ .user.settings .email.list .item:not(:first-child) {
+ border-top: 1px solid #3f4451;
+}
+ .explore .navbar {
+ background-color: #2a2e3a!important;
+}
+ .ui.menu.new-menu {
+ background-color: #2a2e3a!important;
+}
+ input {
+ background: #2e323e;
+}
+ .ui.secondary.pointing.menu .active.item {
+ border: none;
+ background: #383c4a;
+}
+ .settings .key.list .item:not(:first-child) {
+ border-top: 1px solid #404552;
+}
+ .ui.form input:not([type]), .ui.form input[type=text], .ui.form input[type=email], .ui.form input[type=search], .ui.form input[type=password], .ui.form input[type=date], .ui.form input[type=datetime-local], .ui.form input[type=tel], .ui.form input[type=time], .ui.form input[type=url], .ui.form input[type=number] {
+ color: #9e9e9e;
+}
+ .ui.attached.info.message, .ui.info.message {
+ box-shadow: 0 0 0 1px #4b5e71 inset, 0 0 0 0 transparent;
+}
+ .ui.info.message {
+ background-color: #2c3b4a;
+ color: #9ebcc5;
+}
+ .ui .warning.header {
+ background-color: #5d3a22 !important;
+ border-color: #794f31;
+}
+ .ui.red.message {
+ background-color: rgba(80, 23, 17, 0.6);
+ color: #f9cbcb;
+ box-shadow: 0 0 0 1px rgba(121, 71, 66, 0.5) inset, 0 0 0 0 transparent;
+}
+ .ui.red.button, .ui.red.buttons .button {
+ background-color: #7d3434;
+}
+ .ui.red.button:hover, .ui.red.buttons .button:hover {
+ background-color: #984646;
+}
+ .ui.checkbox label:hover, .ui.checkbox+label:hover {
+ color: #dbdbdb !important;
+}
+ .ui.checkbox input:checked~.box:after, .ui.checkbox input:checked~label:after {
+ color: rgb(127, 152, 173);
+}
+ .ui.checkbox input:checked~.box:before, .ui.checkbox input:checked~label:before {
+ background: #304251;
+}
+ .ui.checkbox .box:hover::before, .ui.checkbox label:hover::before {
+ background: #304251;
+}
+ .ui.checkbox .box:before, .ui.checkbox label:before {
+ background: #304251;
+ border: 1px solid #304251;
+}
+ .ui.checkbox .box:active::before, .ui.checkbox label:active::before {
+ background: #304251;
+ border-color: rgba(34,36,38,.35);
+}
+ .ui.checkbox input:checked~.box:before, .ui.checkbox input:checked~label:before {
+ border-color: #304251;
+ background: #304251;
+}
+ .ui.checkbox input:focus~.box:before, .ui.checkbox input:focus~label:before {
+ border-color: #304251;
+ background: #304251;
+}
+ .ui.checkbox input:checked:focus~.box:before, .ui.checkbox input:checked:focus~label:before, .ui.checkbox input:not([type=radio]):indeterminate:focus~.box:before, .ui.checkbox input:not([type=radio]):indeterminate:focus~label:before {
+ border-color: #304251;
+ background: #304251;
+}
+ .ui.checkbox input:checked~.box:after, .ui.checkbox input:checked~label:after {
+ opacity: 1;
+ color: rgb(127, 152, 173);
+}
+ .ui.checkbox input:checked:focus~.box:after, .ui.checkbox input:checked:focus~label:after, .ui.checkbox input:not([type=radio]):indeterminate:focus~.box:after, .ui.checkbox input:not([type=radio]):indeterminate:focus~label:after {
+ color: rgb(127, 152, 173);
+}
+ .ui.checkbox input:focus~.box:after, .ui.checkbox input:focus~label, .ui.checkbox input:focus~label:after {
+ color: #9a9a9a;
+}
+ .ui.selection.dropdown:hover {
+ border-color: rgba(34,36,38,.35);
+ border: 1px solid #456580;
+}
+ .ui.selection.dropdown .menu>.item {
+ border-top: 1px solid #313c47;
+}
+ .ui.selection.visible.dropdown>.text:not(.default) {
+ color: #9e9e9e;
+}
+ .ui.negative.message {
+ background-color: rgba(80, 23, 17, 0.6);
+ color: #f9cbcb;
+ box-shadow: 0 0 0 1px rgba(121, 71, 66, 0.5) inset, 0 0 0 0 transparent;
+}
+ .hljs-tag, .hljs-name, .hljs-attribute {
+ color: #ef5e77;
+}
+ .user.profile .ui.card .extra.content ul li:not(:last-child) {
+ border-bottom: 1px solid #4c505c;
+}
+ .ui.form textarea, .ui.form textarea:focus {
+ background: #404552;
+ border: 2px solid #353945;
+}
+ .hljs-number, .hljs-literal, .hljs-variable, .hljs-template-variable, .hljs-tag .hljs-attr {
+ color: #bd84bf;
+}
+ .hljs-string, .hljs-doctag {
+ color: #8ab398;
+}
+ .ui.form .dropzone {
+ border: 2px dashed #4c505c;
+}
+ .ui.basic.red.button, .ui.basic.red.buttons .button {
+ box-shadow: 0 0 0 1px #a04141 inset!important;
+ color: #a04141!important;
+}
+ .ui.list .list>.item .header, .ui.list>.item .header {
+ color: #dedede;
+}
+ .ui.list .list>.item .description, .ui.list>.item .description {
+ color: #9e9e9e;
+}
+ .ui.user.list .item .description a {
+ color: #668cb1;
+}
+ .repository.file.list #file-content .code-view .lines-num {
+ background: #2e323e;
+}
+ .repository.file.list #repo-files-table tbody .octicon.octicon-file-directory, .repository.file.list #repo-files-table tbody .octicon.octicon-file-submodule {
+ color: #7c9b5e;
+}
+ .ui.blue.button:focus, .ui.blue.buttons .button:focus {
+ background-color: #609926;
+}
+ .ui.basic.blue.button:hover, .ui.basic.blue.buttons .button:hover {
+ box-shadow: 0 0 0 1px #609926 inset!important;
+ color: #609926!important;
+}
+ .ui.basic.blue.button:focus, .ui.basic.blue.buttons .button:focus {
+ box-shadow: 0 0 0 1px #609926 inset!important;
+ color: #609926!important;
+}
+ .repository.file.list #file-content .code-view .lines-num pre, .repository.file.list #file-content .code-view .lines-code pre, .repository.file.list #file-content .code-view .lines-num ol, .repository.file.list #file-content .code-view .lines-code ol, .repository.file.list #file-content .code-view .lines-num .hljs, .repository.file.list #file-content .code-view .lines-code .hljs {
+ background-color: #2a2e3a;
+}
+ a.ui.label:hover, a.ui.labels .label:hover {
+ background-color: #505667;
+ color: rgb(219, 219, 219);
+}
+ .repository .label.list .item {
+ border-bottom: 1px dashed #4c505c;
+}
+ .repository.file.list #file-content .code-view .lines-num {
+ background: #2e323e;
+}
+ .repository.file.list #repo-files-table tbody .octicon.octicon-file-directory, .repository.file.list #repo-files-table tbody .octicon.octicon-file-submodule {
+ color: #7c9b5e;
+}
+ .ui.basic.blue.button, .ui.basic.blue.buttons .button {
+ box-shadow: 0 0 0 1px #a27558 inset !important;
+ color: #a27558 !important;
+}
+ .repository.file.list #file-content .code-view .lines-num pre, .repository.file.list #file-content .code-view .lines-code pre, .repository.file.list #file-content .code-view .lines-num ol, .repository.file.list #file-content .code-view .lines-code ol, .repository.file.list #file-content .code-view .lines-num .hljs, .repository.file.list #file-content .code-view .lines-code .hljs {
+ background-color: #2a2e3a;
+}
+ a.ui.label:hover, a.ui.labels .label:hover {
+ background-color: #505667;
+ color: rgb(219, 219, 219);
+}
+ .repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(1), .repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(2), .repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(3), .repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(4) {
+ background-color: #2a2e3a;
+}
+ .repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(3), .repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(4), .repository .diff-file-box .code-diff-split tbody tr td.add-code {
+ background-color: #283e2d !important;
+ border-color: #314a37 !important;
+}
+ .repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(1), .repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(2), .repository .diff-file-box .code-diff-split tbody tr td.del-code {
+ background-color: #3c2626 !important;
+ border-color: #634343 !important;
+}
+ .ui.blue.button:focus, .ui.blue.buttons .button:focus {
+ background-color: #a27558;
+}
+ .ui.blue.button:active, .ui.blue.buttons .button:active {
+ background-color: #a27558;
+}
+ #git-graph-container li a {
+ color: #c79575;
+}
+ #git-graph-container li .author {
+ color: #c79575;
+}
+ .ui.header .sub.header {
+ color: #9e9e9e;
+}
+ .ui.dividing.header {
+ border-bottom: 1px solid #4c505c;
+}
+ .ui.modal>.header {
+ background: #404552;
+ color: #dbdbdb;
+}
+ .ui.modal>.actions {
+ background: #404552;
+ border-top: 1px solid #404552;
+}
+ .ui.modal>.content {
+ background: #383c4a;
+}
+ .ui.basic.blue.button, .ui.basic.blue.buttons .button {
+ box-shadow: 0 0 0 1px #609926 inset!important;
+ color: #609926!important;
+}
+
\ No newline at end of file
diff --git a/templates/base/head.tmpl b/templates/base/head.tmpl
index fb9611cb6..5a34d1e7e 100644
--- a/templates/base/head.tmpl
+++ b/templates/base/head.tmpl
@@ -127,6 +127,9 @@
{{end}}
+{{if not (eq DefaultTheme "default")}}
+
+{{end}}
{{template "custom/header" .}}