diff options
author | Anirudh Oppiliappan <x@icyphox.sh> | 2022-12-11 11:22:47 +0530 |
---|---|---|
committer | Anirudh Oppiliappan <x@icyphox.sh> | 2022-12-11 11:22:47 +0530 |
commit | 856f66808b913baff13c815daec3cdde7121e3bd (patch) | |
tree | 60feca35e702d20a0ec8da208b6b59926470bf31 /config/config.go | |
download | legit-856f66808b913baff13c815daec3cdde7121e3bd.tar.gz legit-856f66808b913baff13c815daec3cdde7121e3bd.tar.bz2 legit-856f66808b913baff13c815daec3cdde7121e3bd.zip |
all: init
Diffstat (limited to 'config/config.go')
-rw-r--r-- | config/config.go | 35 |
1 files changed, 35 insertions, 0 deletions
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 +} |