summaryrefslogtreecommitdiffstats
path: root/helpers/path.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-03-18 11:07:24 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-03-21 09:22:19 +0100
commite9c7b6205f94a7edac0e0df2cd18d1456cb26a06 (patch)
tree7c71d49c556f22497c3e0072ac25a3375f690074 /helpers/path.go
parent3d1a6e109ce9b25fc2e9731098a82fb4c0abff68 (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.go9
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