mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
hubolib: Do not add missing trailing slash to command line baseURL
This makes it consistent with how it behaves when it's set in config.toml. This commit also unifies BaseURL in Site.Info so we now have one source for this value. Fixes #3262
This commit is contained in:
parent
e975a07fb0
commit
7b2e1b0be9
3 changed files with 7 additions and 9 deletions
|
@ -317,9 +317,6 @@ func InitializeConfig(subCmdVs ...*cobra.Command) (*deps.DepsCfg, error) {
|
||||||
config.Set("logI18nWarnings", logI18nWarnings)
|
config.Set("logI18nWarnings", logI18nWarnings)
|
||||||
|
|
||||||
if baseURL != "" {
|
if baseURL != "" {
|
||||||
if !strings.HasSuffix(baseURL, "/") {
|
|
||||||
baseURL = baseURL + "/"
|
|
||||||
}
|
|
||||||
config.Set("baseURL", baseURL)
|
config.Set("baseURL", baseURL)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -289,7 +289,6 @@ type SiteInfo struct {
|
||||||
_ [4]byte
|
_ [4]byte
|
||||||
paginationPageCount uint64
|
paginationPageCount uint64
|
||||||
|
|
||||||
BaseURL template.URL
|
|
||||||
Taxonomies TaxonomyList
|
Taxonomies TaxonomyList
|
||||||
Authors AuthorList
|
Authors AuthorList
|
||||||
Social SiteSocial
|
Social SiteSocial
|
||||||
|
@ -329,6 +328,10 @@ func (s *SiteInfo) String() string {
|
||||||
return fmt.Sprintf("Site(%q)", s.Title)
|
return fmt.Sprintf("Site(%q)", s.Title)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SiteInfo) BaseURL() template.URL {
|
||||||
|
return template.URL(s.s.PathSpec.BaseURL.String())
|
||||||
|
}
|
||||||
|
|
||||||
// Used in tests.
|
// Used in tests.
|
||||||
|
|
||||||
type siteBuilderCfg struct {
|
type siteBuilderCfg struct {
|
||||||
|
@ -342,7 +345,6 @@ type siteBuilderCfg struct {
|
||||||
func newSiteInfo(cfg siteBuilderCfg) SiteInfo {
|
func newSiteInfo(cfg siteBuilderCfg) SiteInfo {
|
||||||
return SiteInfo{
|
return SiteInfo{
|
||||||
s: cfg.s,
|
s: cfg.s,
|
||||||
BaseURL: template.URL(cfg.baseURL),
|
|
||||||
multilingual: newMultiLingualForLanguage(cfg.language),
|
multilingual: newMultiLingualForLanguage(cfg.language),
|
||||||
PageCollections: cfg.pageCollections,
|
PageCollections: cfg.pageCollections,
|
||||||
Params: make(map[string]interface{}),
|
Params: make(map[string]interface{}),
|
||||||
|
@ -1049,7 +1051,6 @@ func (s *Site) initializeSiteInfo() {
|
||||||
}
|
}
|
||||||
|
|
||||||
s.Info = SiteInfo{
|
s.Info = SiteInfo{
|
||||||
BaseURL: template.URL(helpers.SanitizeURLKeepTrailingSlash(s.Cfg.GetString("baseURL"))),
|
|
||||||
Title: lang.GetString("title"),
|
Title: lang.GetString("title"),
|
||||||
Author: lang.GetStringMap("author"),
|
Author: lang.GetStringMap("author"),
|
||||||
Social: lang.GetStringMapString("social"),
|
Social: lang.GetStringMapString("social"),
|
||||||
|
@ -1503,7 +1504,7 @@ func (s *SiteInfo) createNodeMenuEntryURL(in string) string {
|
||||||
menuEntryURL := in
|
menuEntryURL := in
|
||||||
menuEntryURL = helpers.SanitizeURLKeepTrailingSlash(s.s.PathSpec.URLize(menuEntryURL))
|
menuEntryURL = helpers.SanitizeURLKeepTrailingSlash(s.s.PathSpec.URLize(menuEntryURL))
|
||||||
if !s.canonifyURLs {
|
if !s.canonifyURLs {
|
||||||
menuEntryURL = helpers.AddContextRoot(string(s.BaseURL), menuEntryURL)
|
menuEntryURL = helpers.AddContextRoot(s.s.PathSpec.BaseURL.String(), menuEntryURL)
|
||||||
}
|
}
|
||||||
return menuEntryURL
|
return menuEntryURL
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,8 +57,8 @@ func TestShouldNotAddTrailingSlashToBaseURL(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
s.initializeSiteInfo()
|
s.initializeSiteInfo()
|
||||||
|
|
||||||
if s.Info.BaseURL != template.URL(this.expected) {
|
if s.Info.BaseURL() != template.URL(this.expected) {
|
||||||
t.Errorf("[%d] got %s expected %s", i, s.Info.BaseURL, this.expected)
|
t.Errorf("[%d] got %s expected %s", i, s.Info.BaseURL(), this.expected)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue