templates: Fix front matter closing fence search

This makes it choose first matching closing fence instead of last one,
which could appear in document body.
This commit is contained in:
Matthew Holt 2020-07-08 16:46:56 -06:00
parent efc0cc5e85
commit a2dae1d43f
No known key found for this signature in database
GPG key ID: 2A349DD577D586A5
2 changed files with 12 additions and 0 deletions

View file

@ -56,6 +56,7 @@ func extractFrontMatter(input string) (map[string]interface{}, string, error) {
if index >= 0 {
fmEndFenceStart = index
fmEndFence = fence
break
}
}
if fmEndFenceStart < 0 {

View file

@ -316,6 +316,17 @@ title: Welcome
expect: `Welcome`,
body: "\n### Test",
},
{
// yaml with non-fence '...' line after closing fence (i.e. first matching closing fence should be used)
input: `---
title: Welcome
---
### Test
...
yeah`,
expect: `Welcome`,
body: "\n### Test\n...\nyeah",
},
{
// toml
input: `+++