Files
luxcollection/README.md
2025-10-02 13:23:09 +02:00

1.5 KiB
Executable File

Luxtools (Go edition)

Luxtools is now implemented entirely in Go. The project serves a retro-styled HTMX interface backed by a lightweight Go HTTP server that mirrors the behaviour of the former Nim version.

Project layout

luxtools/
├── assets/               # Runtime asset directory served from disk (/assets/*)
├── cmd/luxtools/         # Main program entrypoint
├── internal/server/      # HTTP server, handlers, helpers, and tests
├── web/
│   ├── static/           # Vendored front-end assets (HTMX, TUI.CSS, images)
│   └── templates/        # HTML templates rendered by the server
├── deploy/               # Deployment manifests (systemd unit, etc.)
├── go.mod                # Go module definition
└── README.md             # You're here

Prerequisites

  • Go 1.22 or newer

Run the server

go run ./cmd/luxtools

The server listens on http://127.0.0.1:5000 and serves:

  • / — main page rendered from web/templates/index.html
  • /counter — HTMX-powered counter snippet with server-side state
  • /time — current server timestamp
  • /static/* — vendored assets from web/static
  • /assets/* — runtime assets from the shared assets directory

Testing

go test ./...

Building for deployment

go build -o bin/luxtools ./cmd/luxtools

The resulting binary is compatible with the provided systemd unit located in deploy/luxtools.service.