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>
98 lines
3.1 KiB
CSS
98 lines
3.1 KiB
CSS
/*
|
|
Cyberpunk 2 — ported from a community Omarchy theme, not from basecamp/omarchy's own set.
|
|
|
|
Dark theme (dark), by luminance of its own background — the source repo carries no mode flag of its own to read.
|
|
|
|
Source: https://github.com/SeanAnd/omarchy-cyberpunk-theme (colors.toml (16-colour ANSI)), read by scripts/port-community-themes.ts. Values
|
|
went through deriveOmarchyPalette (scripts/themes/from-ansi.ts) because the source has no Omarchy 4
|
|
colors.toml — some tokens here are reconstructed, not authored. Every text/surface pair is contrast-checked the same way the official themes are.
|
|
|
|
DO NOT EDIT BY HAND. Re-run the script to refresh from the source repo.
|
|
*/
|
|
[data-theme='cyberpunk-2'] {
|
|
--background: #120000;
|
|
--foreground: #ff4040;
|
|
--card: #200000;
|
|
--card-foreground: #ff4040;
|
|
--popover: #200000;
|
|
--popover-foreground: #ff4040;
|
|
--muted: #301212;
|
|
--muted-foreground: #cd6262;
|
|
--accent: #301212;
|
|
--accent-foreground: #ff4040;
|
|
--primary: #b5e4f4;
|
|
--primary-foreground: #120000;
|
|
--secondary: #301212;
|
|
--secondary-foreground: #ff4040;
|
|
--cta: #b5e4f4;
|
|
--cta-foreground: #120000;
|
|
--ctahover: #bee7f5;
|
|
--success: #27a75c;
|
|
--success-foreground: #120000;
|
|
--warning: #ff3c3c;
|
|
--warning-foreground: #120000;
|
|
--destructive: #ff1100;
|
|
--destructive-foreground: #120000;
|
|
--info: #26bdfd;
|
|
--info-foreground: #120000;
|
|
--busy: #ff271e;
|
|
--busy-foreground: #120000;
|
|
--busy-ink: #ff271e;
|
|
--border: #4c0d0d;
|
|
--input: #501313;
|
|
--ring: #b5e4f4;
|
|
--radius: 0.625rem;
|
|
--chart-primary: #b5e4f4;
|
|
--chart-secondary: #ffcf3d;
|
|
--status-success: #27a75c;
|
|
--status-warning: #ff3c3c;
|
|
--status-in-progress: #26bdfd;
|
|
--page-bg: #120000;
|
|
--page-bg-src: '';
|
|
--panel-bg: rgb(32 0 0 / 0.72);
|
|
--panel-border: rgb(76 13 13 / 0.9);
|
|
--panel-border-bare: rgb(76 13 13 / 0.55);
|
|
--panel-raised-bg: rgb(32 0 0 / 0.95);
|
|
--panel-raised-border: rgb(76 13 13 / 1);
|
|
--panel-accent: #b5e4f4;
|
|
--panel-header-bg: rgb(48 18 18 / 0.6);
|
|
--panel-header-fg: #ff4040;
|
|
--panel-radius: 0.75rem;
|
|
--panel-blur: 12px;
|
|
--card-bg: #200000;
|
|
--glass-bg: rgb(32 0 0 / 0.55);
|
|
--glass-border: rgb(76 13 13 / 0.7);
|
|
--dock-bg: rgb(32 0 0 / 0.7);
|
|
--dock-border: rgb(76 13 13 / 0.8);
|
|
--dock-tooltip-bg: #301212;
|
|
--header-bg: rgb(32 0 0 / 0.8);
|
|
--header-border: rgb(76 13 13 / 0.9);
|
|
--header-fg: #ff4040;
|
|
--header-blur: 12px;
|
|
--pixel-grid-color: rgb(154 69 69 / 0.07);
|
|
--card-grid-color: rgb(154 69 69 / 0.05);
|
|
--panel-grid-color: rgb(154 69 69 / 0.06);
|
|
--scrollbar-thumb: rgb(92 88 85 / 0.6);
|
|
--scrollbar-thumb-hover: rgb(92 88 85 / 0.85);
|
|
--scrollbar-thin-thumb: rgb(92 88 85 / 0.45);
|
|
--scrollbar-thin-thumb-hover: rgb(92 88 85 / 0.7);
|
|
--brand: #b5e4f4;
|
|
--brand-foreground: #120000;
|
|
--brand-primary: #b5e4f4;
|
|
--brand-accent: #b5e4f4;
|
|
--brand-warm: #ff271e;
|
|
--brand-deep: #120000;
|
|
--brand-muted: #5c5855;
|
|
--ink: #ff4040;
|
|
--surface-warm: #200000;
|
|
--naturegreen: #27a75c;
|
|
--naturegreen-foreground: #120000;
|
|
--duck-dark: #ff4040;
|
|
--duck-teal: #b5e4f4;
|
|
--duck-yellow: #ff3c3c;
|
|
--duck-orange: #ff271e;
|
|
--duck-forest: #27a75c;
|
|
--duck-beige: #360606;
|
|
--logo-src: '/officer-logo.svg';
|
|
}
|