From 856f66808b913baff13c815daec3cdde7121e3bd Mon Sep 17 00:00:00 2001 From: Anirudh Oppiliappan Date: Sun, 11 Dec 2022 11:22:47 +0530 Subject: all: init --- config/config.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 config/config.go (limited to 'config') diff --git a/config/config.go b/config/config.go new file mode 100644 index 0000000..71bc8dc --- /dev/null +++ b/config/config.go @@ -0,0 +1,35 @@ +package config + +import ( + "fmt" + "os" + + "gopkg.in/yaml.v3" +) + +type Config struct { + Git struct { + ScanPath string `yaml:"scanPath"` + } `yaml:"git"` + Template struct { + Dir string `yaml:"dir"` + } `yaml:"template"` + Meta struct { + Title string `yaml:"title"` + Description string `yaml:"description"` + } `yaml:"meta"` +} + +func Read(f string) (*Config, error) { + b, err := os.ReadFile(f) + if err != nil { + return nil, fmt.Errorf("reading config: %w", err) + } + + c := Config{} + if err := yaml.Unmarshal(b, &c); err != nil { + return nil, fmt.Errorf("parsing config: %w", err) + } + + return &c, nil +} -- cgit