-
v0.4.1
Stablereleased this
2026-02-28 14:32:23 +00:00 | 0 commits to main since this releaseBug Fixes
- fix: guard cssContent getter against empty Unicode breaking Alpine.js — When
data.Unicodewas empty, the JS getter producedreturn '\';which escaped the closing quote and created an unterminated string literal. This killed the entire Alpine component for all non-FontAwesome libraries (Remix, Lucide, Tabler, Boxicons, Iconoir, Bootstrap). Also fixes CSS content display for FA icons: uses double-backslash so JS displays literal\f015instead of interpreting\fas form-feed.
Tasks
- OP#1855: Fix Alpine.js syntax error in icon detail modal for non-FA libraries
- OP#1856: Investigate icon rendering failures for some Remix Icons (resolved by OP#1855)
Install
docker pull git.bros.ninja/mike/fontshelf:0.4.1Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- fix: guard cssContent getter against empty Unicode breaking Alpine.js — When
-
v0.4.0
Stablereleased this
2026-02-19 19:47:56 +00:00 | 3 commits to main since this releaseWhat's Changed
Multi-Library Support
- Processor-based architecture for importing 7 icon libraries (Font Awesome, Bootstrap Icons, Remix Icon, Tabler, Boxicons, Lucide, Iconoir) from npm or zip uploads
- Auto-detection registry identifies library type from package contents
- Catalog quick-add UI for one-click library installation
- Library toggle/delete management in admin panel
Font-Only Rendering
- Removed SVG sprite and ligature render modes — font-based rendering only
- Simplified icon grid and detail modal components
- Cleaner, more reliable CSS class-based icon rendering
New Demo Page
/demo/cardspage with 6 card layout concepts for the icon browse grid
Database
- Migration 002: adds
render_mode,svg_viewbox,npm_packagecolumns tofont_libraries; addsclass_templatecolumn tolibrary_styles
Install
docker pull git.bros.ninja/mike/fontshelf:v0.4.0Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.3.1
Stablereleased this
2026-02-17 17:04:56 +00:00 | 6 commits to main since this releaseWhat's Changed
Bug Fixes
- OP#893: Fix publish.yml build-image job to use DinD service pattern — the
docker/login-action,docker/setup-buildx-action, anddocker/build-push-actionGitHub Actions expected Docker CLI in the runner PATH, but Forgejo act_runner doesn't provide it. Replaced with DinD service pattern (docker:dind+apk add docker-cli docker-cli-buildx).
CI Improvements
detect-releasejob now usesnode:18-alpinecontainer with git installedbuild-imagerenamed topublish-containerswith Docker-in-Docker servicepromote-releasenow depends on successful container publish
Install
docker pull git.bros.ninja/mike/fontshelf:v0.3.1Full Changelog
https://git.bros.ninja/mike/fontshelf/compare/v0.3.0...v0.3.1
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- OP#893: Fix publish.yml build-image job to use DinD service pattern — the
-
v0.3.0
Stablereleased this
2026-02-17 16:21:47 +00:00 | 9 commits to main since this releaseWhat's Changed
Icon Search and Browse UI (Epic #848)
- OP#878: Icon search query and handler — dynamic SQL search with library/style filters
- OP#879: Search bar component — Alpine.js debounced input with style filter pills
- OP#880: Icon grid component — responsive CSS grid with icon cards and HTMX modal triggers
- OP#881: Library switcher — dropdown to switch between enabled font libraries
- OP#882: Browse page integration — composed browse page with all components wired together
- OP#883: Unit tests for browse components (9 tests)
Icon Detail Modal (Epic #849)
- OP#884: Icon detail endpoint — handler returning icon metadata with all available styles
- OP#885: Icon detail modal component — Alpine.js modal with style switcher and copy-to-clipboard
- OP#886: Unit tests for detail modal (4 tests)
Install
docker pull git.bros.ninja/mike/fontshelf:0.3.0Full Changelog
https://git.bros.ninja/mike/fontshelf/compare/v0.2.0...v0.3.0
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.2.0
Stablereleased this
2026-02-17 15:04:05 +00:00 | 19 commits to main since this releaseWhat's Changed
Admin Library Upload & Processing (OP#846)
- OP#860: Wired admin route group with RequireAuth + RequireAdmin middleware
- OP#861: Admin libraries list page with DB query, table, and empty state
- OP#862: Library zip upload endpoint with extraction, slug generation, CSS detection
- OP#863: FA metadata processor — parses icons.json, batch inserts icons and styles
- OP#864: Library enable/disable toggle and delete endpoints with HTMX
- OP#865: Unit tests for slug generation, zip extraction, zip slip, middleware auth
Dynamic Font Library CSS Loading (OP#847)
- OP#866: Inject enabled library CSS URLs into page render context
- OP#867: Verified end-to-end CSS/webfont path resolution, fixed CSS detection ordering
- OP#868: Unit tests for dynamic library CSS injection in base template
CI/CD
- Replaced setup-go with direct Go tarball install (build time 9min → 1min)
- Added multi-stage publish workflow (detect → tag → build image → promote release)
- Added VERSION file for release detection
Docker
docker pull git.bros.ninja/mike/fontshelf:v0.2.0Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads