# FlexHub
> Where I flex my projects, code, and stuff. A place to flex.
FlexHub is a self-hosted git platform with a fully custom paint job —
magenta → blue cyberpunk. Custom theme. Custom homepage. Custom
favicon. Custom hover animations. Custom everything.
- **Canonical URL:** (admin / push / clone)
- **FlexHub-branded entry:** (public showcase)
Both hostnames hit the same instance on `nullstone`. Repos, PATs, SSH
keys, issues — all identical. Login sessions are independent (separate
cookies per hostname).
Built and operated by **[s8n](https://git.s8n.ru/s8n)**.
---
## The flex
FlexHub ships **three** themes:
| Theme | Status | Vibe |
| --------------- | --------------------------------- | ------------------------------------------------------------------- |
| `flexhub-main` | **default** — currently shipping | Magenta → blue gradient. Pixel-glitch wordmark. Bracket-frame nav. |
| `flexhub-og` | available via dropdown | Original orange/black/white. The original "FlexHub" paint. |
| `monochrome` | available via dropdown | Pure black + white. Security/terminal aesthetic. |
### What ships in `flexhub-main`
- **Wordmark** — pixel-glitch "FLEXHUB" PNG with magenta + cyan
chromatic ghosts and a 0.35s shake on navbar hover.
- **Favicon** — `FH` square favicon (PNG-wrapped SVG so it works
everywhere), apple-touch-icon, .ico and 16/32px PNGs.
- **Type** — JetBrains Mono everywhere, Major Mono Display for accent
text and the navbar bracket-frame.
- **Hover** — bracket-frame `[ label ]` on all navbar items in
magenta/cyan, panel-fill on the bordered Sign-in pill.
- **Homepage** — pixel-glitch wordmark, gradient subtitle, and a
4-column "agent grid" of cards with constant gradient stroke,
outlined-letter markers, and a -3px lift + dual outer glow on hover.
- **Color** — primary `#5b6cff` periwinkle blue-violet (HSL 234°).
Gradient stops `#d423ff → #6a3aff → #22b8ff`.
### Locale
English-only. Language dropdown removed from the footer.
`[i18n] LANGS = en-US` locked, so `?lang=xx` query is a no-op.
---
## What's in this repo
```
flexhub/
├── README.md ← this file
├── LICENSE ← MIT
├── docs/
│ └── DEPLOY.md ← how to roll changes to nullstone
├── templates/
│ ├── home.tmpl ← FlexHub homepage
│ └── base/
│ ├── head_navbar.tmpl ← navbar with image-swap logo
│ └── footer_content.tmpl ← stripped footer (no lang switch)
├── public/assets/
│ ├── css/
│ │ ├── theme-flexhub-main.css ← default, magenta→blue
│ │ ├── theme-flexhub-og.css ← original orange paint
│ │ └── theme-monochrome.css ← pure black + white
│ └── img/
│ ├── flexhub-main-favicon.{ico,svg,png} ← FH gradient favicons
│ ├── flexhub-main-favicon-16.png
│ ├── flexhub-main-favicon-32.png
│ ├── flexhub-main-favicon-512.png
│ ├── flexhub-main-apple-touch.png
│ ├── flexhub-main-nav-wordmark.png ← transparent-bg navbar logo
│ ├── flexhub-main-home-wordmark.png ← pixel-glitch homepage wordmark
│ ├── favicon.{ico,svg,png} ← active globals (= main copies)
│ ├── apple-touch-icon.png ← active global
│ ├── favicon-{16,32}.png ← active globals
│ ├── flexhub-wordmark.png ← og-theme wordmark
│ └── logo.{png,svg} ← og-theme logo
└── .forgejo/workflows/secret-scan.yml ← gitleaks scan
```
Anything in this repo maps 1:1 into the live `custom/` tree on
`nullstone`. See `docs/DEPLOY.md` for the exact push flow.
---
## app.ini snippet
```ini
[ui]
THEMES = monochrome,flexhub-og,flexhub-main
DEFAULT_THEME = flexhub-main
[i18n]
LANGS = en-US
NAMES = English
```
---
## License
MIT. See `LICENSE`.
Built and maintained by **[s8n](https://git.s8n.ru/s8n)**. The flex is
the work.