mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
parent
dd45e6d7e5
commit
bbb11a4a0f
2 changed files with 17 additions and 2 deletions
|
@ -211,10 +211,13 @@ func doTestMultiSitesBuild(t *testing.T, configContent, configSuffix string) {
|
||||||
doc3 := enSite.Pages[2]
|
doc3 := enSite.Pages[2]
|
||||||
permalink, err = doc3.Permalink()
|
permalink, err = doc3.Permalink()
|
||||||
assert.NoError(t, err, "permalink call failed")
|
assert.NoError(t, err, "permalink call failed")
|
||||||
|
// Note that /superbob is a custom URL set in frontmatter.
|
||||||
|
// We respect that URL literally (it can be /search.json)
|
||||||
|
// and do no not do any language code prefixing.
|
||||||
assert.Equal(t, "http://example.com/blog/superbob", permalink, "invalid doc3 permalink")
|
assert.Equal(t, "http://example.com/blog/superbob", permalink, "invalid doc3 permalink")
|
||||||
|
|
||||||
assert.Equal(t, "/en/superbob", doc3.URL(), "invalid url, was specified on doc3")
|
assert.Equal(t, "/superbob", doc3.URL(), "invalid url, was specified on doc3")
|
||||||
|
assertFileContent(t, "public/superbob/index.html", true, "doc3|Hello|en")
|
||||||
assert.Equal(t, doc2.Next, doc3, "doc3 should follow doc2, in .Next")
|
assert.Equal(t, doc2.Next, doc3, "doc3 should follow doc2, in .Next")
|
||||||
|
|
||||||
doc1fr := doc1en.Translations()[0]
|
doc1fr := doc1en.Translations()[0]
|
||||||
|
@ -230,6 +233,8 @@ func doTestMultiSitesBuild(t *testing.T, configContent, configSuffix string) {
|
||||||
permalink, err = doc4.Permalink()
|
permalink, err = doc4.Permalink()
|
||||||
assert.NoError(t, err, "permalink call failed")
|
assert.NoError(t, err, "permalink call failed")
|
||||||
assert.Equal(t, "http://example.com/blog/fr/sect/doc4/", permalink, "invalid doc4 permalink")
|
assert.Equal(t, "http://example.com/blog/fr/sect/doc4/", permalink, "invalid doc4 permalink")
|
||||||
|
assert.Equal(t, "/blog/fr/sect/doc4/", doc4.URL())
|
||||||
|
|
||||||
assert.Len(t, doc4.Translations(), 0, "found translations for doc4")
|
assert.Len(t, doc4.Translations(), 0, "found translations for doc4")
|
||||||
|
|
||||||
doc5 := enSite.AllPages[5]
|
doc5 := enSite.AllPages[5]
|
||||||
|
|
|
@ -644,6 +644,16 @@ func (p *Page) Permalink() (string, error) {
|
||||||
return link.String(), nil
|
return link.String(), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (p *Page) URL() string {
|
||||||
|
if p.URLPath.URL != "" {
|
||||||
|
// This is the url set in front matter
|
||||||
|
return p.URLPath.URL
|
||||||
|
}
|
||||||
|
// Fall back to the relative permalink.
|
||||||
|
u, _ := p.RelPermalink()
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
func (p *Page) RelPermalink() (string, error) {
|
func (p *Page) RelPermalink() (string, error) {
|
||||||
link, err := p.permalink()
|
link, err := p.permalink()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in a new issue