mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-25 15:31:33 +00:00
Adding support for destination dir, split out static
This commit is contained in:
parent
92c31bbe10
commit
7ab28c564f
3 changed files with 31 additions and 26 deletions
|
@ -27,13 +27,13 @@ import (
|
|||
|
||||
// config file items
|
||||
type Config struct {
|
||||
SourceDir, PublishDir, BaseUrl, StaticDir string
|
||||
Path, CacheDir, LayoutDir, DefaultLayout string
|
||||
ConfigFile string
|
||||
Title string
|
||||
Indexes map[string]string // singular, plural
|
||||
ProcessFilters map[string][]string
|
||||
BuildDrafts, UglyUrls, Verbose bool
|
||||
ContentDir, PublishDir, BaseUrl, StaticDir string
|
||||
Path, CacheDir, LayoutDir, DefaultLayout string
|
||||
ConfigFile string
|
||||
Title string
|
||||
Indexes map[string]string // singular, plural
|
||||
ProcessFilters map[string][]string
|
||||
BuildDrafts, UglyUrls, Verbose bool
|
||||
}
|
||||
|
||||
var c Config
|
||||
|
@ -51,7 +51,7 @@ func SetupConfig(cfgfile *string, path *string) *Config {
|
|||
}
|
||||
|
||||
// set defaults
|
||||
c.SourceDir = "content"
|
||||
c.ContentDir = "content"
|
||||
c.LayoutDir = "layouts"
|
||||
c.PublishDir = "public"
|
||||
c.StaticDir = "static"
|
||||
|
|
|
@ -165,7 +165,7 @@ func (s *Site) initialize() {
|
|||
return nil
|
||||
}
|
||||
|
||||
filepath.Walk(s.c.GetAbsPath(s.c.SourceDir), walker)
|
||||
filepath.Walk(s.c.GetAbsPath(s.c.ContentDir), walker)
|
||||
|
||||
s.Info = SiteInfo{BaseUrl: template.URL(s.c.BaseUrl), Title: s.c.Title, Config: &s.c}
|
||||
|
||||
|
@ -176,8 +176,8 @@ func (s *Site) checkDirectories() {
|
|||
if b, _ := dirExists(s.c.GetAbsPath(s.c.LayoutDir)); !b {
|
||||
FatalErr("No layout directory found, expecting to find it at " + s.c.GetAbsPath(s.c.LayoutDir))
|
||||
}
|
||||
if b, _ := dirExists(s.c.GetAbsPath(s.c.SourceDir)); !b {
|
||||
FatalErr("No source directory found, expecting to find it at " + s.c.GetAbsPath(s.c.SourceDir))
|
||||
if b, _ := dirExists(s.c.GetAbsPath(s.c.ContentDir)); !b {
|
||||
FatalErr("No source directory found, expecting to find it at " + s.c.GetAbsPath(s.c.ContentDir))
|
||||
}
|
||||
mkdirIf(s.c.GetAbsPath(s.c.PublishDir))
|
||||
}
|
||||
|
|
35
main.go
35
main.go
|
@ -27,19 +27,20 @@ import (
|
|||
)
|
||||
|
||||
var (
|
||||
baseUrl = flag.StringP("base-url", "b", "", "hostname (and path) to the root eg. http://spf13.com/")
|
||||
cfgfile = flag.String("config", "", "config file (default is path/config.yaml|json|toml)")
|
||||
checkMode = flag.Bool("check", false, "analyze content and provide feedback")
|
||||
draft = flag.BoolP("build-drafts", "d", false, "include content marked as draft")
|
||||
help = flag.BoolP("help", "h", false, "show this help")
|
||||
path = flag.StringP("source", "s", "", "filesystem path to read files relative from")
|
||||
verbose = flag.BoolP("verbose", "v", false, "verbose output")
|
||||
version = flag.Bool("version", false, "which version of hugo")
|
||||
cpuprofile = flag.Int("profile", 0, "Number of times to create the site and profile it")
|
||||
watchMode = flag.BoolP("watch", "w", false, "watch filesystem for changes and recreate as needed")
|
||||
server = flag.BoolP("server", "S", false, "run a (very) simple web server")
|
||||
port = flag.String("port", "1313", "port to run web server on, default :1313")
|
||||
uglyUrls = flag.Bool("uglyurls", false, "use /filename.html instead of /filename/ ")
|
||||
baseUrl = flag.StringP("base-url", "b", "", "hostname (and path) to the root eg. http://spf13.com/")
|
||||
cfgfile = flag.String("config", "", "config file (default is path/config.yaml|json|toml)")
|
||||
checkMode = flag.Bool("check", false, "analyze content and provide feedback")
|
||||
draft = flag.BoolP("build-drafts", "D", false, "include content marked as draft")
|
||||
help = flag.BoolP("help", "h", false, "show this help")
|
||||
source = flag.StringP("source", "s", "", "filesystem path to read files relative from")
|
||||
destination = flag.StringP("destination", "d", "", "filesystem path to write files to")
|
||||
verbose = flag.BoolP("verbose", "v", false, "verbose output")
|
||||
version = flag.Bool("version", false, "which version of hugo")
|
||||
cpuprofile = flag.Int("profile", 0, "Number of times to create the site and profile it")
|
||||
watchMode = flag.BoolP("watch", "w", false, "watch filesystem for changes and recreate as needed")
|
||||
server = flag.BoolP("server", "S", false, "run a (very) simple web server")
|
||||
port = flag.String("port", "1313", "port to run web server on, default :1313")
|
||||
uglyUrls = flag.Bool("uglyurls", false, "use /filename.html instead of /filename/ ")
|
||||
)
|
||||
|
||||
func usage() {
|
||||
|
@ -57,11 +58,15 @@ func main() {
|
|||
usage()
|
||||
}
|
||||
|
||||
config := hugolib.SetupConfig(cfgfile, path)
|
||||
config := hugolib.SetupConfig(cfgfile, source)
|
||||
config.BuildDrafts = *draft
|
||||
config.UglyUrls = *uglyUrls
|
||||
config.Verbose = *verbose
|
||||
|
||||
if *destination != "" {
|
||||
config.PublishDir = *destination
|
||||
}
|
||||
|
||||
if *baseUrl != "" {
|
||||
config.BaseUrl = *baseUrl
|
||||
} else if *server {
|
||||
|
@ -194,7 +199,7 @@ func getDirList(c *hugolib.Config) []string {
|
|||
return nil
|
||||
}
|
||||
|
||||
filepath.Walk(c.GetAbsPath(c.SourceDir), walker)
|
||||
filepath.Walk(c.GetAbsPath(c.ContentDir), walker)
|
||||
filepath.Walk(c.GetAbsPath(c.LayoutDir), walker)
|
||||
|
||||
return a
|
||||
|
|
Loading…
Reference in a new issue