Releases: inkdropapp/theme-dev-helpers
Release list
v0.6.1
Fixes
- generate-palette: map the
mermaidmanifest category to thepreviewtheme type so--mermaid-*diagram colours are included in the extractedpalette.json(the stylesheet was already linked in, but its variables were silently dropped). - ci: drop the removed
--type uiflag from the palette-generation step (obsolete sincegenerate-palettestarted extracting all surfaces in one run in v0.6.0).
Chores
- Bump
@inkdropapp/cssto^0.9.0(adds themermaidvariable category) and@inkdropapp/base-ui-themeto^0.7.6. - Bump
puppeteer,react-router-dom,vite,@vitejs/plugin-react,@types/node,oxfmt, andoxlint.
Full Changelog: v0.6.0...v0.6.1
v0.6.0
Highlights
Unified theme palettes
Inkdrop is merging the three theme types (ui / syntax / preview) into a single unified theme that declares "theme": true and styles the app UI, the editor, and the Markdown preview at once. generate-palette follows suit.
Where it previously extracted one theme type per run (chosen via --type or the package's "theme" string), it now extracts all three surfaces in a single run and merges them into one palette.json. Each surface is still read off the element Inkdrop scopes its tokens to:
- ui →
<body> - syntax →
.cm-editor - preview →
.mde-preview
Variables are merged in ui → syntax → preview declaration order.
Breaking changes
- The
-t, --typeoption is removed — a single run now emits every surface's variables, so there is no longer a type to select. - A theme package's
"theme"field is now a boolean marker ("theme": true); the old"ui"/"syntax"/"preview"string values are no longer used.
Features
- generate-palette: extract a unified theme palette (UI + syntax + preview) in one run, reading each surface off its scoping element and merging them in declaration order.
Full Changelog: v0.5.2...v0.6.0
v0.5.2
Highlights
Scope-aware probing for syntax & preview palettes
generate-palette now reads each theme type's variables from the element Inkdrop actually scopes them to, instead of always reading off <body>:
- ui →
<body> - syntax (
--syntax-*/--editor-*) →.cm-editor - preview (
--gfm-*/ markdown) →.mde-preview
A new resolveProbeSelector(type) picks the probe element, and the preview HTML renders both .cm-editor and .mde-preview so theme overrides scoped to those selectors resolve correctly.
Features
- generate-palette: probe
.cm-editor/.mde-previewfor syntax and preview palettes so scoped theme overrides are picked up.
Fixes
- ci: pass
--no-sandboxto Puppeteer so Chrome launches on CI runners (Ubuntu 23.10+ disables unprivileged user namespaces).
Chores
- Bump
@inkdropapp/cssto^0.8.0.
Full Changelog: v0.5.1...v0.5.2
v0.5.0
Highlights
Theme-type palettes (--type)
generate-palette can now extract the variables for a specific theme type. Pass -t, --type <ui|syntax|preview>, or let it default to the theme package's "theme" field:
- ui — app chrome plus the note status, tags, and task-progress palettes
- syntax — editor syntax-highlighting tokens
- preview — the rendered Markdown preview
If no --type is given and the package has no (or an unknown) "theme" field, the CLI errors out and exits non-zero.
This adapts to @inkdropapp/css 0.7.0, whose variables.json is now grouped by category (ui, status, tags, task-progress, markdown, syntax) instead of a flat list.
Features
- generate-palette: add
-t, --typeto select which theme type's variables to extract (ui,syntax, orpreview), defaulting to the package's"theme"field. - generate-palette: load the
syntax.cssandmarkdown.cssbase stylesheets so syntax and preview variables resolve to their defaults.
Chores
- Bump
@inkdropapp/cssto^0.7.0.
Full Changelog: v0.4.0...v0.5.0
v0.4.0
Highlights
Migrated from Bun to Node.js
The toolchain no longer requires Bun — contributors and theme authors only need Node.js (>= 24). The generate-palette CLI is now bundled to plain JS with tsdown, the dev-server runs straight from source via Vite, and unit tests run on Vitest.
Features
- generate-palette: resolve
light-dark()to raw values, picking the theme's light/dark branch so non-CSS consumers (e.g. the mobile renderer) get concrete colors — including nested calls and values embedded in shadows/gradients/borders.
Fixes
- generate-palette: resolve Inkdrop's base stylesheets from the package's own dependencies (works under pnpm's strict
node_modules) and loadui.css, so the extracted palette includes every variable left at its default instead of only the theme's overrides. - palette: include
task-progressvariables in the extracted set.
Chores
- Bump
@inkdropapp/base-ui-themeand@inkdropapp/css. - Allow pnpm builds (puppeteer / esbuild).
Full Changelog: v0.3.8...v0.4.0
v0.3.8
What's Changed
- fix(dev-server): avoid port clash with Inkdrop's desktop dev server
- test(generate-palette): add unit tests
- chore(toolchain): migrate to pnpm, oxlint, oxfmt
- chore(deps): bump up dependencies
Full Changelog: v0.3.7...v0.3.8