48 lines
870 B
Go
48 lines
870 B
Go
package mark2web
|
|
|
|
import (
|
|
"io/ioutil"
|
|
|
|
"gopkg.in/yaml.v2"
|
|
)
|
|
|
|
// GlobalConfig is config which is used only once in root dir
|
|
type GlobalConfig struct {
|
|
Webserver struct {
|
|
Type string `yaml:"Type"`
|
|
} `yaml:"Webserver"`
|
|
|
|
Assets struct {
|
|
FromPath string `yaml:"FromPath"`
|
|
ToPath string `yaml:"ToPath"`
|
|
Action string `yaml:"Action"`
|
|
FixTemplate struct {
|
|
Find string `yaml:"Find"`
|
|
Replace string `yaml:"Replace"`
|
|
} `yaml:"FixTemplate"`
|
|
} `yaml:"Assets"`
|
|
|
|
OtherFiles struct {
|
|
Action string `yaml:"Action"`
|
|
} `yaml:"OtherFiles"`
|
|
|
|
Directories struct {
|
|
Input string
|
|
Output string
|
|
}
|
|
}
|
|
|
|
var Config = new(GlobalConfig)
|
|
|
|
func (c *GlobalConfig) ReadFromFile(filename string) error {
|
|
data, err := ioutil.ReadFile(filename)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
err = yaml.Unmarshal(data, c)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|