ref: 7ab28c564f89b32fd1a3db78a34db14587f54cad
parent: 92c31bbe10a68bb29c62535f5a7a6b4bfc80a21d
author: spf13 <steve.francia@gmail.com>
date: Fri Jul 26 14:06:13 EDT 2013
Adding support for destination dir, split out static
--- a/hugolib/config.go
+++ b/hugolib/config.go
@@ -27,13 +27,13 @@
// 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 @@
}
// set defaults
- c.SourceDir = "content"
+ c.ContentDir = "content"
c.LayoutDir = "layouts"
c.PublishDir = "public"
c.StaticDir = "static"
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -165,7 +165,7 @@
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 @@
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))
}
--- a/main.go
+++ b/main.go
@@ -27,19 +27,20 @@
)
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 @@
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 @@
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
--
⑨