No description
  • CSS 94.5%
  • HTML 4.9%
  • JavaScript 0.6%
Find a file
Mike Bros 1e4f6bef00
All checks were successful
Publish / detect-release (push) Successful in 6s
Publish / tag (push) Successful in 4s
Publish / promote-release (push) Successful in 1s
Merge pull request 'Release v0.4.1 — Approve Button Fix for Private Repos' (!7) from release/0.4.1 into main
Reviewed-on: #7
Reviewed-by: Mike Bros <dev@bros.ninja>
2026-03-22 02:52:06 +00:00
.forgejo/workflows fix(ci): correct version detection for new VERSION file 2026-03-14 02:39:03 +00:00
flags fix: improve link text contrast inside message/alert components 2026-02-20 18:25:57 +00:00
forgejo-upstream@1a3cdde2ed chore: update forgejo-upstream submodule to v14.0.3 2026-03-14 00:51:59 +00:00
proxy feat: add Catppuccin theme system with 56 themes, admin review tool, and template overrides 2026-02-18 05:21:02 +00:00
public/assets fix: improve link text contrast inside message/alert components 2026-02-20 18:25:57 +00:00
templates fix(template): approve button for private repos and admin self-approval 2026-03-21 18:56:49 +00:00
upgrade_plans init 2026-02-14 06:55:54 +00:00
.gitignore init 2026-02-14 06:55:54 +00:00
compose.yaml fix(runner): rename Docker network from dockyard-shared to docker-shared 2026-02-20 10:26:56 -06:00
README.md docs: add screenshot to Copy Logs section in README 2026-02-19 16:34:12 +00:00
VERSION chore(release): bump version to 0.4.1 2026-03-21 18:57:01 +00:00

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).

Admin Mode

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.

Demo Mode

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)

PR Checkout Button

PR Checkout Button 2

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.

Copy Logs dropdown menu

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