diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-05-06 20:15:28 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-05-13 22:44:15 +0300 |
commit | af72db806f2c1c0bf1dfe5832275c41eeba89906 (patch) | |
tree | a1bc9c7d09836073a811a1b395b7756727fdb210 /hugolib/page.go | |
parent | e951d65771ca299aa899e91bfe00411a5ada8f19 (diff) |
hugolib: Handle shortcode per output format
This commit allows shortcode per output format, a typical use case would be the special AMP media tags.
Note that this will only re-render the "overridden" shortcodes and only in pages where these are used, so performance in the normal case should not suffer.
Closes #3220
Diffstat (limited to 'hugolib/page.go')
-rw-r--r-- | hugolib/page.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/hugolib/page.go b/hugolib/page.go index 21603c3dc..8de4ad924 100644 --- a/hugolib/page.go +++ b/hugolib/page.go @@ -1257,6 +1257,11 @@ func (p *Page) Menus() PageMenus { return p.pageMenus } +func (p *Page) shouldRenderTo(f output.Format) bool { + _, found := p.outputFormats.GetByName(f.Name) + return found +} + func (p *Page) determineMarkupType() string { // Try markup explicitly set in the frontmatter p.Markup = helpers.GuessType(p.Markup) @@ -1372,8 +1377,8 @@ func (p *Page) SaveSource() error { } func (p *Page) processShortcodes() error { - p.shortcodeState = newShortcodeHandler() - tmpContent, err := p.shortcodeState.extractAndRenderShortcodes(string(p.workContent), p) + p.shortcodeState = newShortcodeHandler(p) + tmpContent, err := p.shortcodeState.extractShortcodes(string(p.workContent), p) if err != nil { return err } |