Ability to config layout and content dir via cli
authorJohn Ku <john.cmyk@gmail.com>
Wed, 9 Dec 2015 06:45:24 +0000 (22:45 -0800)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 11 Mar 2016 22:42:27 +0000 (23:42 +0100)
fixes spf13/hugo#1598

commands/hugo.go

index 7ecf6d7c3da9a2f7fe69ab56972a3325ad64112b..daf483923690b11b3e26829141a612d86eff1858 100644 (file)
@@ -143,6 +143,8 @@ var (
 var (
        baseURL     string
        cacheDir    string
+       contentDir  string
+       layoutDir   string
        cfgFile     string
        destination string
        logFile     string
@@ -213,6 +215,8 @@ func initHugoBuildCommonFlags(cmd *cobra.Command) {
        cmd.Flags().BoolVar(&disableSitemap, "disableSitemap", false, "Do not build Sitemap file")
        cmd.Flags().BoolVar(&disableRobotsTXT, "disableRobotsTXT", false, "Do not build Robots TXT file")
        cmd.Flags().StringVarP(&source, "source", "s", "", "filesystem path to read files relative from")
+       cmd.Flags().StringVarP(&contentDir, "contentDir", "c", "", "filesystem path to content directory")
+       cmd.Flags().StringVarP(&layoutDir, "layoutDir", "l", "", "filesystem path to layout directory")
        cmd.Flags().StringVarP(&cacheDir, "cacheDir", "", "", "filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache/")
        cmd.Flags().BoolVarP(&ignoreCache, "ignoreCache", "", false, "Ignores the cache directory for reading but still writes to it")
        cmd.Flags().StringVarP(&destination, "destination", "d", "", "filesystem path to write files to")
@@ -405,6 +409,14 @@ func InitializeConfig(subCmdVs ...*cobra.Command) error {
                viper.Set("WorkingDir", dir)
        }
 
+       if contentDir != "" {
+               viper.Set("ContentDir", contentDir)
+       }
+
+       if layoutDir != "" {
+               viper.Set("LayoutDir", layoutDir)
+       }
+
        if cacheDir != "" {
                if helpers.FilePathSeparator != cacheDir[len(cacheDir)-1:] {
                        cacheDir = cacheDir + helpers.FilePathSeparator