diff options
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | README.md | 8 | ||||
| -rw-r--r-- | cgitrc.5.txt | 2 | ||||
| -rw-r--r-- | solarized.css | 140 |
4 files changed, 150 insertions, 2 deletions
@@ -87,6 +87,7 @@ install: all $(INSTALL) -m 0755 cgit $(DESTDIR)$(CGIT_SCRIPT_PATH)/$(CGIT_SCRIPT_NAME) $(INSTALL) -m 0755 -d $(DESTDIR)$(CGIT_DATA_PATH) $(INSTALL) -m 0644 cgit.css $(DESTDIR)$(CGIT_DATA_PATH)/cgit.css + $(INSTALL) -m 0644 solarized.css $(DESTDIR)$(CGIT_DATA_PATH)/solarized.css $(INSTALL) -m 0644 cgit.js $(DESTDIR)$(CGIT_DATA_PATH)/cgit.js $(INSTALL) -m 0644 cgit.png $(DESTDIR)$(CGIT_DATA_PATH)/cgit.png $(INSTALL) -m 0644 cgit.svg $(DESTDIR)$(CGIT_DATA_PATH)/cgit.svg @@ -118,6 +119,7 @@ endef uninstall: rm -f $(DESTDIR)$(CGIT_SCRIPT_PATH)/$(CGIT_SCRIPT_NAME) rm -f $(DESTDIR)$(CGIT_DATA_PATH)/cgit.css + rm -f $(DESTDIR)$(CGIT_DATA_PATH)/solarized.css rm -f $(DESTDIR)$(CGIT_DATA_PATH)/cgit.js rm -f $(DESTDIR)$(CGIT_DATA_PATH)/cgit.png rm -f $(DESTDIR)$(CGIT_DATA_PATH)/cgit.svg @@ -1,4 +1,4 @@ -## cgitext - CGI for Git extension by Saya Andy +## cgitext – CGI for Git extension by Saya Andy This is a custom expansion to cgit. Its most prominent changes by now are: @@ -8,9 +8,13 @@ This is a custom expansion to cgit. Its most prominent changes by now are: * Allow to use multiple favicons and of MIME type different from x-icon (f.ex. svg/png/webp). +* Use vector-based format for favicon and cgit logo and make it default. + +* Include optional solarized.css addon theme. + The original cgit project is hosted at [git.zx2c4.com](https://git.zx2c4.com/cgit/about/) -## cgit - CGI for Git +## cgit – CGI for Git This is an attempt to create a fast web interface for the Git SCM, using a built-in cache to decrease server I/O pressure. diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 6ddb977..527233d 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -921,8 +921,10 @@ cache-size=1000 # Specify some default clone urls using macro expansion clone-url=git://foo.org/$CGIT_REPO_URL git@foo.org:$CGIT_REPO_URL + # Specify the css url css=/css/cgit.css +css=/css/solarized.css # Add a "ci" tab pointing at a Jenkins multibranch pipeline diff --git a/solarized.css b/solarized.css new file mode 100644 index 0000000..2e6e3d4 --- /dev/null +++ b/solarized.css @@ -0,0 +1,140 @@ +/* + * Solarized theme (Ethan Schoonover) with automatic light/dark selection + * based on the prefers-color-scheme media query. + * + * Must be listed after cgit.css, e.g. + * + * css=/cgit.css + * css=/solarized.css + */ + +:root { + --sol-base03: #002b36; + --sol-base02: #073642; + --sol-base01: #586e75; + --sol-base00: #657b83; + --sol-base0: #839496; + --sol-base1: #93a1a1; + --sol-base2: #eee8d5; + --sol-base3: #fdf6e3; + + --sol-yellow: #b58900; + --sol-orange: #cb4b16; + --sol-red: #dc322f; + --sol-magenta: #d33682; + --sol-violet: #6c71c4; + --sol-blue: #268bd2; + --sol-cyan: #2aa198; + --sol-green: #859900; + + --sol-canvas: var(--sol-base3); + --sol-panel: var(--sol-base2); + --sol-body: var(--sol-base00); + --sol-emph: var(--sol-base01); + --sol-muted: var(--sol-base0); + --sol-secondary: var(--sol-base1); + --sol-shade: var(--sol-base03); + --sol-page: var(--sol-panel); + + --sol-tint-soft: 18%; + --sol-tint: 25%; + --sol-tint-strong: 45%; + + color-scheme: light dark; +} + +@media (prefers-color-scheme: dark) { + :root { + --sol-canvas: var(--sol-base03); + --sol-panel: var(--sol-base02); + --sol-body: var(--sol-base0); + --sol-emph: var(--sol-base1); + --sol-muted: var(--sol-base00); + --sol-secondary: var(--sol-base01); + --sol-shade: var(--sol-base3); + + --sol-tint-soft: 30%; + --sol-tint: 35%; + --sol-tint-strong: 55%; + } +} + +body:has(> div#cgit) { + margin: 0; + background-color: var(--sol-page); +} + +div#cgit { + --bg: var(--sol-canvas); + --bg-zebra: color-mix(in srgb, var(--sol-panel) 40%, var(--sol-canvas)); + --bg-hl: var(--sol-panel); + --bg-hl2: color-mix(in srgb, var(--sol-panel) 85%, var(--sol-shade)); + --fg: var(--sol-body); + --fg-strong: var(--sol-emph); + --fg-mid: var(--sol-body); + --fg-mute: var(--sol-muted); + --fg-dim: var(--sol-secondary); + --fg-faint: color-mix(in srgb, var(--sol-secondary) 65%, var(--sol-canvas)); + --fg-faintest: color-mix(in srgb, var(--sol-secondary) 45%, var(--sol-canvas)); + --fg-on-tint: var(--sol-emph); + --fg-linenum: var(--sol-secondary); + --border: var(--sol-panel); + --border-mid: var(--sol-secondary); + --border-dark: var(--sol-muted); + --border-strong: var(--sol-emph); + + --red: var(--sol-red); + --red-mid: color-mix(in srgb, var(--sol-red) 75%, var(--sol-shade)); + --red-dark: color-mix(in srgb, var(--sol-red) 55%, var(--sol-shade)); + --green: var(--sol-green); + --green-mid: color-mix(in srgb, var(--sol-green) 70%, var(--sol-shade)); + --green-dark: color-mix(in srgb, var(--sol-green) 50%, var(--sol-shade)); + --blue: var(--sol-blue); + --blue-dark: color-mix(in srgb, var(--sol-blue) 70%, var(--sol-shade)); + + --graph-col1: var(--sol-red); + --graph-col2: var(--sol-green); + --graph-col3: var(--sol-yellow); + --graph-col4: var(--sol-blue); + --graph-col5: var(--sol-magenta); + --graph-col6: var(--sol-cyan); + + --graph-add-bg: var(--sol-green); + --graph-rem-bg: var(--sol-red); + + --notes-bg: color-mix(in srgb, var(--sol-yellow) var(--sol-tint-soft), var(--sol-canvas)); + --notes-border: var(--sol-yellow); + --add-bg: color-mix(in srgb, var(--sol-green) var(--sol-tint), var(--sol-canvas)); + --add-bg-dark: color-mix(in srgb, var(--sol-green) var(--sol-tint-strong), var(--sol-canvas)); + --del-bg: color-mix(in srgb, var(--sol-red) var(--sol-tint), var(--sol-canvas)); + --del-bg-dark: color-mix(in srgb, var(--sol-red) var(--sol-tint-strong), var(--sol-canvas)); + --changed-bg: color-mix(in srgb, var(--sol-yellow) var(--sol-tint), var(--sol-canvas)); + --changed-bg-dark: color-mix(in srgb, var(--sol-yellow) var(--sol-tint-strong), var(--sol-canvas)); + --hunk-bg: color-mix(in srgb, var(--sol-blue) var(--sol-tint), var(--sol-canvas)); + + --deco-branch-bg: color-mix(in srgb, var(--sol-green) var(--sol-tint-soft), var(--sol-canvas)); + --deco-branch-border: var(--sol-green); + --deco-tag-bg: color-mix(in srgb, var(--sol-yellow) var(--sol-tint-soft), var(--sol-canvas)); + --deco-tag-border: var(--sol-yellow); + --deco-tag-annotated-bg: color-mix(in srgb, var(--sol-orange) var(--sol-tint-soft), var(--sol-canvas)); + --deco-tag-annotated-border: var(--sol-yellow); + --deco-remote-bg: color-mix(in srgb, var(--sol-violet) var(--sol-tint-soft), var(--sol-canvas)); + --deco-remote-border: var(--sol-violet); + --deco-other-bg: color-mix(in srgb, var(--sol-red) var(--sol-tint-soft), var(--sol-canvas)); + --deco-other-border: var(--sol-red); + + --syn-keyword: var(--sol-emph); + --syn-keyword-alt: var(--sol-blue); + --syn-type: var(--blue-dark); + --syn-string: var(--sol-red); + --syn-string-alt: var(--sol-green); + --syn-escape: var(--sol-magenta); + --syn-comment: var(--sol-secondary); + --syn-number: var(--sol-yellow); + --syn-preproc: var(--green-mid); + --syn-operator: var(--sol-emph); + --syn-interpolation: var(--sol-blue); + --syn-linenum: var(--sol-secondary); + --syn-error: var(--sol-red); + --syn-mark-bg: color-mix(in srgb, var(--sol-yellow) var(--sol-tint), var(--sol-canvas)); +} |