summaryrefslogtreecommitdiff
path: root/modules/caddyhttp/templates
diff options
context:
space:
mode:
authorMatthew Holt <mholt@users.noreply.github.com>2020-07-08 16:46:56 -0600
committerMatthew Holt <mholt@users.noreply.github.com>2020-07-08 16:46:56 -0600
commita2dae1d43fcfb08a4b748302502874234d7d64af (patch)
tree34ef623e775484e0bd8fe7946d25e6cf795d8afa /modules/caddyhttp/templates
parentefc0cc5e8557ebc54dd30931a27767139e808c80 (diff)
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.
Diffstat (limited to 'modules/caddyhttp/templates')
-rw-r--r--modules/caddyhttp/templates/frontmatter.go1
-rw-r--r--modules/caddyhttp/templates/tplcontext_test.go11
2 files changed, 12 insertions, 0 deletions
diff --git a/modules/caddyhttp/templates/frontmatter.go b/modules/caddyhttp/templates/frontmatter.go
index f9d5fb2..dd05217 100644
--- a/modules/caddyhttp/templates/frontmatter.go
+++ b/modules/caddyhttp/templates/frontmatter.go
@@ -56,6 +56,7 @@ func extractFrontMatter(input string) (map[string]interface{}, string, error) {
if index >= 0 {
fmEndFenceStart = index
fmEndFence = fence
+ break
}
}
if fmEndFenceStart < 0 {
diff --git a/modules/caddyhttp/templates/tplcontext_test.go b/modules/caddyhttp/templates/tplcontext_test.go
index f90b851..32c6a16 100644
--- a/modules/caddyhttp/templates/tplcontext_test.go
+++ b/modules/caddyhttp/templates/tplcontext_test.go
@@ -317,6 +317,17 @@ title: 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: `+++
title = "Welcome"