File tree Expand file tree Collapse file tree 1 file changed +15
-3
lines changed
Expand file tree Collapse file tree 1 file changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -85,9 +85,21 @@ function escape_invalid_tags(str)
8585 print (" Please file a bug at https://github.com/quarto-dev/quarto-cli" )
8686 os.exit (1 )
8787 end
88- replacements [replacement ] = k
89- local patterns = {" ^([ \t\f\v ]*```+[ \t\f\v ]*)" .. k , " (\n [ \t\f\v ]*```+[ \t\f\v ]*)" .. k }
90- str = str :gsub (patterns [1 ], " %1" .. replacement ):gsub (patterns [2 ], " %1" .. replacement )
88+ -- replace all lua special pattern characters with their
89+ -- escaped versions
90+ local safe_pattern = k :gsub (" ([%^%$%(%)%%%.%[%]%*%+%-%?])" , " %%%1" )
91+
92+ -- replace all lua special replacement characters with their
93+ -- escaped versions
94+ local safe_replacement = k :gsub (" ([$%%])" , " %%%1" )
95+ replacements [replacement ] = safe_replacement
96+
97+ local patterns = {
98+ " ^([ \t\f\v ]*```+[ \t\f\v ]*)" .. safe_pattern ,
99+ " (\n [ \t\f\v ]*```+[ \t\f\v ]*)" .. safe_pattern
100+ }
101+
102+ str = str :gsub (patterns [1 ], " %1" .. safe_replacement ):gsub (patterns [2 ], " %1" .. safe_replacement )
91103 end
92104 return str , replacements
93105end
You can’t perform that action at this time.
0 commit comments