Skip to content

Commit

Permalink
hubolib: Do not add missing trailing slash to command line baseURL
Browse files Browse the repository at this point in the history
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
  • Loading branch information
bep committed Apr 7, 2017
1 parent e975a07 commit 7b2e1b0
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 9 deletions.
3 changes: 0 additions & 3 deletions commands/hugo.go
Expand Up @@ -317,9 +317,6 @@ func InitializeConfig(subCmdVs ...*cobra.Command) (*deps.DepsCfg, error) {
config.Set("logI18nWarnings", logI18nWarnings)

if baseURL != "" {
if !strings.HasSuffix(baseURL, "/") {
baseURL = baseURL + "/"
}
config.Set("baseURL", baseURL)
}

Expand Down
9 changes: 5 additions & 4 deletions hugolib/site.go
Expand Up @@ -289,7 +289,6 @@ type SiteInfo struct {
_ [4]byte
paginationPageCount uint64

BaseURL template.URL
Taxonomies TaxonomyList
Authors AuthorList
Social SiteSocial
Expand Down Expand Up @@ -329,6 +328,10 @@ func (s *SiteInfo) String() string {
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 {
Expand All @@ -342,7 +345,6 @@ type siteBuilderCfg struct {
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{}),
Expand Down Expand Up @@ -1049,7 +1051,6 @@ func (s *Site) initializeSiteInfo() {
}

s.Info = SiteInfo{
BaseURL: template.URL(helpers.SanitizeURLKeepTrailingSlash(s.Cfg.GetString("baseURL"))),
Title: lang.GetString("title"),
Author: lang.GetStringMap("author"),
Social: lang.GetStringMapString("social"),
Expand Down Expand Up @@ -1503,7 +1504,7 @@ func (s *SiteInfo) createNodeMenuEntryURL(in string) string {
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
}
Expand Down
4 changes: 2 additions & 2 deletions hugolib/site_url_test.go
Expand Up @@ -57,8 +57,8 @@ func TestShouldNotAddTrailingSlashToBaseURL(t *testing.T) {
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)
}
}
}
Expand Down

0 comments on commit 7b2e1b0

Please sign in to comment.