refreshed themes
This commit is contained in:
parent
83b2397c87
commit
0a03de73f1
|
|
@ -715,22 +715,30 @@
|
||||||
* keeps every glyph at the same width and the caret perfectly
|
* keeps every glyph at the same width and the caret perfectly
|
||||||
* aligned on every platform.
|
* aligned on every platform.
|
||||||
*
|
*
|
||||||
* Each token uses a dedicated CSS variable (--syntax-*) with a
|
* Token → variable mapping:
|
||||||
* fallback chained to an existing semantic theme token, so all
|
* Almost every token uses a semantic theme variable directly
|
||||||
* existing themes keep working with sensible defaults; individual
|
* (--accent-primary, --text-tertiary, --border-primary), so
|
||||||
* themes can override --syntax-bold/--syntax-italic/--syntax-code
|
* adding a new theme requires zero syntax-highlight work — the
|
||||||
* for fine-tuning.
|
* theme's own brand colour automatically propagates.
|
||||||
|
*
|
||||||
|
* The two exceptions are bold and italic, which have no natural
|
||||||
|
* semantic home (the originals relied on font-weight/style which
|
||||||
|
* we can no longer use). They have universal warm/cool defaults
|
||||||
|
* (yellow/cyan) and themes only override --syntax-bold or
|
||||||
|
* --syntax-italic when the default would collide with their
|
||||||
|
* accent (e.g. Cobalt2 yellow accent) or needs a deeper variant
|
||||||
|
* for a light background.
|
||||||
*/
|
*/
|
||||||
.syntax-overlay .md-heading { color: var(--syntax-heading, var(--accent-primary)); }
|
.syntax-overlay .md-heading { color: var(--accent-primary); }
|
||||||
.syntax-overlay .md-bold { color: var(--syntax-bold, var(--warning)); }
|
.syntax-overlay .md-bold { color: var(--syntax-bold, #fbbf24); }
|
||||||
.syntax-overlay .md-italic { color: var(--syntax-italic, var(--accent-primary)); }
|
.syntax-overlay .md-italic { color: var(--syntax-italic, #22d3ee); }
|
||||||
.syntax-overlay .md-code { color: var(--syntax-code, var(--error)); background: var(--bg-tertiary); border-radius: 2px; }
|
.syntax-overlay .md-code { color: var(--accent-secondary, var(--accent-primary)); background: var(--bg-tertiary); border-radius: 2px; }
|
||||||
.syntax-overlay .md-link { color: var(--syntax-link, var(--link-color, var(--accent-primary))); }
|
.syntax-overlay .md-link { color: var(--link-color, var(--accent-primary)); }
|
||||||
.syntax-overlay .md-link-url { color: var(--text-tertiary); }
|
.syntax-overlay .md-link-url { color: var(--text-tertiary); }
|
||||||
.syntax-overlay .md-list { color: var(--syntax-list, var(--accent-primary)); }
|
.syntax-overlay .md-list { color: var(--accent-primary); }
|
||||||
.syntax-overlay .md-blockquote{ color: var(--syntax-blockquote, var(--text-tertiary)); }
|
.syntax-overlay .md-blockquote{ color: var(--text-tertiary); }
|
||||||
.syntax-overlay .md-hr { color: var(--border-primary); }
|
.syntax-overlay .md-hr { color: var(--border-primary); }
|
||||||
.syntax-overlay .md-wikilink { color: var(--syntax-wikilink, var(--link-internal, var(--accent-primary))); }
|
.syntax-overlay .md-wikilink { color: var(--link-internal, var(--accent-primary)); }
|
||||||
.syntax-overlay .md-frontmatter { color: var(--text-tertiary); }
|
.syntax-overlay .md-frontmatter { color: var(--text-tertiary); }
|
||||||
.syntax-overlay .md-codeblock { color: var(--text-secondary); background: var(--bg-tertiary); }
|
.syntax-overlay .md-codeblock { color: var(--text-secondary); background: var(--bg-tertiary); }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,10 @@
|
||||||
--success: #3ad900;
|
--success: #3ad900;
|
||||||
--error: #ff0088;
|
--error: #ff0088;
|
||||||
--warning: #ffc600;
|
--warning: #ffc600;
|
||||||
|
|
||||||
|
/* Bold override: accent is yellow, so default yellow bold would collide. */
|
||||||
|
--syntax-bold: #ff9d00; /* cobalt2 orange */
|
||||||
|
|
||||||
/* Shadows */
|
/* Shadows */
|
||||||
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
|
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
|
||||||
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
|
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
|
||||||
|
|
|
||||||
|
|
@ -27,16 +27,6 @@
|
||||||
--error: #f87171;
|
--error: #f87171;
|
||||||
--warning: #fbbf24;
|
--warning: #fbbf24;
|
||||||
|
|
||||||
/* Markdown syntax-highlight colors (color-only, no font-weight / italic) */
|
|
||||||
--syntax-heading: #60a5fa; /* blue */
|
|
||||||
--syntax-bold: #fbbf24; /* amber/yellow — Cursor-style */
|
|
||||||
--syntax-italic: #c084fc; /* violet */
|
|
||||||
--syntax-code: #f87171; /* salmon red */
|
|
||||||
--syntax-link: #60a5fa;
|
|
||||||
--syntax-list: #f59e0b; /* warm orange — stands out at line start */
|
|
||||||
--syntax-wikilink:#a5b4fc; /* indigo */
|
|
||||||
--syntax-blockquote: #9ca3af; /* muted gray */
|
|
||||||
|
|
||||||
/* Shadows */
|
/* Shadows */
|
||||||
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
|
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
|
||||||
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
|
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
--success: #50fa7b;
|
--success: #50fa7b;
|
||||||
--error: #ff5555;
|
--error: #ff5555;
|
||||||
--warning: #f1fa8c;
|
--warning: #f1fa8c;
|
||||||
|
|
||||||
/* Shadows */
|
/* Shadows */
|
||||||
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
|
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
|
||||||
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
|
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
--success: #b8bb26; /* Green */
|
--success: #b8bb26; /* Green */
|
||||||
--error: #fb4934; /* Red */
|
--error: #fb4934; /* Red */
|
||||||
--warning: #fabd2f; /* Yellow */
|
--warning: #fabd2f; /* Yellow */
|
||||||
|
|
||||||
/* Shadows */
|
/* Shadows */
|
||||||
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
|
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
|
||||||
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
|
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
|
||||||
|
|
|
||||||
|
|
@ -27,15 +27,9 @@
|
||||||
--error: #ef4444;
|
--error: #ef4444;
|
||||||
--warning: #f59e0b;
|
--warning: #f59e0b;
|
||||||
|
|
||||||
/* Markdown syntax-highlight colors (color-only, no font-weight / italic) */
|
/* Bold/italic overrides: deeper variants for readability on light background. */
|
||||||
--syntax-heading: #2563eb; /* deep blue */
|
--syntax-bold: #b45309; /* deep amber */
|
||||||
--syntax-bold: #b45309; /* deep amber — readable on white */
|
--syntax-italic: #0891b2; /* deep cyan */
|
||||||
--syntax-italic: #7c3aed; /* deep violet */
|
|
||||||
--syntax-code: #be123c; /* crimson */
|
|
||||||
--syntax-link: #2563eb;
|
|
||||||
--syntax-list: #c2410c; /* burnt orange */
|
|
||||||
--syntax-wikilink:#4f46e5; /* indigo */
|
|
||||||
--syntax-blockquote: #6b7280; /* slate */
|
|
||||||
|
|
||||||
/* Shadows */
|
/* Shadows */
|
||||||
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,11 @@
|
||||||
--success: #5da60a;
|
--success: #5da60a;
|
||||||
--error: #d9534f;
|
--error: #d9534f;
|
||||||
--warning: #f0ad4e;
|
--warning: #f0ad4e;
|
||||||
|
|
||||||
|
/* Bold/italic overrides: deeper variants for readability on lime background. */
|
||||||
|
--syntax-bold: #a16207; /* deep amber */
|
||||||
|
--syntax-italic: #0e7490; /* deep cyan */
|
||||||
|
|
||||||
/* Shadows */
|
/* Shadows */
|
||||||
--shadow-sm: 0 1px 2px 0 rgba(58, 77, 34, 0.1);
|
--shadow-sm: 0 1px 2px 0 rgba(58, 77, 34, 0.1);
|
||||||
--shadow-md: 0 4px 6px -1px rgba(58, 77, 34, 0.15);
|
--shadow-md: 0 4px 6px -1px rgba(58, 77, 34, 0.15);
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,10 @@
|
||||||
--success: #a6e22e;
|
--success: #a6e22e;
|
||||||
--error: #f92672;
|
--error: #f92672;
|
||||||
--warning: #e6db74;
|
--warning: #e6db74;
|
||||||
|
|
||||||
|
/* Italic override: accent is cyan, so default cyan italic would collide. */
|
||||||
|
--syntax-italic: #ae81ff; /* Monokai purple — cool but distinct */
|
||||||
|
|
||||||
/* Shadows */
|
/* Shadows */
|
||||||
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
|
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
|
||||||
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
|
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
--success: #a3be8c;
|
--success: #a3be8c;
|
||||||
--error: #bf616a;
|
--error: #bf616a;
|
||||||
--warning: #ebcb8b;
|
--warning: #ebcb8b;
|
||||||
|
|
||||||
/* Shadows */
|
/* Shadows */
|
||||||
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
|
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
|
||||||
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
|
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,12 @@
|
||||||
--success: #388a34;
|
--success: #388a34;
|
||||||
--error: #e51400;
|
--error: #e51400;
|
||||||
--warning: #f6a623;
|
--warning: #f6a623;
|
||||||
|
|
||||||
|
/* Bold/italic overrides: deeper variants for readability on light background,
|
||||||
|
picked to match VS Code Light+ token colours. */
|
||||||
|
--syntax-bold: #795e26; /* VS function brown-amber */
|
||||||
|
--syntax-italic: #267f99; /* VS type teal */
|
||||||
|
|
||||||
/* Shadows */
|
/* Shadows */
|
||||||
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.08);
|
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.08);
|
||||||
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.12);
|
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.12);
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
--success: #4caf50;
|
--success: #4caf50;
|
||||||
--error: #ff5252;
|
--error: #ff5252;
|
||||||
--warning: #ffb74d;
|
--warning: #ffb74d;
|
||||||
|
|
||||||
/* Shadows - deeper for high contrast */
|
/* Shadows - deeper for high contrast */
|
||||||
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.6);
|
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.6);
|
||||||
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.7);
|
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.7);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue