Add CSS framework

This commit is contained in:
2025-10-01 12:33:55 +02:00
parent 34127035c5
commit ff0fca203c
38 changed files with 3147 additions and 40 deletions

View File

@@ -7,18 +7,19 @@ Luxtools is a minimal-but-complete scaffold for a retro-styled web application b
- **Nim**: Nim's ahead-of-time compilation and small standard library make it ideal for producing a single self-contained binary. Its async HTTP primitives provide great performance with minimal boilerplate.
- **HTMX**: HTMX keeps the frontend simple by embracing hypermedia. We can ship almost entirely server-rendered HTML snippets, allowing Nim to stay in control without a bulky SPA build step.
- **TUI.CSS**: This lightweight CSS framework offers a retro terminal aesthetic with zero JavaScript and a tiny footprint—perfect for a nostalgic interface while remaining easy to customize.
- **Single binary delivery**: HTML templates are embedded at compile time via `staticRead`, so the server ships with everything it needs. Drop the compiled executable onto any host with the correct architecture and you're ready to run.
- **Single binary delivery**: HTML templates and the entire `static/` tree of vendored assets are embedded at compile time via `staticRead`, so the server ships with everything it needs. The compiled binary serves those resources directly from an in-memory table, while a separate `www/` directory remains available for user-provided uploads.
## Project layout
```
luxtools/
├── bin/ # Output directory for release binaries
├── assets/ # Static files served directly by the HTTP handler
├── static/ # Vendored assets compiled into the binary static table
├── src/
│ └── luxtools.nim # Main server entrypoint
├── templates/
│ └── index.html # HTMX-powered landing page (compiled into the binary)
├── www/ # Runtime asset directory served from disk
├── tests/
│ └── test_rendering.nim# Lightweight regression tests for HTML helpers
├── luxtools.nimble # Nimble manifest with build/test tasks