diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2018-03-18 11:07:24 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2018-03-21 09:22:19 +0100 |
commit | e9c7b6205f94a7edac0e0df2cd18d1456cb26a06 (patch) | |
tree | 7c71d49c556f22497c3e0072ac25a3375f690074 /helpers/path.go | |
parent | 3d1a6e109ce9b25fc2e9731098a82fb4c0abff68 (diff) |
Allow themes to define output formats, media types and params
This allows a `config.toml` (or `yaml`, ´yml`, or `json`) in the theme to set:
1) `params` (but cannot override params in project. Will also get its own "namespace", i.e. `{{ .Site.Params.mytheme.my_param }}` will be the same as `{{ .Site.Params.my_param }}` providing that the main project does not define a param with that key.
2) `menu` -- but cannot redefine/add menus in the project. Must create its own menus with its own identifiers.
3) `languages` -- only `params` and `menu`. Same rules as above.
4) **new** `outputFormats`
5) **new** `mediaTypes`
This should help with the "theme portability" issue and people having to copy and paste lots of setting into their projects.
Fixes #4490
Diffstat (limited to 'helpers/path.go')
-rw-r--r-- | helpers/path.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/helpers/path.go b/helpers/path.go index 44d53d018..0a8544357 100644 --- a/helpers/path.go +++ b/helpers/path.go @@ -154,11 +154,16 @@ func ReplaceExtension(path string, newExt string) string { // AbsPathify creates an absolute path if given a relative path. If already // absolute, the path is just cleaned. func (p *PathSpec) AbsPathify(inPath string) string { + return AbsPathify(p.workingDir, inPath) +} + +// AbsPathify creates an absolute path if given a working dir and arelative path. +// If already absolute, the path is just cleaned. +func AbsPathify(workingDir, inPath string) string { if filepath.IsAbs(inPath) { return filepath.Clean(inPath) } - - return filepath.Join(p.workingDir, inPath) + return filepath.Join(workingDir, inPath) } // GetLayoutDirPath returns the absolute path to the layout file dir |