@gladysassistant/theme-optimized
v2.1.0
Published
Theme optimized
Readme
@gladysassistant/theme-optimized
Optimized Tabler-based theme for Gladys Assistant, published as a single dashboard.css plus the icon webfonts it references.
Releasing
Releases are driven by the Release workflow (.github/workflows/release.yml), launched manually from the Actions tab.
Pick a bump:
none— publish the version already inpackage.jsonas-is (no commit)patch/minor/major— bumppackage.json, commit it, then publish
The workflow then tags vX.Y.Z, pushes the commit and the tag to the branch it was run from, publishes to npm and creates a GitHub release with generated notes. Tick dry_run to rehearse everything without pushing or publishing.
A release is four separate publications — commit, tag, npm, GitHub release — so a run that dies halfway leaves some of them done. Re-running with none picks up where it stopped: it reuses the existing tag and skips whatever already landed, rather than refusing to start. A bump other than none still refuses to run if its tag or npm version already exists, since that means the bump collides with a finished release.
Publishing goes through npm trusted publishing (OIDC), so there is no NPM_TOKEN secret to maintain. npm authenticates the workflow itself, which means the trusted publisher configured on npmjs.com must point at this repository and at the workflow file name release.yml — renaming that file breaks publishing until the npm side is updated. Provenance attestations are generated automatically for OIDC publishes.
Icon font
Since v2.0.0, the fe fe-* icon classes are backed by Lucide (the actively maintained fork of Feather Icons) instead of the original Feather webfont. Class names are unchanged, so no change is required in consuming code.
Two fonts are shipped:
fonts/lucide/lucide-webfont.*— Lucide glyphs, subsetted to the icons listed inscripts/icon-names.jsonfonts/feather/feather-brands.*— the 10 brand icons (github, twitter, slack…) that Lucide removed in 2022, kept from the original Feather font for backward compatibility
fonts/feather/feather-webfont.ttf is no longer referenced by the CSS but is kept as the source the brand glyphs are extracted from.
Adding or updating icons
- Add the icon name (any name from lucide.dev/icons) to the
lucidelist inscripts/icon-names.json. - Regenerate the fonts and the CSS icon block:
npm pack lucide-static && mkdir -p lucide-static && tar xzf lucide-static-*.tgz -C lucide-static
pip install fonttools brotli
python3 scripts/generate-icon-font.py --lucide-dir lucide-static/packageThe script subsets the Lucide webfont, regenerates the .fe-* rules at the end of dashboard.css, and keeps the brand-icon companion font in sync.
