コード例 #1
0
ファイル: builder.go プロジェクト: cnhans/pugo-static
// New builder with option
func New(opt *BuildOption) *Builder {
	if !com.IsDir(opt.SrcDir) {
		return &Builder{Error: ErrSrcDirMissing}
	}
	if !com.IsDir(opt.TplDir) {
		return &Builder{Error: ErrTplDirMissing}
	}
	builder := &Builder{
		parsers: []parser.Parser{
			parser.NewCommonParser(),
			parser.NewMdParser(),
		},
		Version: builderVersion{
			Num:  opt.Version,
			Date: opt.VerDate,
		},
		opt: opt,
	}
	builder.render = render.New(builder.opt.TplDir)
	builder.tasks = []*BuildTask{
		{"Data", builder.ReadData, nil},
		{"Compile", builder.Compile, nil},
		{"Feed", builder.WriteFeed, nil},
		{"Copy", builder.CopyAssets, nil},
	}
	log15.Debug("Build.Source." + opt.SrcDir)
	log15.Debug("Build.Template." + opt.TplDir)
	log15.Debug("Build.Theme." + opt.Theme)
	return builder
}
コード例 #2
0
ファイル: render_test.go プロジェクト: cnhans/pugo-static
func TestRender(t *testing.T) {
	r := render.New("../../template")
	for name, fn := range funcMap {
		r.SetFunc(name, fn)
	}
	Convey("render load theme", t, func() {
		theme, err := r.Load("default")
		So(err, ShouldBeNil)
		So(theme, ShouldHaveSameTypeAs, new(render.Theme))

		_, err = r.Load("xxxxxx")
		So(err, ShouldEqual, render.ErrRenderDirMissing)
	})
}