mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
Consolidate the Render funcs
This commit is contained in:
parent
4a48b5f326
commit
1d7f4413f5
3 changed files with 9 additions and 25 deletions
|
@ -241,16 +241,15 @@ func getMarkdownExtensions(ctx *RenderingContext) int {
|
||||||
}
|
}
|
||||||
|
|
||||||
func markdownRender(ctx *RenderingContext) []byte {
|
func markdownRender(ctx *RenderingContext) []byte {
|
||||||
|
if ctx.RenderTOC {
|
||||||
|
return blackfriday.Markdown(ctx.Content,
|
||||||
|
getHTMLRenderer(blackfriday.HTML_TOC, ctx),
|
||||||
|
getMarkdownExtensions(ctx))
|
||||||
|
}
|
||||||
return blackfriday.Markdown(ctx.Content, getHTMLRenderer(0, ctx),
|
return blackfriday.Markdown(ctx.Content, getHTMLRenderer(0, ctx),
|
||||||
getMarkdownExtensions(ctx))
|
getMarkdownExtensions(ctx))
|
||||||
}
|
}
|
||||||
|
|
||||||
func markdownRenderWithTOC(ctx *RenderingContext) []byte {
|
|
||||||
return blackfriday.Markdown(ctx.Content,
|
|
||||||
getHTMLRenderer(blackfriday.HTML_TOC, ctx),
|
|
||||||
getMarkdownExtensions(ctx))
|
|
||||||
}
|
|
||||||
|
|
||||||
// getMmarkHTMLRenderer creates a new mmark HTML Renderer with the given configuration.
|
// getMmarkHTMLRenderer creates a new mmark HTML Renderer with the given configuration.
|
||||||
func getMmarkHTMLRenderer(defaultFlags int, ctx *RenderingContext) mmark.Renderer {
|
func getMmarkHTMLRenderer(defaultFlags int, ctx *RenderingContext) mmark.Renderer {
|
||||||
renderParameters := mmark.HtmlRendererParameters{
|
renderParameters := mmark.HtmlRendererParameters{
|
||||||
|
@ -345,6 +344,7 @@ type RenderingContext struct {
|
||||||
PageFmt string
|
PageFmt string
|
||||||
DocumentID string
|
DocumentID string
|
||||||
Config *Blackfriday
|
Config *Blackfriday
|
||||||
|
RenderTOC bool
|
||||||
FileResolver FileResolverFunc
|
FileResolver FileResolverFunc
|
||||||
LinkResolver LinkResolverFunc
|
LinkResolver LinkResolverFunc
|
||||||
configInit sync.Once
|
configInit sync.Once
|
||||||
|
@ -359,22 +359,6 @@ func (c *RenderingContext) getConfig() *Blackfriday {
|
||||||
return c.Config
|
return c.Config
|
||||||
}
|
}
|
||||||
|
|
||||||
// RenderBytesWithTOC renders a []byte with table of contents included.
|
|
||||||
func RenderBytesWithTOC(ctx *RenderingContext) []byte {
|
|
||||||
switch ctx.PageFmt {
|
|
||||||
default:
|
|
||||||
return markdownRenderWithTOC(ctx)
|
|
||||||
case "markdown":
|
|
||||||
return markdownRenderWithTOC(ctx)
|
|
||||||
case "asciidoc":
|
|
||||||
return []byte(getAsciidocContent(ctx.Content))
|
|
||||||
case "mmark":
|
|
||||||
return mmarkRender(ctx)
|
|
||||||
case "rst":
|
|
||||||
return []byte(getRstContent(ctx.Content))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// RenderBytes renders a []byte.
|
// RenderBytes renders a []byte.
|
||||||
func RenderBytes(ctx *RenderingContext) []byte {
|
func RenderBytes(ctx *RenderingContext) []byte {
|
||||||
switch ctx.PageFmt {
|
switch ctx.PageFmt {
|
||||||
|
|
|
@ -289,10 +289,10 @@ func TestGetMarkdownRenderer(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGetMarkdownRendererWithTOC(t *testing.T) {
|
func TestGetMarkdownRendererWithTOC(t *testing.T) {
|
||||||
ctx := &RenderingContext{}
|
ctx := &RenderingContext{RenderTOC: true}
|
||||||
ctx.Content = []byte("testContent")
|
ctx.Content = []byte("testContent")
|
||||||
ctx.Config = ctx.getConfig()
|
ctx.Config = ctx.getConfig()
|
||||||
actualRenderedMarkdown := markdownRenderWithTOC(ctx)
|
actualRenderedMarkdown := markdownRender(ctx)
|
||||||
expectedRenderedMarkdown := []byte("<nav>\n</nav>\n\n<p>testContent</p>\n")
|
expectedRenderedMarkdown := []byte("<nav>\n</nav>\n\n<p>testContent</p>\n")
|
||||||
if !bytes.Equal(actualRenderedMarkdown, expectedRenderedMarkdown) {
|
if !bytes.Equal(actualRenderedMarkdown, expectedRenderedMarkdown) {
|
||||||
t.Errorf("Actual rendered Markdown (%s) did not match expected markdown (%s)", actualRenderedMarkdown, expectedRenderedMarkdown)
|
t.Errorf("Actual rendered Markdown (%s) did not match expected markdown (%s)", actualRenderedMarkdown, expectedRenderedMarkdown)
|
||||||
|
|
|
@ -280,7 +280,7 @@ func (p *Page) renderContent(content []byte) []byte {
|
||||||
return p.Node.Site.SourceRelativeLinkFile(ref, p)
|
return p.Node.Site.SourceRelativeLinkFile(ref, p)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return helpers.RenderBytesWithTOC(&helpers.RenderingContext{Content: content, PageFmt: p.determineMarkupType(),
|
return helpers.RenderBytes(&helpers.RenderingContext{Content: content, RenderTOC: true, PageFmt: p.determineMarkupType(),
|
||||||
DocumentID: p.UniqueID(), Config: p.getRenderingConfig(), LinkResolver: fn, FileResolver: fileFn})
|
DocumentID: p.UniqueID(), Config: p.getRenderingConfig(), LinkResolver: fn, FileResolver: fileFn})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue