From 3cb7c82cf7c4e050148f69be23590a7fbe587a27 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 31 Mar 2026 10:11:18 +0000 Subject: Add static site builder: SQLite-backed MD→HTML pipeline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - cmd/nebbet: CLI with build [--watch] and user add/passwd/delete/list - internal/builder: markdown→HTML, component injection via HTML comments, auto importmap from lib/, fsnotify watch with 150ms debounce - internal/db: meta.db (page index, tag queries) + search.db (FTS5) - internal/sqlitedrv: minimal CGO database/sql driver for system libsqlite3 - internal/auth: htpasswd-compatible bcrypt password file management - templates/base.html + admin.html, styles/main.css + admin.css - nginx.conf with auth_basic for /admin, clean URLs, gzip - nebbet.service systemd unit for watch daemon - Example content/index.md and components/site-greeting.js https://claude.ai/code/session_01HTc1BCBCiMTEB54XQP1Wz9 --- nebbet.service | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 nebbet.service (limited to 'nebbet.service') diff --git a/nebbet.service b/nebbet.service new file mode 100644 index 0000000..9da673e --- /dev/null +++ b/nebbet.service @@ -0,0 +1,27 @@ +# systemd service for nebbet watch daemon +# +# Install: +# sudo cp nebbet.service /etc/systemd/system/ +# sudo systemctl daemon-reload +# sudo systemctl enable --now nebbet +# +# Adjust WorkingDirectory and User as needed. + +[Unit] +Description=nebbet static site builder (watch mode) +After=network.target + +[Service] +Type=simple +User=www-data +WorkingDirectory=SITE_ROOT +ExecStart=SITE_ROOT/nebbet build --watch +Restart=on-failure +RestartSec=5 + +# Limit what the process can do +PrivateTmp=true +NoNewPrivileges=true + +[Install] +WantedBy=multi-user.target -- cgit v1.3