package main import ( "os" "gopkg.in/yaml.v3" "riedstra.dev/mitch/go-website/page" ) var FeedPrefixDefault = ".feeds" type App struct { ReIndexPath string StaticDirectory string BaseTemplate string DocumentSplit string Suffix string // Related to the Atom feed Title string Description string // aka, "subtitle" Author Author SiteURL string FeedId string Updated page.PageTime FeedPrefix string } func loadConf(fn string) (*App, error) { fh, err := os.Open(fn) if err != nil { return nil, err } dec := yaml.NewDecoder(fh) app := &App{} err = dec.Decode(app) if err != nil { return nil, err } if app.StaticDirectory == "" { app.StaticDirectory = "static" } if app.FeedPrefix == "" { app.FeedPrefix = FeedPrefixDefault } if app.BaseTemplate != "" { page.BaseTemplate = app.BaseTemplate } if app.DocumentSplit != "" { page.DocumentSplit = app.DocumentSplit } if app.Suffix != "" { page.Suffix = app.Suffix } page.Global = map[string]interface{}{ "App": app, } return app, nil }