-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathengine.go
38 lines (33 loc) · 1019 Bytes
/
engine.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package engine
import (
"log"
"path/filepath"
"github.com/K-Sato1995/go-simple-ssg/builder"
"github.com/K-Sato1995/go-simple-ssg/config"
)
type Engine struct {
Config *config.Config
// Logger *Logger
// HotReload *HotReload
}
func New(config config.Config) *Engine {
return &Engine{
Config: &config,
}
}
func (e *Engine) Build() {
// Bundle css
err := builder.BundleCSS(e.Config.TemplatePath, e.Config.GeneratedPath)
if err != nil {
log.Fatal(`error occured while bundling css`, err)
}
// Create detail pages
articles, err := builder.GenerateDetailPages(e.Config.TemplatePath, e.Config.GeneratedPath, e.Config.SiteInfo)
if err != nil {
log.Fatal(`error occured while generateing detail pages`, err)
}
// Create list page
builder.GenerateListPage(articles, e.Config.TemplatePath, e.Config.GeneratedPath, e.Config.SiteInfo)
// Copy static files
builder.CopyStaticFiles(filepath.Join(e.Config.TemplatePath, filepath.Base("static")), e.Config.GeneratedPath)
}