package settings import ( "io/ioutil" "log" "net/http" "os" "github.com/hacdias/caddy-hugo/frontmatter" "github.com/hacdias/caddy-hugo/page" ) // Execute the page func Execute(w http.ResponseWriter, r *http.Request) (int, error) { if r.Method == "POST" { } else { language := getConfigFrontMatter() if language == "" { log.Print("Configuration frontmatter can't be defined") return 500, nil } content, err := ioutil.ReadFile("config." + language) if err != nil { log.Print(err) return 500, err } f, err := frontmatter.Pretty(content, language) if err != nil { log.Print(err) return 500, err } page := new(page.Page) page.Title = "Settings" page.Body = f return page.Render(w, "settings", "frontmatter") } return 200, nil } func getConfigFrontMatter() string { var frontmatter string if _, err := os.Stat("config.yaml"); err == nil { frontmatter = "yaml" } if _, err := os.Stat("config.json"); err == nil { frontmatter = "json" } if _, err := os.Stat("config.toml"); err == nil { frontmatter = "toml" } return frontmatter }