add colors.toml and 0x-hex support, rescuing 44 more community themes

Poked at the 62 "no parseable source" skips from the first pass and found two things
the pipeline didn't handle: several community repos genuinely ship colors.toml too — some
in Omarchy 4's own semantic schema (best case, no derivation needed at all, same quality
as the official 22), others reusing the filename for an unrelated flat color0..color15
scheme — and a handful of alacritty.toml files use 0xrrggbb instead of #rrggbb.

palette.ts's loadPalette is now a thin wrapper over two exported pieces (parseTomlText,
paletteFromRecord) so the community pipeline can attempt the real schema first without
duplicating the reader; falls through to the color16 or ANSI-derived paths otherwise.
generate-themes.ts --check still reports 0 changes for the official set — the refactor
is behavior-preserving there, the lowercase-hex normalization it picked up along the way
touched 7 official theme files cosmetically (their source colors.toml has uppercase hex),
regenerated for real rather than left inconsistent with their own source.

147 -> 191 community themes ported. Of the original 62 unparseable repos, most turned out
to be simply gone (404 on GitHub — repos deleted or renamed since the site listed them);
the rest needed one of the two format additions above. 20 themes remain stuck: 16 dead
repos, 2 with no repo link at all, and the same handful of genuinely low-contrast source
palettes (mostly Solarized variants) where fixing contrast would mean changing the
author's actual colours rather than porting them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-22 01:48:21 +00:00
co-authored by Claude Sonnet 5
parent a58f4d2b32
commit 861fc4a58b
57 changed files with 4859 additions and 124 deletions
+44
View File
@@ -50,12 +50,15 @@
@import './themes/all-hallows-eve.css';
@import './themes/amberbyte.css';
@import './themes/amekoji.css';
@import './themes/andromeda.css';
@import './themes/anonymous.css';
@import './themes/apocalypse.css';
@import './themes/arc-blueberry.css';
@import './themes/archriot.css';
@import './themes/archwave.css';
@import './themes/artzen.css';
@import './themes/ash.css';
@import './themes/astrodark.css';
@import './themes/atari.css';
@import './themes/atelier.css';
@import './themes/aura.css';
@@ -70,15 +73,23 @@
@import './themes/bauhaus.css';
@import './themes/beachvan.css';
@import './themes/beta.css';
@import './themes/biscuit-de-mar-dark.css';
@import './themes/black-arch.css';
@import './themes/black-gold.css';
@import './themes/black-money.css';
@import './themes/blackturq.css';
@import './themes/blueridge.css';
@import './themes/brutalism.css';
@import './themes/caroline-skyline.css';
@import './themes/catppuccin-mocha.css';
@import './themes/cattpuccin-glass.css';
@import './themes/city-783.css';
@import './themes/copper-night.css';
@import './themes/corporate.css';
@import './themes/cpunk.css';
@import './themes/crimson.css';
@import './themes/crimson-gold.css';
@import './themes/cyberpunk-2.css';
@import './themes/dark-xp.css';
@import './themes/dayfox.css';
@import './themes/dead-space.css';
@@ -86,21 +97,32 @@
@import './themes/delete.css';
@import './themes/delorean.css';
@import './themes/demon.css';
@import './themes/desert-gleam.css';
@import './themes/desert-twilight.css';
@import './themes/dotrb.css';
@import './themes/drac.css';
@import './themes/dracula.css';
@import './themes/dragon.css';
@import './themes/dreamwave.css';
@import './themes/elysian.css';
@import './themes/ember-n-ash.css';
@import './themes/eva-unit-01.css';
@import './themes/event-horizon.css';
@import './themes/everblush.css';
@import './themes/evergarden.css';
@import './themes/farline.css';
@import './themes/felix.css';
@import './themes/fiery-ocean.css';
@import './themes/fireside.css';
@import './themes/firesky.css';
@import './themes/flat-dracula.css';
@import './themes/flexoki-dark.css';
@import './themes/florida-man.css';
@import './themes/fluid-glass.css';
@import './themes/forest-green.css';
@import './themes/frost.css';
@import './themes/futurism.css';
@import './themes/ghost-pastel.css';
@import './themes/glory-antic.css';
@import './themes/gold-rush.css';
@import './themes/gotham-city.css';
@@ -110,12 +132,18 @@
@import './themes/gruber-tsoding.css';
@import './themes/grudark.css';
@import './themes/harbor.css';
@import './themes/harbor-dark.css';
@import './themes/hex.css';
@import './themes/himalaya.css';
@import './themes/hinterlands.css';
@import './themes/hollow-knight.css';
@import './themes/infernium.css';
@import './themes/infernium-dark.css';
@import './themes/inkypinky.css';
@import './themes/kanso.css';
@import './themes/killer-klowns.css';
@import './themes/kimiko.css';
@import './themes/koyanagi.css';
@import './themes/kurayami.css';
@import './themes/lain.css';
@import './themes/lairetam.css';
@@ -135,17 +163,23 @@
@import './themes/monokai.css';
@import './themes/monokai-dark.css';
@import './themes/monolith.css';
@import './themes/monolith-2.css';
@import './themes/moodpeak.css';
@import './themes/nagai-poolside.css';
@import './themes/nagai-twilight.css';
@import './themes/nebulite.css';
@import './themes/neo-sploosh.css';
@import './themes/neon-street.css';
@import './themes/neovoid.css';
@import './themes/nes.css';
@import './themes/nyc.css';
@import './themes/one-dark-pro.css';
@import './themes/oxford.css';
@import './themes/oxocarbon-dark.css';
@import './themes/pandora.css';
@import './themes/pina.css';
@import './themes/pink-blood.css';
@import './themes/pmndrs.css';
@import './themes/pulsar.css';
@import './themes/purple-moon.css';
@import './themes/purplewave.css';
@@ -153,11 +187,19 @@
@import './themes/rdddcs.css';
@import './themes/red-monarch.css';
@import './themes/retropc.css';
@import './themes/reverie.css';
@import './themes/robco.css';
@import './themes/robco-mojave.css';
@import './themes/rose-pine-dark.css';
@import './themes/roseofdune.css';
@import './themes/royal.css';
@import './themes/rustleaf.css';
@import './themes/saga.css';
@import './themes/sakura.css';
@import './themes/sapphire.css';
@import './themes/serenity.css';
@import './themes/shadesofjade.css';
@import './themes/snow.css';
@import './themes/snow-black.css';
@import './themes/space-bound.css';
@import './themes/space-monkey.css';
@@ -165,6 +207,7 @@
@import './themes/spectra.css';
@import './themes/stellar.css';
@import './themes/stillmoon.css';
@import './themes/sunkissed.css';
@import './themes/sunset.css';
@import './themes/synthetica.css';
@import './themes/synthwave-84.css';
@@ -188,6 +231,7 @@
@import './themes/wasteland.css';
@import './themes/waveform-dark.css';
@import './themes/white-gold.css';
@import './themes/x-1632.css';
@import './themes/yuugure.css';
@import './chrome.css';