From 6b02f5c0f4e0ba1730aebc5a590a111548233bd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Tue, 31 Jul 2018 20:04:36 +0200 Subject: [PATCH] Make resources fetched via resources.Get and similar language agnostic With the newly released Hugo Pipes, resources fetched and processed via `resources.Get` and similar was published to the relevant language sub folder when in multilingual mode. The thought behind that was maximum flexibility with support for `assetDir` per language. In practice this was a bad idea: * You get duplication of identical content, with added processing time * You end up with path issues that seem to be hard to find a way around (`@fa-font-path` is one example) This commit changes that. Now there is only one `assetDir` and if you, as one example, need to generate a CSS per langugage, you need to set the paths yourself. Fixes #5017 --- deps/deps.go | 4 ++++ langs/language.go | 2 ++ resource/resource.go | 8 -------- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/deps/deps.go b/deps/deps.go index 5a97ec7f2..a0904483b 100644 --- a/deps/deps.go +++ b/deps/deps.go @@ -221,10 +221,14 @@ func (d Deps) ForLanguage(cfg DepsCfg) (*Deps, error) { return nil, err } + // The resource cache is global so reuse. + // TODO(bep) clean up these inits. + resourceCache := d.ResourceSpec.ResourceCache d.ResourceSpec, err = resource.NewSpec(d.PathSpec, d.Log, cfg.MediaTypes) if err != nil { return nil, err } + d.ResourceSpec.ResourceCache = resourceCache d.Cfg = l d.Language = l diff --git a/langs/language.go b/langs/language.go index 5eb09e10c..7d77df4e3 100644 --- a/langs/language.go +++ b/langs/language.go @@ -33,6 +33,8 @@ var globalOnlySettings = map[string]bool{ strings.ToLower("defaultContentLanguageInSubdir"): true, strings.ToLower("defaultContentLanguage"): true, strings.ToLower("multilingual"): true, + strings.ToLower("assetDir"): true, + strings.ToLower("resourceDir"): true, } // Language manages specific-language configuration. diff --git a/resource/resource.go b/resource/resource.go index 718d4d303..aedc7c22b 100644 --- a/resource/resource.go +++ b/resource/resource.go @@ -366,14 +366,6 @@ func (r *Spec) newResourceForFs(sourceFs afero.Fs, fd ResourceSourceDescriptor) } } - if fd.URLBase == "" { - fd.URLBase = r.GetURLLanguageBasePath() - } - - if fd.TargetPathBase == "" { - fd.TargetPathBase = r.GetTargetLanguageBasePath() - } - if fd.RelTargetFilename == "" { fd.RelTargetFilename = fd.Filename() }