Add the ability to have built in themes in Gitea ()

This makes it easier for user who want to theme but
don't have the ability to know how to customize templates
all that is required is a change in a config option

The reason why I chose the DEFAULT_THEME as variable,
as perhaps in the future we will allow users to chose their
theme whon logged in just like we do with languages
This commit is contained in:
techknowlogick 2018-07-05 17:25:04 -04:00 committed by GitHub
parent 28c1c90230
commit f1d6a1fffc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 849 additions and 75 deletions

View file

@ -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:

View file

@ -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 = gitea
[ui.admin]
; Number of users that are displayed on one page

View file

@ -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`: **gitea**: \[gitea, arc-green\]: Set the default theme for the Gitea install.
### UI - Admin (`ui.admin`)

View file

@ -91,3 +91,7 @@ Apart from `extra_links.tmpl` and `extra_tabs.tmpl`, there are other useful temp
## Customizing gitignores, labels, licenses, locales, and readmes.
Place custom files in corresponding sub-folder under `custom/options`.
## Customizing the look of Gitea
Gitea has two built-in themes, the default theme `gitea`, and a dark theme `arc-green`. To change the look of your Gitea install change the value of `DEFAULT_THEME` in the [ui](https://docs.gitea.io/en-us/config-cheat-sheet/#ui-ui) section of `app.ini` to another one of the available options.

View file

@ -280,6 +280,7 @@ var (
ThemeColorMetaTag string
MaxDisplayFileSize int64
ShowUserEmail bool
DefaultTheme string
Admin struct {
UserPagingNum int
@ -303,6 +304,7 @@ var (
ReactionMaxUserNum: 10,
ThemeColorMetaTag: `#6cc644`,
MaxDisplayFileSize: 8388608,
DefaultTheme: `gitea`,
Admin: struct {
UserPagingNum int
RepoPagingNum int

View file

@ -186,6 +186,9 @@ func NewFuncMap() []template.FuncMap {
"ParseDeadline": func(deadline string) []string {
return strings.Split(deadline, "|")
},
"DefaultTheme": func() string {
return setting.UI.DefaultTheme
},
}}
}

148
package-lock.json generated
View file

@ -43,7 +43,7 @@
"dev": true,
"optional": true,
"requires": {
"tweetnacl": "0.14.5"
"tweetnacl": "^0.14.3"
}
},
"caseless": {
@ -59,8 +59,8 @@
"integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=",
"dev": true,
"requires": {
"commander": "2.8.1",
"source-map": "0.4.4"
"commander": "2.8.x",
"source-map": "0.4.x"
},
"dependencies": {
"source-map": {
@ -69,7 +69,7 @@
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"dev": true,
"requires": {
"amdefine": "1.0.1"
"amdefine": ">=0.0.4"
}
}
}
@ -87,7 +87,7 @@
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"dev": true,
"requires": {
"delayed-stream": "1.0.0"
"delayed-stream": "~1.0.0"
}
},
"commander": {
@ -96,7 +96,7 @@
"integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
"dev": true,
"requires": {
"graceful-readlink": "1.0.1"
"graceful-readlink": ">= 1.0.0"
}
},
"core-util-is": {
@ -113,7 +113,7 @@
"dev": true,
"optional": true,
"requires": {
"assert-plus": "1.0.0"
"assert-plus": "^1.0.0"
},
"dependencies": {
"assert-plus": {
@ -138,7 +138,7 @@
"dev": true,
"optional": true,
"requires": {
"jsbn": "0.1.1"
"jsbn": "~0.1.0"
}
},
"errno": {
@ -148,7 +148,7 @@
"dev": true,
"optional": true,
"requires": {
"prr": "1.0.1"
"prr": "~1.0.1"
}
},
"extend": {
@ -192,7 +192,7 @@
"dev": true,
"optional": true,
"requires": {
"assert-plus": "1.0.0"
"assert-plus": "^1.0.0"
},
"dependencies": {
"assert-plus": {
@ -294,14 +294,14 @@
"integrity": "sha512-q3SyEnPKbk9zh4l36PGeW2fgynKu+FpbhiUNx/yaiBUQ3V0CbACCgb9FzYWcRgI2DJlP6eI4jc8XPrCTi55YcQ==",
"dev": true,
"requires": {
"errno": "0.1.7",
"graceful-fs": "4.1.11",
"image-size": "0.5.5",
"mime": "1.6.0",
"mkdirp": "0.5.1",
"promise": "7.3.1",
"request": "2.85.0",
"source-map": "0.6.1"
"errno": "^0.1.1",
"graceful-fs": "^4.1.2",
"image-size": "~0.5.0",
"mime": "^1.4.1",
"mkdirp": "^0.5.0",
"promise": "^7.1.1",
"request": "^2.83.0",
"source-map": "~0.6.0"
},
"dependencies": {
"ajv": {
@ -311,10 +311,10 @@
"dev": true,
"optional": true,
"requires": {
"co": "4.6.0",
"fast-deep-equal": "1.1.0",
"fast-json-stable-stringify": "2.0.0",
"json-schema-traverse": "0.3.1"
"co": "^4.6.0",
"fast-deep-equal": "^1.0.0",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.3.0"
}
},
"assert-plus": {
@ -338,7 +338,7 @@
"dev": true,
"optional": true,
"requires": {
"hoek": "4.2.1"
"hoek": "4.x.x"
}
},
"cryptiles": {
@ -348,7 +348,7 @@
"dev": true,
"optional": true,
"requires": {
"boom": "5.2.0"
"boom": "5.x.x"
},
"dependencies": {
"boom": {
@ -358,7 +358,7 @@
"dev": true,
"optional": true,
"requires": {
"hoek": "4.2.1"
"hoek": "4.x.x"
}
}
}
@ -370,9 +370,9 @@
"dev": true,
"optional": true,
"requires": {
"asynckit": "0.4.0",
"asynckit": "^0.4.0",
"combined-stream": "1.0.6",
"mime-types": "2.1.18"
"mime-types": "^2.1.12"
}
},
"har-schema": {
@ -389,8 +389,8 @@
"dev": true,
"optional": true,
"requires": {
"ajv": "5.5.2",
"har-schema": "2.0.0"
"ajv": "^5.1.0",
"har-schema": "^2.0.0"
}
},
"hawk": {
@ -400,10 +400,10 @@
"dev": true,
"optional": true,
"requires": {
"boom": "4.3.1",
"cryptiles": "3.1.2",
"hoek": "4.2.1",
"sntp": "2.1.0"
"boom": "4.x.x",
"cryptiles": "3.x.x",
"hoek": "4.x.x",
"sntp": "2.x.x"
}
},
"hoek": {
@ -419,9 +419,9 @@
"dev": true,
"optional": true,
"requires": {
"assert-plus": "1.0.0",
"jsprim": "1.4.1",
"sshpk": "1.14.1"
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
"sshpk": "^1.7.0"
}
},
"performance-now": {
@ -445,28 +445,28 @@
"dev": true,
"optional": true,
"requires": {
"aws-sign2": "0.7.0",
"aws4": "1.7.0",
"caseless": "0.12.0",
"combined-stream": "1.0.6",
"extend": "3.0.1",
"forever-agent": "0.6.1",
"form-data": "2.3.2",
"har-validator": "5.0.3",
"hawk": "6.0.2",
"http-signature": "1.2.0",
"is-typedarray": "1.0.0",
"isstream": "0.1.2",
"json-stringify-safe": "5.0.1",
"mime-types": "2.1.18",
"oauth-sign": "0.8.2",
"performance-now": "2.1.0",
"qs": "6.5.2",
"safe-buffer": "5.1.2",
"stringstream": "0.0.5",
"tough-cookie": "2.3.4",
"tunnel-agent": "0.6.0",
"uuid": "3.2.1"
"aws-sign2": "~0.7.0",
"aws4": "^1.6.0",
"caseless": "~0.12.0",
"combined-stream": "~1.0.5",
"extend": "~3.0.1",
"forever-agent": "~0.6.1",
"form-data": "~2.3.1",
"har-validator": "~5.0.3",
"hawk": "~6.0.2",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
"mime-types": "~2.1.17",
"oauth-sign": "~0.8.2",
"performance-now": "^2.1.0",
"qs": "~6.5.1",
"safe-buffer": "^5.1.1",
"stringstream": "~0.0.5",
"tough-cookie": "~2.3.3",
"tunnel-agent": "^0.6.0",
"uuid": "^3.1.0"
}
},
"sntp": {
@ -476,7 +476,7 @@
"dev": true,
"optional": true,
"requires": {
"hoek": "4.2.1"
"hoek": "4.x.x"
}
},
"source-map": {
@ -494,7 +494,7 @@
"integrity": "sha1-zFeveqM5iVflbezr5jy2DCNClwM=",
"dev": true,
"requires": {
"clean-css": "3.4.28"
"clean-css": "^3.0.1"
}
},
"mime": {
@ -516,7 +516,7 @@
"integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
"dev": true,
"requires": {
"mime-db": "1.33.0"
"mime-db": "~1.33.0"
}
},
"minimist": {
@ -550,7 +550,7 @@
"dev": true,
"optional": true,
"requires": {
"asap": "2.0.6"
"asap": "~2.0.3"
}
},
"prr": {
@ -580,14 +580,14 @@
"dev": true,
"optional": true,
"requires": {
"asn1": "0.2.3",
"assert-plus": "1.0.0",
"bcrypt-pbkdf": "1.0.1",
"dashdash": "1.14.1",
"ecc-jsbn": "0.1.1",
"getpass": "0.1.7",
"jsbn": "0.1.1",
"tweetnacl": "0.14.5"
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
"bcrypt-pbkdf": "^1.0.0",
"dashdash": "^1.12.0",
"ecc-jsbn": "~0.1.1",
"getpass": "^0.1.1",
"jsbn": "~0.1.0",
"tweetnacl": "~0.14.0"
},
"dependencies": {
"assert-plus": {
@ -613,7 +613,7 @@
"dev": true,
"optional": true,
"requires": {
"punycode": "1.4.1"
"punycode": "^1.4.1"
}
},
"tunnel-agent": {
@ -623,7 +623,7 @@
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "5.1.2"
"safe-buffer": "^5.0.1"
}
},
"tweetnacl": {
@ -647,9 +647,9 @@
"dev": true,
"optional": true,
"requires": {
"assert-plus": "1.0.0",
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
"extsprintf": "1.3.0"
"extsprintf": "^1.2.0"
},
"dependencies": {
"assert-plus": {

File diff suppressed because one or more lines are too long

View file

@ -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

View file

@ -0,0 +1,751 @@
@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;
}

View file

@ -127,6 +127,9 @@
<meta property="og:url" content="{{AppUrl}}" />
<meta property="og:description" content="{{MetaDescription}}">
{{end}}
{{if ne DefaultTheme "gitea"}}
<link rel="stylesheet" href="{{AppSubUrl}}/css/theme-{{DefaultTheme}}.css">
{{end}}
{{template "custom/header" .}}
</head>
<body>