shithub: hugo

Download patch

ref: 21ca2e9ce4255bfad2bb0576aff087a240acf70a
parent: 3efa1d81219a6e7b41c9676e9cab446741f69055
author: Joshua Wong <joshwonghc@gmail.com>
date: Sat Jan 18 09:33:15 EST 2020

Add support for newline characters in raw string shortcode

--- a/parser/pageparser/pagelexer_shortcode.go
+++ b/parser/pageparser/pagelexer_shortcode.go
@@ -165,7 +165,7 @@
 				openBacktickFound = true
 				l.ignore()
 			}
-		case r == eof, r == '\n':
+		case r == eof:
 			return l.errorf("unterminated raw string in shortcode parameter-argument: '%s'", l.current())
 		}
 	}
--- a/parser/pageparser/pageparser_shortcode_test.go
+++ b/parser/pageparser/pageparser_shortcode_test.go
@@ -89,6 +89,12 @@
 		tstLeftNoMD, tstSC1, nti(tScParam, "-ziL-.%QigdO-4"), tstRightNoMD, tstEOF}},
 	{"raw string", `{{< sc1` + "`" + "Hello World" + "`" + ` >}}`, []Item{
 		tstLeftNoMD, tstSC1, nti(tScParam, "Hello World"), tstRightNoMD, tstEOF}},
+	{"raw string with newline", `{{< sc1` + "`" + `Hello 
+	World` + "`" + ` >}}`, []Item{
+		tstLeftNoMD, tstSC1, nti(tScParam, `Hello 
+	World`), tstRightNoMD, tstEOF}},
+	{"raw string with escape character", `{{< sc1` + "`" + `Hello \b World` + "`" + ` >}}`, []Item{
+		tstLeftNoMD, tstSC1, nti(tScParam, `Hello \b World`), tstRightNoMD, tstEOF}},
 	{"two params", `{{< sc1 param1   param2 >}}`, []Item{
 		tstLeftNoMD, tstSC1, tstParam1, tstParam2, tstRightNoMD, tstEOF}},
 	// issue #934