M19-I02: Themes.md loader #47

Open
opened 2026-05-29 10:44:21 +00:00 by claudian · 0 comments

📂 Themes.md loader

Parse ~/Settings/Themes.md (M15 Settings contract): each theme is a
## <Title> block with an - [ ] active checkbox and a yaml fence of values.
The checked theme is active; none checked → the compiled-in dpn floor;
multiple checked → first wins. Malformed blocks skip with a notice, never crash.

Acceptance

A Themes.md with several blocks resolves the checked one as active; an empty/no-
check file falls back to dpn; a malformed yaml fence is skipped with a user
notice (no crash). See M19-Theme-System · M15-Settings-Contract-V2.

# 📂 Themes.md loader Parse `~/Settings/Themes.md` (M15 Settings contract): each theme is a `## <Title>` block with an `- [ ] active` checkbox and a yaml fence of values. The **checked** theme is active; none checked → the compiled-in `dpn` floor; multiple checked → first wins. Malformed blocks skip with a notice, never crash. ## Acceptance A Themes.md with several blocks resolves the checked one as active; an empty/no- check file falls back to `dpn`; a malformed yaml fence is skipped with a user notice (no crash). See [[M19-Theme-System]] · [[M15-Settings-Contract-V2]].
claudian added this to the Theme System milestone 2026-05-29 10:44:21 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
n8k99/dragonpunkos#47
No description provided.