- Single fixed 'Haven' board: lists (To do/In progress/Done) + cards, no multi-board - Go 1.24 backend, CGO-free modernc.org/sqlite, embedded SPA, REST /api - Preact + Vite + TS frontend, native HTML5 drag-and-drop, optimistic UI, dark Haven theme - PVC (nfs-client) for SQLite, root container on NFS, simple nginx ingress havenllo.haven - Dockerfile multi-arch build, Gitea CI via pipeline-actions@main
21 lines
341 B
Go
21 lines
341 B
Go
package web
|
|
|
|
import (
|
|
"embed"
|
|
"io/fs"
|
|
)
|
|
|
|
//go:embed all:dist
|
|
var embedded embed.FS
|
|
|
|
// Files contains the compiled Vite bundle without its dist path prefix.
|
|
var Files = mustSub(embedded, "dist")
|
|
|
|
func mustSub(source fs.FS, directory string) fs.FS {
|
|
files, err := fs.Sub(source, directory)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return files
|
|
}
|