Demo web application built with Sigil
|
David Wilson
90d7a4d949
Migrate to 0.9.1 transitive deps with version ranges
- Remove tag pins (#v0.8.0) from dependency URLs - Add version ranges (^0.9.0) to all dependencies - Remove variable indirection for repo URL - Generate lockfile with sigil deps install - Update README build instructions to show sigil deps install Note: sigil-sqlite native build fails without dev-redirects due to missing sigil-lib headers (same class of issue as sigil-crypto). Build works with dev-redirects pointing to local monorepo. |
||
|---|---|---|
| assets/sigil-web-demo/css | feat(web): Add Vinyl Vault demo application | |
| src/sigil/web | feat: Add live-coding support via nREPL and SSE reload | |
| .gitignore | Convert to standalone package | |
| CHANGELOG.md | Release v0.6.0 | |
| dev-redirects.sgl | Convert to standalone package | |
| package.sgl | Migrate to 0.9.1 transitive deps with version ranges | |
| README.md | Migrate to 0.9.1 transitive deps with version ranges | |
| run.sgl | Convert to standalone package | |
| sigil.lock | Migrate to 0.9.1 transitive deps with version ranges | |
sigil-web-demo
Demo web application showcasing sigil-web features. Implements "Vinyl Vault", a vinyl record collection CRUD app demonstrating routing, forms, data tables, pagination, flash messages, modals, SSE streaming, and server-driven UI.
Features
- CRUD operations on a SQLite-backed vinyl record database
- Search and pagination with server-driven partial updates
- Flash messages for user feedback on create/update/delete
- Modal dialogs for delete confirmation
- SSE streaming for live stats updates on the home page
- Live-coding support via nREPL and SSE reload
- CSS-in-Sigil styles using sigil-css
Dependencies
- sigil-stdlib (core library)
- sigil-http (HTTP server)
- sigil-web (web framework, routing, middleware, UI components)
- sigil-nrepl (network REPL for live-coding)
- sigil-sqlite (SQLite bindings)
- sigil-sxml (SXML processing for HTML generation)
- sigil-css (CSS-in-Sigil DSL)
Usage
Add as a dependency in your package.sgl:
(from-git url: "codeberg:sigil/sigil-web-demo")
Or clone and run directly:
sigil deps install
sigil build
sigil run run.sgl
The app starts a web server (default port 3000) and opens Vinyl Vault in your browser.
Modules
(sigil web demo)
Main entry point. Call (start-demo) to launch the web server with all routes configured.
(sigil web demo db)
SQLite database layer with schema initialization, seed data, and CRUD operations:
init-db- Create table and seed sample recordslist-records- Paginated listing with optional searchcount-records- Count with optional search filterget-record/create-record/update-record/delete-record
(sigil web demo views)
SXML view functions for all pages and partials:
page-layout- Full HTML page shell with navigationhome-page- Welcome page with collection statsrecords-list-page- Searchable, paginated record tablerecord-detail-page- Single record view with edit/delete actionsrecord-form-page- New/edit form with validation
License
BSD-3-Clause