- CSS 81.5%
- Go Template 18.5%
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=terminalLogo and favicon (optional)
Two logo variants are provided:
logo.svg: animated version with a blinking cursorlogo-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.
Header and footer templates (optional, WIP)
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.tmplis 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.