mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Add the ability to have built in themes in Gitea (#4198)
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:
		
							
								
								
									
										6
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								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:
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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`)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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.
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
									
									
									
								
							
							
						
						
									
										148
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -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": {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								public/css/theme-arc-green.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/css/theme-arc-green.css
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										3
									
								
								public/less/themes/_base.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								public/less/themes/_base.less
									
									
									
									
									
										Normal 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
 | 
			
		||||
							
								
								
									
										751
									
								
								public/less/themes/arc-green.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										751
									
								
								public/less/themes/arc-green.less
									
									
									
									
									
										Normal 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;
 | 
			
		||||
}
 | 
			
		||||
@@ -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>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user