diff --git a/hugolib/config.go b/hugolib/config.go index 9c2cc6892..c612b1d8c 100644 --- a/hugolib/config.go +++ b/hugolib/config.go @@ -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" diff --git a/hugolib/site.go b/hugolib/site.go index 8d33b7008..5ff3546a1 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -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)) } diff --git a/main.go b/main.go index 52e48f2e0..f99357c1f 100644 --- a/main.go +++ b/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