mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
parent
22055176d2
commit
85d31f7bfb
3 changed files with 81 additions and 1 deletions
|
@ -635,7 +635,19 @@ func (p *pageState) RenderString(args ...interface{}) (template.HTML, error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
c, err := p.pageOutput.cp.renderContentWithConverter(conv, []byte(s), false)
|
var cp *pageContentOutput
|
||||||
|
|
||||||
|
// If the current content provider is not yet initialized, do so now.
|
||||||
|
if lcp, ok := p.pageOutput.ContentProvider.(*page.LazyContentProvider); ok {
|
||||||
|
c := lcp.Init()
|
||||||
|
if pco, ok := c.(*pageContentOutput); ok {
|
||||||
|
cp = pco
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
cp = p.pageOutput.cp
|
||||||
|
}
|
||||||
|
|
||||||
|
c, err := cp.renderContentWithConverter(conv, []byte(s), false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", p.wrapError(err)
|
return "", p.wrapError(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -768,6 +768,69 @@ Here is the last report for commits in the year 2016. It covers hrev50718-hrev50
|
||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Issue 9383
|
||||||
|
func TestRenderStringForRegularPageTranslations(t *testing.T) {
|
||||||
|
c := qt.New(t)
|
||||||
|
b := newTestSitesBuilder(t)
|
||||||
|
b.WithLogger(loggers.NewBasicLoggerForWriter(jwalterweatherman.LevelDebug, os.Stderr))
|
||||||
|
|
||||||
|
b.WithConfigFile("toml",
|
||||||
|
`baseurl = "https://example.org/"
|
||||||
|
title = "My Site"
|
||||||
|
|
||||||
|
defaultContentLanguage = "ru"
|
||||||
|
defaultContentLanguageInSubdir = true
|
||||||
|
|
||||||
|
[languages.ru]
|
||||||
|
contentDir = 'content/ru'
|
||||||
|
weight = 1
|
||||||
|
|
||||||
|
[languages.en]
|
||||||
|
weight = 2
|
||||||
|
contentDir = 'content/en'
|
||||||
|
|
||||||
|
[outputs]
|
||||||
|
home = ["HTML", "JSON"]`)
|
||||||
|
|
||||||
|
b.WithTemplates("index.html", `
|
||||||
|
{{- range .Site.Home.Translations -}}
|
||||||
|
<p>{{- .RenderString "foo" -}}</p>
|
||||||
|
{{- end -}}
|
||||||
|
{{- range .Site.Home.AllTranslations -}}
|
||||||
|
<p>{{- .RenderString "bar" -}}</p>
|
||||||
|
{{- end -}}
|
||||||
|
`, "_default/single.html",
|
||||||
|
`{{ .Content }}`,
|
||||||
|
"index.json",
|
||||||
|
`{"Title": "My Site"}`,
|
||||||
|
)
|
||||||
|
|
||||||
|
b.WithContent(
|
||||||
|
"ru/a.md",
|
||||||
|
"",
|
||||||
|
"en/a.md",
|
||||||
|
"",
|
||||||
|
)
|
||||||
|
|
||||||
|
err := b.BuildE(BuildCfg{})
|
||||||
|
c.Assert(err, qt.Equals, nil)
|
||||||
|
|
||||||
|
b.AssertFileContent("public/ru/index.html", `
|
||||||
|
<p>foo</p>
|
||||||
|
<p>foo</p>
|
||||||
|
<p>bar</p>
|
||||||
|
<p>bar</p>
|
||||||
|
`)
|
||||||
|
|
||||||
|
b.AssertFileContent("public/en/index.html", `
|
||||||
|
<p>foo</p>
|
||||||
|
<p>foo</p>
|
||||||
|
<p>bar</p>
|
||||||
|
<p>bar</p>
|
||||||
|
`)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// Issue 8919
|
// Issue 8919
|
||||||
func TestContentProviderWithCustomOutputFormat(t *testing.T) {
|
func TestContentProviderWithCustomOutputFormat(t *testing.T) {
|
||||||
b := newTestSitesBuilder(t)
|
b := newTestSitesBuilder(t)
|
||||||
|
|
|
@ -49,6 +49,11 @@ func NewLazyContentProvider(f func() (ContentProvider, error)) *LazyContentProvi
|
||||||
return &lcp
|
return &lcp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (lcp *LazyContentProvider) Init() ContentProvider {
|
||||||
|
lcp.init.Do()
|
||||||
|
return lcp.cp
|
||||||
|
}
|
||||||
|
|
||||||
func (lcp *LazyContentProvider) Reset() {
|
func (lcp *LazyContentProvider) Reset() {
|
||||||
lcp.init.Reset()
|
lcp.init.Reset()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue