fix: write all theme.json defaults to vault theme frontmatter
Previously, only UI chrome colours and 3 editor vars were written to theme note frontmatter. CSS vars like --lists-bullet-size, --headings-h1-font-size, etc. remained unset, so EditorTheme.css rules had no effect. - Expand DEFAULT_VAULT_THEME_VARS from 46 to 140 entries, covering every property from theme.json (editor, headings, lists, checkboxes, inline styles, code blocks, blockquote, table, horizontal rule, colors) - Fix missing px suffix on editor-font-size and editor-max-width - Add missing semantic vars: bg-card, text-tertiary - Refactor built-in vault themes from const strings to generated functions with per-theme colour overrides (DRY, all themes get editor properties) - Quote var() references in frontmatter to prevent YAML parse issues - Add regression tests for create_vault_theme and seed_vault_themes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -428,17 +428,17 @@ pub fn create_getting_started_vault(target_path: &str) -> Result<String, String>
|
||||
.map_err(|e| format!("Failed to create theme directory: {e}"))?;
|
||||
fs::write(
|
||||
theme_notes_dir.join("default.md"),
|
||||
crate::theme::DEFAULT_VAULT_THEME,
|
||||
crate::theme::default_vault_theme(),
|
||||
)
|
||||
.map_err(|e| format!("Failed to write default vault theme: {e}"))?;
|
||||
fs::write(
|
||||
theme_notes_dir.join("dark.md"),
|
||||
crate::theme::DARK_VAULT_THEME,
|
||||
crate::theme::dark_vault_theme(),
|
||||
)
|
||||
.map_err(|e| format!("Failed to write dark vault theme: {e}"))?;
|
||||
fs::write(
|
||||
theme_notes_dir.join("minimal.md"),
|
||||
crate::theme::MINIMAL_VAULT_THEME,
|
||||
crate::theme::minimal_vault_theme(),
|
||||
)
|
||||
.map_err(|e| format!("Failed to write minimal vault theme: {e}"))?;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user