mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-23 19:32:10 +00:00
Add themesDir option to configuration
themesDir can be used to change the default path of the themes folder. Fixes 1556
This commit is contained in:
parent
40fccf2251
commit
47587321d9
6 changed files with 9 additions and 7 deletions
|
@ -210,6 +210,7 @@ func LoadDefaultSettings() {
|
|||
viper.SetDefault("ArchetypeDir", "archetypes")
|
||||
viper.SetDefault("PublishDir", "public")
|
||||
viper.SetDefault("DataDir", "data")
|
||||
viper.SetDefault("ThemesDir", "themes")
|
||||
viper.SetDefault("DefaultLayout", "post")
|
||||
viper.SetDefault("BuildDrafts", false)
|
||||
viper.SetDefault("BuildFuture", false)
|
||||
|
@ -514,7 +515,7 @@ func getDirList() []string {
|
|||
filepath.Walk(helpers.AbsPathify(viper.GetString("LayoutDir")), walker)
|
||||
filepath.Walk(helpers.AbsPathify(viper.GetString("StaticDir")), walker)
|
||||
if helpers.ThemeSet() {
|
||||
filepath.Walk(helpers.AbsPathify("themes/"+viper.GetString("theme")), walker)
|
||||
filepath.Walk(helpers.AbsPathify(viper.GetString("themesDir")+"/"+viper.GetString("theme")), walker)
|
||||
}
|
||||
|
||||
return a
|
||||
|
|
|
@ -176,8 +176,8 @@ func NewTheme(cmd *cobra.Command, args []string) error {
|
|||
return newUserError("theme name needs to be provided")
|
||||
}
|
||||
|
||||
createpath := helpers.AbsPathify(filepath.Join("themes", args[0]))
|
||||
jww.INFO.Println("Creating theme at", createpath)
|
||||
createpath := helpers.AbsPathify(filepath.Join(viper.GetString("themesDir"), args[0]))
|
||||
jww.INFO.Println("creating theme at", createpath)
|
||||
|
||||
if x, _ := helpers.Exists(createpath, hugofs.SourceFs); x {
|
||||
return newUserError(createpath, "already exists")
|
||||
|
|
|
@ -132,7 +132,7 @@ func FindArchetype(kind string) (outpath string) {
|
|||
search := []string{helpers.AbsPathify(viper.GetString("archetypeDir"))}
|
||||
|
||||
if viper.GetString("theme") != "" {
|
||||
themeDir := filepath.Join(helpers.AbsPathify("themes/"+viper.GetString("theme")), "/archetypes/")
|
||||
themeDir := filepath.Join(helpers.AbsPathify(viper.GetString("themesDir")+"/"+viper.GetString("theme")), "/archetypes/")
|
||||
if _, err := os.Stat(themeDir); os.IsNotExist(err) {
|
||||
jww.ERROR.Println("Unable to find archetypes directory for theme :", viper.GetString("theme"), "in", themeDir)
|
||||
} else {
|
||||
|
|
|
@ -130,7 +130,8 @@ Following is a list of Hugo-defined variables that you can configure and their c
|
|||
staticdir: "static"
|
||||
# display memory and timing of different steps of the program
|
||||
stepAnalysis: false
|
||||
# theme to use (located in /themes/THEMENAME/)
|
||||
# theme to use (located by default in /themes/THEMENAME/)
|
||||
themesdir = "themes"
|
||||
theme: ""
|
||||
title: ""
|
||||
# if true, use /filename.html instead of /filename/
|
||||
|
|
|
@ -142,7 +142,7 @@ func GetStaticDirPath() string {
|
|||
// If there is no theme, returns the empty string.
|
||||
func GetThemeDir() string {
|
||||
if ThemeSet() {
|
||||
return AbsPathify(filepath.Join("themes", viper.GetString("theme")))
|
||||
return AbsPathify(filepath.Join(viper.GetString("themesDir"), viper.GetString("theme")))
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
|
|
@ -495,7 +495,7 @@ func (s *Site) absDataDir() string {
|
|||
}
|
||||
|
||||
func (s *Site) absThemeDir() string {
|
||||
return helpers.AbsPathify("themes/" + viper.GetString("theme"))
|
||||
return helpers.AbsPathify(viper.GetString("themesDir") + "/" + viper.GetString("theme"))
|
||||
}
|
||||
|
||||
func (s *Site) absLayoutDir() string {
|
||||
|
|
Loading…
Reference in a new issue