Merge pull request #334 from choueric/master

add an extension to handle Chinese (or CJK) newlines.
pull/202/merge
Vytautas Šaltenis 2017-04-13 20:36:32 +03:00 committed by GitHub
commit b253417e1c
3 changed files with 30 additions and 0 deletions

View File

@ -1713,3 +1713,28 @@ func TestIsFenceLine(t *testing.T) {
}
}
}
func TestJoinLines(t *testing.T) {
input := `#
`
result := `<h1></h1>
<p></p>
<p></p>
`
opt := Options{Extensions: commonExtensions | EXTENSION_JOIN_LINES}
renderer := HtmlRenderer(commonHtmlFlags, "", "")
output := MarkdownOptions([]byte(input), renderer, opt)
if string(output) != result {
t.Error("output dose not match.")
}
}

View File

@ -170,6 +170,10 @@ func lineBreak(p *parser, out *bytes.Buffer, data []byte, offset int) int {
precededByBackslash := offset >= 1 && data[offset-1] == '\\' // see http://spec.commonmark.org/0.18/#example-527
precededByBackslash = precededByBackslash && p.flags&EXTENSION_BACKSLASH_LINE_BREAK != 0
if p.flags&EXTENSION_JOIN_LINES != 0 {
return 1
}
// should there be a hard line break here?
if p.flags&EXTENSION_HARD_LINE_BREAK == 0 && !precededByTwoSpaces && !precededByBackslash {
return 0

View File

@ -46,6 +46,7 @@ const (
EXTENSION_AUTO_HEADER_IDS // Create the header ID from the text
EXTENSION_BACKSLASH_LINE_BREAK // translate trailing backslashes into line breaks
EXTENSION_DEFINITION_LISTS // render definition lists
EXTENSION_JOIN_LINES // delete newline and join lines
commonHtmlFlags = 0 |
HTML_USE_XHTML |