1
5
Fork
You've already forked forgejo-terminal-theme
0
Make Forgejo look a terminal!
  • CSS 81.5%
  • Go Template 18.5%
Iván Hernández Cazorla f32dab9f46
feat: fix a.button primary color + Teams button text ( #1 , #3 )
Merge feature branch with the two CSS fixes:
- a:not(.button) scopes link color to exclude all button elements
- a.button.primary added to primary button selector for explicit coverage
Closes #1, closes #3 
2026年07月12日 02:26:37 +01:00
screenshots docs: add a few screenshots 2026年03月23日 01:01:25 +00:00
favicon-forgejo-terminal.svg feat: add Forgejo terminal-style logo and favicon 2026年03月23日 00:16:04 +00:00
footer.tmpl feat!(templates): add WIP footer template 2026年03月23日 00:53:53 +00:00
LICENSE chore: add license 2026年03月23日 00:09:57 +00:00
logo-forgejo-terminal-static.svg feat: add Forgejo terminal-style logo and favicon 2026年03月23日 00:16:04 +00:00
logo-forgejo-terminal.svg feat: add Forgejo terminal-style logo and favicon 2026年03月23日 00:16:04 +00:00
README.md docs: add link to screenshots 2026年03月23日 01:18:38 +00:00
SCREENSHOTS.md docs: move screenshots to SCREENSHOTS.md 2026年03月23日 01:07:41 +00:00
theme-terminal.css feat: address issue #1 - fix: a.button primary color override 2026年04月04日 01:25:13 +01:00

forgejo-terminal-theme

_ A minimal, terminal-inspired theme for Forgejo.

CRT phosphor green on deep black. Monospace everywhere. Flat surfaces, no shadows, no gradients. Just code.

See the screenshots for a preview.

Installation

Theme (CSS)

mkdir -p <forgejo-data>/custom/public/assets/css
cp theme-terminal.css <forgejo-data>/custom/public/assets/css/

Add the theme to your app.ini or via environment variable:

[ui]
THEMES = forgejo-auto,forgejo-light,forgejo-dark,terminal
DEFAULT_THEME = terminal

Or in Docker Compose:

- FORGEJO__ui__THEMES=forgejo-auto,forgejo-light,forgejo-dark,terminal- FORGEJO__ui__DEFAULT_THEME=terminal

Logo and favicon (optional)

Two logo variants are provided:

  • logo.svg: animated version with a blinking cursor
  • logo-static.svg: same design without the animation

Rename whichever you prefer to logo.svg before copying.

mkdir -p <forgejo-data>/custom/public/assets/img
cp logo.svg <forgejo-data>/custom/public/assets/img/logo.svg
cp favicon.svg <forgejo-data>/custom/public/assets/img/favicon.svg

No restart is required. A hard refresh is enough.

Warning

Forgejo does not officially support custom templates. They may break between versions without notice. These templates are not required to use the theme and are provided as a work in progress, not ready for production use.

Note

header.tmpl is under testing and not available yet.

mkdir -p /custom/templates/custom
cp footer.tmpl /custom/templates/custom/footer.tmpl

These add:

  • A green scanline accent on the navbar and footer borders
  • Uppercase monospace nav items
  • A page load time indicator in the footer

Unlike CSS and static files, templates require a restart of Forgejo to take effect. With Docker:

docker compose restart forgejo

Permissions (Docker)

If running the rootless Docker image, make sure the files are owned by the correct user:

chown -R 1000:1000 <forgejo-data>/custom/

Extras

Blinking cursor in the navbar

If you want a blinking terminal cursor next to the instance logo in the navigation bar, add this to the end of theme-terminal.css:

@keyframes blink {
 0%, 100% { opacity: 1; }
 50% { opacity: 0; }
}
#navbar-logo::after {
 content: "█";
 color: #33ff66;
 animation: blink 1s step-end infinite;
 margin-left: 2px;
 font-size: 0.8em;
}

Note

The blinking cursor looks redundant if you use the terminal-style logo provided by this theme. It works better with a different logo, such as the default Forgejo one.

Compatibility

Tested with Forgejo v14.0. Should work with any version that uses CSS variables for theming (v7.0+). Gitea compatibility is likely but untested.

License

The CSS theme and templates are licensed under the MIT License.

The logo and favicon included in this theme are adaptations of the original Forgejo logo, which is licensed under CC-BY-SA 4.0. These derived works are distributed under the same license, as required by the share-alike clause.