ref: 7b2e1b0be986545f2f137d79c54cd8beff3ce966
parent: e975a07fb0db8f1926186ff810b8aa1e6db80206
author: Bjørn Erik Pedersen <[email protected]>
date: Fri Apr 7 14:33:28 EDT 2017
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
--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -317,9 +317,6 @@
config.Set("logI18nWarnings", logI18nWarnings)
if baseURL != "" {
- if !strings.HasSuffix(baseURL, "/") {
- baseURL = baseURL + "/"
- }
config.Set("baseURL", baseURL)
}
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -289,7 +289,6 @@
_ [4]byte
paginationPageCount uint64
- BaseURL template.URL
Taxonomies TaxonomyList
Authors AuthorList
Social SiteSocial
@@ -329,6 +328,10 @@
return fmt.Sprintf("Site(%q)", s.Title)
}
+func (s *SiteInfo) BaseURL() template.URL {
+ return template.URL(s.s.PathSpec.BaseURL.String())
+}
+
// Used in tests.
type siteBuilderCfg struct {
@@ -342,7 +345,6 @@
func newSiteInfo(cfg siteBuilderCfg) SiteInfo {
return SiteInfo{
s: cfg.s,
- BaseURL: template.URL(cfg.baseURL),
multilingual: newMultiLingualForLanguage(cfg.language),
PageCollections: cfg.pageCollections,
Params: make(map[string]interface{}),
@@ -1049,7 +1051,6 @@
}
s.Info = SiteInfo{
- BaseURL: template.URL(helpers.SanitizeURLKeepTrailingSlash(s.Cfg.GetString("baseURL"))),
Title: lang.GetString("title"),
Author: lang.GetStringMap("author"),
Social: lang.GetStringMapString("social"),
@@ -1503,7 +1504,7 @@
menuEntryURL := in
menuEntryURL = helpers.SanitizeURLKeepTrailingSlash(s.s.PathSpec.URLize(menuEntryURL))
if !s.canonifyURLs {
- menuEntryURL = helpers.AddContextRoot(string(s.BaseURL), menuEntryURL)
+ menuEntryURL = helpers.AddContextRoot(s.s.PathSpec.BaseURL.String(), menuEntryURL)
}
return menuEntryURL
}
--- a/hugolib/site_url_test.go
+++ b/hugolib/site_url_test.go
@@ -57,8 +57,8 @@
require.NoError(t, err)
s.initializeSiteInfo()
- if s.Info.BaseURL != template.URL(this.expected) {
- t.Errorf("[%d] got %s expected %s", i, s.Info.BaseURL, this.expected)
+ if s.Info.BaseURL() != template.URL(this.expected) {
+ t.Errorf("[%d] got %s expected %s", i, s.Info.BaseURL(), this.expected)
}
}
}