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 = 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
|
||||
|
|
|
@ -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 |
|
||||
|
|
Loading…
Reference in New Issue