hugoext/hugo/config.go
2021-07-11 18:07:11 +08:00

41 lines
822 B
Go

package hugo
import (
"fmt"
hugoconfig "github.com/gohugoio/hugo/config"
"github.com/spf13/afero"
)
type Config struct {
hugoconfig hugoconfig.Provider
}
func (c *Config) read() hugoconfig.Provider {
if c.hugoconfig == nil {
cfg, err := hugoconfig.FromFile(afero.NewOsFs(), "config.toml")
if err != nil {
fmt.Println("load config from file failed", err)
return nil
}
c.hugoconfig = cfg
}
return c.hugoconfig
}
func (c *Config) GetBool(v string) bool {
cfg := c.read()
if cfg == nil || !cfg.IsSet(v) {
fmt.Printf("config: no %v set, using default\n", v)
}
return cfg.GetBool(v)
}
func (c *Config) GetStringMapString(v string) map[string]string {
cfg := c.read()
if cfg == nil || !cfg.IsSet(v) {
fmt.Printf("config: no %v set, using default\n", v)
}
return cfg.GetStringMapString(v)
}