Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

A free and open-source forge that lives in your Git repo.

Document the tokens the starter stylesheet offers

bc95767f6f9e79c0382becabe90b31d790d6554f · Keenan Nemetz · 1d ago · parent 3e7c5e67

Document the tokens the starter stylesheet offers

The starter profile/custom.css used a plain :root selector, which loses to the more specific :root[data-theme^="everforest-"] rules in the built-in theme sheet. Show the selector that wins, group the tokens by what they change, and add dark/light blocks plus the page-level classes to reach for when a token is not enough.

Put the same reference in docs/configuration.md so the customization is documented outside the generated repository.

docs/configuration.md +46

@@ -175,6 +175,52 @@ instance_name = "Acme Forge"
175 175
176 176 None of this changes the `vole` wordmark in the top bar.
177 177
178 ### Theming
179
180 `profile/custom.css` is loaded after the built-in `vole.css` and
181 `everforest.css`. Override the design tokens rather than copying rules; the
182 layout, contrast, and responsive behaviour then stay intact.
183
184 Use `:root[data-theme]`, not plain `:root`. Everforest sets its tokens on
185 `:root[data-theme^="everforest-"]`, which is more specific than `:root`, so a
186 plain `:root` override can lose even though the custom file loads later.
187
188 ```css
189 :root[data-theme] {
190 --accent: #c678dd;
191 --accent-soft: color-mix(in srgb, var(--accent) 14%, transparent);
192 --radius: 4px;
193 --radius-lg: 6px;
194 --page-max: 1200px;
195 }
196 ```
197
198 A value that has to differ between dark and light modes belongs in one of these
199 blocks. They match every Everforest variant:
200
201 ```css
202 :root[data-theme^="everforest-dark"] { --bg: #101418; }
203 :root[data-theme^="everforest-light"] { --bg: #fffdf7; }
204 ```
205
206 The tokens, grouped by what they change:
207
208 | Group | Tokens |
209 |---|---|
210 | surfaces | `--bg`, `--bg-panel`, `--bg-raised`, `--bg-hover`, `--bg-active`, `--border`, `--border-strong` |
211 | text | `--fg`, `--fg-muted`, `--fg-faint` |
212 | identity | `--accent`, `--accent-fg`, `--accent-soft` |
213 | status | `--good`, `--good-soft`, `--bad`, `--bad-soft`, `--warn`, `--warn-soft`, `--running`, `--merged`, `--merged-soft`, `--status-fg` |
214 | shape | `--radius`, `--radius-lg`, `--page-max`, `--page-gutter`, `--search-w` |
215 | type | `--font`, `--mono`, `--fs`, `--lh`. Leave `--font-scale` alone: it is the reader's text-size preset |
216 | syntax | `--syn-comment`, `--syn-punctuation`, `--syn-operator`, `--syn-number`, `--syn-string`, `--syn-keyword`, `--syn-function`, `--syn-type`, `--syn-variable`, `--syn-added`, `--syn-deleted` |
217
218 If a token cannot express the change, these page-level classes cover most
219 re-skins: `.panel`, `.readme`, `.md`, `.repo-card`, `.repo-grid`, `.home-grid`,
220 `.home-rail`, `.repohead`, `.tabs`, `.chip`, `.label`, `.status`,
221 `.config-table`, `.diff`, `.blob`. They are not a public API: an upgrade may move
222 markup, so prefer a token when one exists.
223
178 224 ## Public URL
179 225
180 226 Set `public_url` when people reach Vole through a different address than