Files
eiblog/setting/setting.go
2016-10-31 01:28:06 +08:00

98 lines
2.0 KiB
Go

// Package setting provides ...
package setting
import (
"io/ioutil"
"os"
"path"
"github.com/eiblog/utils/logd"
"gopkg.in/yaml.v2"
)
const (
DEV = "dev"
PROD = "prod"
)
var (
wd, _ = os.Getwd()
Conf = new(Config)
BlackIP = make(map[string]bool)
)
type Config struct {
StaticVersion int // 当前静态文件版本
RunMode string // 运行模式
Trash int // 回收箱文章保留时间
Clean int // 清理回收箱频率
PageNum int // 前端每页文章数量
PageSize int // 后台每页文章数量
Length int // 自动截取预览长度
Identifier string // 截取标示
Favicon string // icon地址
StartID int32 // 文章起始id
Static string // cdn地址
SearchURL string // elasticsearch 地址
Superfeedr string // superfeedr
Disqus struct { // 获取文章数量相关
ShortName string
PublicKey string
PostsCount string
PostsList string
Interval int
}
HotWords []string // 热搜词
Google struct { // 谷歌统计
Tid string
V string
T string
}
Mode RunMode // 运行模式
Twitter string // twitter地址
Blogger struct { // 初始化数据
BlogName string
SubTitle string
BeiAn string
BTitle string
Copyright string
}
Account struct {
Username string // *
Password string // *
Email string
PhoneNumber string
Address string
}
}
type RunMode struct {
EnableHttp bool
HttpPort int
EnableHttps bool
HttpsPort int
CertFile string
KeyFile string
Domain string
}
func init() {
// 初始化配置
dir := wd + "/conf"
data, err := ioutil.ReadFile(path.Join(dir, "app.yml"))
checkError(err)
err = yaml.Unmarshal(data, Conf)
checkError(err)
data, err = ioutil.ReadFile(path.Join(dir, "blackip.yml"))
checkError(err)
err = yaml.Unmarshal(data, BlackIP)
checkError(err)
}
func checkError(err error) {
if err != nil {
logd.Fatal(err)
}
}