- CSS 94.5%
- HTML 4.9%
- JavaScript 0.6%
| .forgejo/workflows | ||
| flags | ||
| forgejo-upstream@1a3cdde2ed | ||
| proxy | ||
| public/assets | ||
| templates | ||
| upgrade_plans | ||
| .gitignore | ||
| compose.yaml | ||
| README.md | ||
| VERSION | ||
Neptune Forgejo
Forgejo instance running at git.bros.ninja.
Stack
# compose.yaml
services:
db: # postgres:17-alpine
server: # codeberg.org/forgejo/forgejo:14
proxy: # nginx:alpine (reverse proxy + flag WebDAV)
runner: # code.forgejo.org/forgejo/runner:6
Data is stored at /mnt/services/forgejo/.
Catppuccin Themes
56 Catppuccin theme CSS files covering all 4 flavors (Latte, Frappe, Macchiato, Mocha) and 14 accent colors. Each theme includes:
- Full Forgejo UI color mapping
- Dark text overrides for buttons/labels on dark themes
- Message header color fixes across all 7 message types
- Catppuccin-style markdown typography (headings = accent, bold = sapphire, italic = green, strikethrough = maroon, blockquote = rosewater)
- 14 auto-theme wrappers that switch between Latte (light) and Macchiato (dark) via
prefers-color-scheme
Theme files live in public/assets/css/theme-catppuccin-{flavor}-{accent}.css.
Theme Preview System
A modular preview system for auditing how UI components render under each theme:
| File | Purpose |
|---|---|
public/assets/theme-components.html |
Shared HTML fragments (page mockups + atomic component cards) |
public/assets/css/theme-components.css |
Preview layout styles |
public/assets/js/theme-components.js |
Shared JS: swatch rendering, flagging, loadComponents() API |
Two modes:
Admin mode (/-/admin/config/settings): Atomic component cards with click-to-flag system for marking rendering issues. Includes sticky theme navigator with accent/flavor selectors and keyboard nav (j/k cycle accent, h/l cycle flavor).
Flag System
Flags are persisted via nginx WebDAV at /_flags/ backed by ./flags/. The admin theme review page can flag individual components per theme, saved to flags.json.
Demo mode (User Settings > Appearance > Preview Components): Page mockups only (Issue List, PR Detail, Repo Browser, Notifications, Dashboard Feed, Typography) for quick visual checks when changing themes.
Custom Template Overrides
Templates in ./templates/ override upstream Forgejo defaults (bind-mounted read-only). Changes take effect after restarting the container.
Fetch & Switch Buttons
A "Fetch & Switch" clipboard button (terminal icon) copies a one-liner to check out the branch locally:
git fetch -u origin <branch>:<branch> && git switch <branch>
| Template | Location in UI |
|---|---|
repo/clone_buttons.tmpl |
Clone panel on branch pages, next to the copy URL button |
repo/branch/list.tmpl |
Branch list, next to the copy branch name button |
repo/issue/view_title.tmpl |
Pull request header, next to the copy branch name button |
PR Checkout Button
| Template | Change |
|---|---|
repo/issue/view_content/pull_merge_instruction.tmpl |
Icon-only checkout button positioned next to the merge button (replaces the collapsible merge instructions) |
Copy Logs (Action Run Viewer)
A Copy Logs button is injected into the gear dropdown on the action run view page. Copies all loaded step logs as plain text with a header containing commit details, run number, workflow, and job name. Also adds Expand All and Collapse All buttons to open or close all log step sections at once.
| Template | Location in UI |
|---|---|
custom/footer.tmpl |
Gear dropdown on action run view, after "Download Logs" |
Admin Overrides
| Template | Change |
|---|---|
admin/navbar.tmpl |
Adds "Theme Review" link in admin sidebar |
admin/config_settings.tmpl |
Embeds theme review tool with navigator and flagging |
User Settings Overrides
| Template | Change |
|---|---|
user/settings/appearance.tmpl |
Inline theme preview, accent color selector grid |
user/settings/keys_ssh.tmpl |
SSH key display customization |
