Merge pull request #334 from choueric/master
add an extension to handle Chinese (or CJK) newlines.pull/202/merge
commit
b253417e1c
|
@ -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.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -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 := offset >= 1 && data[offset-1] == '\\' // see http://spec.commonmark.org/0.18/#example-527
|
||||||
precededByBackslash = precededByBackslash && p.flags&EXTENSION_BACKSLASH_LINE_BREAK != 0
|
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?
|
// should there be a hard line break here?
|
||||||
if p.flags&EXTENSION_HARD_LINE_BREAK == 0 && !precededByTwoSpaces && !precededByBackslash {
|
if p.flags&EXTENSION_HARD_LINE_BREAK == 0 && !precededByTwoSpaces && !precededByBackslash {
|
||||||
return 0
|
return 0
|
||||||
|
|
|
@ -46,6 +46,7 @@ const (
|
||||||
EXTENSION_AUTO_HEADER_IDS // Create the header ID from the text
|
EXTENSION_AUTO_HEADER_IDS // Create the header ID from the text
|
||||||
EXTENSION_BACKSLASH_LINE_BREAK // translate trailing backslashes into line breaks
|
EXTENSION_BACKSLASH_LINE_BREAK // translate trailing backslashes into line breaks
|
||||||
EXTENSION_DEFINITION_LISTS // render definition lists
|
EXTENSION_DEFINITION_LISTS // render definition lists
|
||||||
|
EXTENSION_JOIN_LINES // delete newline and join lines
|
||||||
|
|
||||||
commonHtmlFlags = 0 |
|
commonHtmlFlags = 0 |
|
||||||
HTML_USE_XHTML |
|
HTML_USE_XHTML |
|
||||||
|
|
Loading…
Reference in New Issue