Files
RawMark/web/embed.go
T
eezd c4d2bd4636 feat(server): add Go backend with vault, auth, events and REST API
- vault: path validation (no traversal, hidden segments or symlink
  escape), atomic writes with If-Match/If-None-Match revisions, moves
  that carry the note's .assets folder and rewrite its image links,
  trash with restore, content-addressed asset uploads
- auth: single-user Argon2id password, sliding sessions in SQLite,
  login rate limiting, first-run setup gated by a one-time code written
  to the data directory
- watch: fsnotify plus periodic rescans diffed against a snapshot, so
  both RawMark and external edits are broadcast as tree/changed/moved/
  deleted events over WebSocket
- api: stdlib router, SameSite=Strict cookies plus Origin checks,
  sandboxed raw file serving, embedded SPA with gzip and CSP
2026-10-16 18:23:23 +08:00

19 lines
326 B
Go

// Package web 把前端构建产物(web/dist,由 npm run build 生成)嵌入 Go 二进制。
package web
import (
"embed"
"io/fs"
)
//go:embed all:dist
var dist embed.FS
func Dist() fs.FS {
sub, err := fs.Sub(dist, "dist")
if err != nil {
panic(err) // 路径为编译期常量,不会失败
}
return sub
}