Original rounded Forgejo theme, retained for legacy theme choices.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Quik2007 fb23c66063
Light theme: brighter code/popover surfaces
The stone-150 (#ECEAE3) panel tone was bright enough for body
content but too warm/dim under the GitHub-light chroma palette —
syntax tokens read as barely-tinted greys. Same surface tone made
dropdown popovers blend into the body, and ink-alpha-10 selected
state vanished against the muted bg.

  - --color-code-bg + --color-markup-code-block → stone-50
    Code panels lift off body; chroma palette regains its punch.
  - .ui.dropdown .menu { background: stone-50 } direct override
    Popovers lift; --color-menu untouched (navbar stays as-is).
  - Selected/active item: ink-alpha-10/20 → 20/30
    Highlight is visible against the brighter popover.

Dark theme unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-31 15:23:33 +02:00
.gitignore Initial Podesta theme for Forgejo 15+ 2026-05-10 10:56:34 +02:00
deployment-patch.yaml Annotate deployment for Stakater Reloader 2026-05-14 20:23:36 +02:00
PROD_PLAN.md chore: migrate git host to code.podesta.ai 2026-05-31 13:54:30 +02:00
README.md chore: migrate git host to code.podesta.ai 2026-05-31 13:54:30 +02:00
theme-podesta-auto.css Light theme: brighter code/popover surfaces 2026-05-31 15:23:33 +02:00
theme-podesta-dark.css Restore syntax highlighting + fix attached-stack rounding seams 2026-05-31 14:47:31 +02:00
theme-podesta-light.css Light theme: brighter code/popover surfaces 2026-05-31 15:23:33 +02:00

Podesta — Forgejo theme

A Forgejo 15+ theme that applies the Podesta design system (stone / ink / oxblood, Source Serif 4 + Inter + JetBrains Mono, "float" surfaces with hairline shadow, no aggressive borders) to code.podesta.ai.

Files

File Purpose
theme-podesta-light.css Light mode — stone-100 body, ink-500 primary, oxblood-500 accent.
theme-podesta-dark.css Dark mode — ink-700 body, stone-100 primary, oxblood-300 accent.
theme-podesta-auto.css Light by default, switches via prefers-color-scheme: dark.

The three are independent — there is no shared sidecar. Edit values in theme-podesta-light.css and mirror to theme-podesta-auto.css (the :root { ... } block) if you change anchored tokens.

Install (local Forgejo, manual)

  1. Drop the three CSS files into $GITEA_CUSTOM/public/assets/css/. On the prod pod that resolves to /data/gitea/public/assets/css/.
  2. Add the theme names to the allowed list and (optionally) the default. In app.ini:
    [ui]
    THEMES = forgejo-auto,forgejo-light,forgejo-dark,podesta-auto,podesta-light,podesta-dark
    DEFAULT_THEME = podesta-auto
    
    …or via env (this is what the prod deployment uses):
    FORGEJO__ui__THEMES=forgejo-auto,forgejo-light,forgejo-dark,podesta-auto,podesta-light,podesta-dark
    FORGEJO__ui__DEFAULT_THEME=podesta-auto
    
  3. Restart the Forgejo pod for the env-var change. The CSS files themselves are static assets and don't require a restart.
  4. Per-user pickup: each existing user keeps their old theme until they switch in Settings → Appearance.

Install (this cluster, GitOps via submodule)

This repo is consumed by PodestaAI/infra as a git submodule at apps/forgejo/themes/. ArgoCD watches infra; bumping the submodule pointer is the deploy mechanism. The full one-time setup, day-2 loop, rollback, and risk notes are in PROD_PLAN.md. Quick version:

  • infra/apps/forgejo/kustomization.yaml declares a configMapGenerator that points at themes/theme-podesta-{light,dark,auto}.css and a strategic-merge patch at themes/deployment-patch.yaml.
  • themes/ is the submodule pinned to a commit on this repo's main.
  • Day-2 update: edit + commit + push here → git pull the submodule in infra → commit the new pointer → push infra → ArgoCD rolls Forgejo.

deployment-patch.yaml in this directory is the strategic-merge patch — three subPath volumeMounts plus the FORGEJO__ui__THEMES and FORGEJO__ui__DEFAULT_THEME env vars. It is consumed from inside the submodule, so this repo and the patch always travel together.

Design notes

The theme overrides Forgejo's primary palette (--color-primary-* was a terracotta #c2410c) with ink-500 (#1A2540), and remaps the entire --zinc-* ramp to a warm stone equivalent so all downstream semantic tokens (--color-button, --color-nav-bg, --color-card, etc.) inherit the warm surface. The terracotta-orange accent is retired on purpose — the brand calls for stone-grey + ink-blue + a single oxblood mark, not a third heat color.

Pills: still allowed on nav chips and status indicators (consistent with the May 2026 "more rounded" directive in colors_and_type.css). Cards and content blocks use --border-radius-medium: 12px rather than fully rounded.

The semantic signal palette (red / green / yellow / blue) was retuned: brighter Tailwind defaults give way to muted, AA-on-stone equivalents (#9C2A2A, #2F6F4E, #7A5A18, #2B4F8F). Diff colors are washed — closer to a redlined research paper than a SaaS pull-request UI.

Caveats

  • Source Serif 4 / Inter / JetBrains Mono are loaded via the Google Fonts CDN. If you need a self-hosted setup, drop the WOFF2 files into $GITEA_CUSTOM/public/assets/fonts/ and replace the @import at the top of each theme file with local @font-face declarations.
  • Source Serif 4 is the open-source substitute for Tiempos Headline (named in the brief). If a Tiempos license is procured, only the @import line and the serif fallback stack need to change.
  • The theme overrides the bare CSS surface; it does not patch Fomantic UI components beyond the seven highest-impact selectors (segments / cards, primary buttons, links, page chrome, repo-file rows, code blocks, inputs). Edge surfaces (project boards, complex dropdowns, the Markdown WYSIWYG toolbar) inherit from the variable remapping but were not hand-tuned. Stress-test these in product before declaring done.
  • Dark-mode contrast was verified for the canonical surfaces; complex composed surfaces (e.g., diff hunks with both added and moved rows) should be re-checked under WCAG AA before being declared production-ready.

Reference

  • Korda Design System bundle: colors_and_type.css, ui_kits/marketing/index.html, preview/components-*.html.
  • Forgejo theme variable reference: /var/lib/gitea/public/assets/css/theme-forgejo-light.css inside the running container (extract via forgejo embedded view).