blob: de34a5c477d0538db11c54128b5e61e8e5d23077 (
plain) (
blame)
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
|
package cms
import (
"fmt"
"os"
"path/filepath"
)
func LoadConfig(root string) (Config, error) {
data, err := os.ReadFile(filepath.Join(root, "capsule.toml"))
if err != nil {
return Config{}, err
}
table, err := parseSimpleTable(string(data))
if err != nil {
return Config{}, fmt.Errorf("parse capsule.toml: %w", err)
}
cfg := Config{
Title: table.values["title"],
Host: table.values["host"],
Author: table.values["author"],
Language: table.values["language"],
Theme: table.values["theme"],
}
if cfg.Language == "" {
cfg.Language = "en"
}
if cfg.Theme == "" {
cfg.Theme = "default"
}
return cfg, nil
}
func renderConfig(cfg Config) string {
return "title = " + formatString(cfg.Title) + "\n" +
"host = " + formatString(cfg.Host) + "\n" +
"author = " + formatString(cfg.Author) + "\n" +
"language = " + formatString(cfg.Language) + "\n" +
"theme = " + formatString(cfg.Theme) + "\n"
}
|