- Python 55.1%
- HTML 33.1%
- Shell 11.8%
|
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Drop the fabricated "cmuxthemes" credit. The Black Metal Bathory palette is by metalelf0 (Andrea Schiavini), per the upstream base16 scheme and neovim theme, so correct palette.toml and remove the bogus "downstream redistribution" clause from LICENSE. Remove em dashes from all prose and generated metadata (README, palette comments, the Nova store description, CSS header) to match house style. Add license (MIT) and min_runtime to the Nova manifest so the Extension Library listing is complete. |
||
|---|---|---|
| brand | ||
| build | ||
| preview | ||
| .gitignore | ||
| .woodpecker.yml | ||
| CHANGELOG.md | ||
| LICENSE | ||
| palette.toml | ||
| README.md | ||
Hammerheart: core
The source of truth for Hammerheart: a warm-monochrome dark theme anchored on International Orange (#f56020). Edit the palette here; every platform repo is generated from it.
The palette's colour values derive from the Black Metal Bathory theme by metalelf0 (Andrea Schiavini), expanded with ochre tones and a small set of muted brand accents for syntax legibility. Named for the Bathory song Hammerheart (the closing track of their 1991 album Twilight of the Gods, which adapts Holst's Jupiter) and the International Orange that also carries the Refugee Nation Flag.
Variant: Balanced. Functions, variables, and members each get their own brand-accent tone, while everything else stays on the warm anchors.
How it works
palette.toml ← edit colours here (single source of truth)
build/generate.py ← palette.toml -> dist/<platform>/
build/publish.sh ← regenerate + push each dist/<platform> to its repo
brand/ ← logo source (svg) + raster + icon assets
dist/ ← generated output (gitignored)
python3 build/generate.py # build into dist/
build/publish.sh # build + push the platform repos (needs the Forgejo token)
build/publish.sh --sites # also sync + push the websites (abdo.wtf, abdodaoud.com)
CI: .woodpecker.yml (Woodpecker at ci.abdo.wtf) validates the generated output on push to main and auto-publishes the platform repos. Needs the repo enabled in Woodpecker and a forgejo_token secret (a token that can push to the hammerheart/* repos).
Platform repos (generated, do not edit directly)
| Platform | Repo | Channel |
|---|---|---|
| Nova | hammerheart/nova | Panic Extension Library |
| Obsidian (Minimal) | hammerheart/obsidian | CSS snippet / Style Settings |
| Xcode | hammerheart/xcode | install.sh / manual copy |
| Web (Zola/serene) | no repo → dist/web/ |
consumed by abdo.wtf / abdodaoud.com |
Palette
| Role | Colour | Source |
|---|---|---|
| Background / chrome | #1a1a1a / #0f0f0f |
|
| Plain text | #c1c1c1 |
|
| Keyword / boolean / tag / heading | #f56020 |
International Orange |
| Type / class | #d4a76c |
ochre |
| Function / method | #47976f |
brand: tip |
| Variable / parameter / link | #9776cd |
brand: important |
| Property / member / attribute | #ad7a52 |
brand: warning |
| Number / constant | #b48a5e |
dark ochre |
| String / character / regex | #fbcb97 |
peach |
| Comment | #5f8787 |
teal (reserved) |
| Error / invalid | #d06161 |
brand: caution |
License
MIT. See LICENSE. The "Hammerheart" name and International Orange (#f56020) are reserved brand identity, not covered by the MIT grant (forks welcome under their own name). Palette lineage credited in LICENSE; only colour values are reused, so it is courtesy attribution.