Use a regular expression in replaceShortcodeTokens

This fixes a bug where a shortcode needs to be expanded multiple times,
which can arise in practice when using reference links.
This commit is contained in:
Jeffrey Tolar
2015-01-28 21:11:41 -06:00
committed by bep
parent ba53799fdb
commit 366c557251
4 changed files with 49 additions and 66 deletions

View File

@@ -162,10 +162,9 @@ func (p *Page) setSummary() {
p.Truncated = true // by definition
header := bytes.Split(p.rawContent, helpers.SummaryDivider)[0]
renderedHeader := p.renderBytes(header)
numShortcodesInHeader := bytes.Count(header, []byte(shortcodePlaceholderPrefix))
if len(p.contentShortCodes) > 0 {
tmpContentWithTokensReplaced, err :=
replaceShortcodeTokens(renderedHeader, shortcodePlaceholderPrefix, numShortcodesInHeader, true, p.contentShortCodes)
replaceShortcodeTokens(renderedHeader, shortcodePlaceholderPrefix, true, p.contentShortCodes)
if err != nil {
jww.FATAL.Printf("Failed to replace short code tokens in Summary for %s:\n%s", p.BaseFileName(), err.Error())
} else {