-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
// This package exposes embedded resources across modules.
// A dedicated module is necessary due to Go's restriction on "embed" package
// cannot embed resources on parent directories (and Go not allowing circular
// dependencies.)
//
// Copyright 2025 Shota FUJI <pockawoooh@gmail.com>
// SPDX-License-Identifier: MIT
package embed
import (
"embed"
"io/fs"
)
//go:embed static/*
var defaultStaticDir embed.FS
//go:embed templates/*
var defaultTemplatesDir embed.FS
// StaticDir returns embedded default static contents directory.
func StaticDir() fs.FS {
// Go cannot embed directory as-is. Stripping the subdirectory.
f, err := fs.Sub(defaultStaticDir, "static")
if err != nil {
panic("static/ directory not embedded correctly")
}
return f
}
// TemplatesDir returns embedded default templates directory.
func TemplatesDir() fs.FS {
// Go cannot embed directory as-is. Stripping the subdirectory.
f, err := fs.Sub(defaultTemplatesDir, "templates")
if err != nil {
panic("templates/ directory not embedded correctly")
}
return f
}