Skip to content

Commit

Permalink
✨ 支持 ==mark== 高亮语法 #84
Browse files Browse the repository at this point in the history
  • Loading branch information
88250 committed Aug 22, 2020
1 parent 17f2dea commit 7cac659
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 5 deletions.
4 changes: 2 additions & 2 deletions javascript/lute.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion javascript/lute.min.js.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions render/vditor_ir_renderer.go
Original file line number Diff line number Diff line change
Expand Up @@ -151,12 +151,12 @@ func (r *VditorIRRenderer) renderMarkOpenMarker(node *ast.Node, entering bool) a
r.tag("span", [][]string{{"class", "vditor-ir__marker"}}, false)
r.WriteString("==")
r.tag("/span", nil, false)
r.tag("s", [][]string{{"data-newline", "1"}}, false)
r.tag("mark", [][]string{{"data-newline", "1"}}, false)
return ast.WalkStop
}

func (r *VditorIRRenderer) renderMarkCloseMarker(node *ast.Node, entering bool) ast.WalkStatus {
r.tag("/s", nil, false)
r.tag("/mark", nil, false)
r.tag("span", [][]string{{"class", "vditor-ir__marker"}}, false)
r.WriteString("==")
r.tag("/span", nil, false)
Expand Down
3 changes: 3 additions & 0 deletions test/spinv_wysiwyg_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ import (

var spinVditorDOMTests = []*parseTest{

{"147", "<p data-block=\"0\"><mark data-marker=\"==\">markf<wbr></mark></p>", "<p data-block=\"0\"><mark data-marker=\"==\">markf<wbr></mark></p>"},
{"146", "<p data-block=\"0\">==mark==<wbr></p>", "<p data-block=\"0\"><mark data-marker=\"==\">mark</mark><wbr></p>"},
{"145", "<p data-block=\"0\">foo<vditor-comment data-id=\"1\">bar<wbr>baz</vditor-comment>foo<vditor-comment data-id=\"2\">bar</vditor-comment>baz</p>", "<p data-block=\"0\">foo\u200b<vditor-comment data-id=\"1\">bar<wbr>baz\u200b</vditor-comment>foo\u200b<vditor-comment data-id=\"2\">bar\u200b</vditor-comment>baz</p>"},
{"144", "<p data-block=\"0\"><vditor-comment data-id=\"1\">foo<wbr></vditor-comment></p>", "<p data-block=\"0\">\u200b\u200b<vditor-comment data-id=\"1\">foo<wbr>\u200b</vditor-comment></p>"},
{"143", "<p data-block=\"0\">​<img src=\"bar\" alt=\"text\" data-type=\"link-ref\" data-link-label=\"foo\"><wbr></p><div data-block=\"0\" data-type=\"link-ref-defs-block\">[foo]: bar\n</div>", "<p data-block=\"0\">\u200b<img src=\"bar\" alt=\"text\" data-type=\"link-ref\" data-link-label=\"foo\" /><wbr></p><div data-block=\"0\" data-type=\"link-ref-defs-block\">[foo]: bar\n</div>"},
Expand Down Expand Up @@ -172,6 +174,7 @@ func TestSpinVditorDOM(t *testing.T) {
luteEngine := lute.New()
luteEngine.ToC = true
luteEngine.Sanitize = true
luteEngine.Mark = true

for _, test := range spinVditorDOMTests {
html := luteEngine.SpinVditorDOM(test.from)
Expand Down
2 changes: 2 additions & 0 deletions vditor_wysiwyg.go
Original file line number Diff line number Diff line change
Expand Up @@ -1112,6 +1112,8 @@ func (lute *Lute) genASTByVditorDOM(n *html.Node, tree *parse.Tree) {
} else {
node.AppendChild(&ast.Node{Type: ast.NodeStrikethrough2CloseMarker, Tokens: []byte(marker)})
}
case atom.Mark:
node.AppendChild(&ast.Node{Type: ast.NodeMarkCloseMarker, Tokens: []byte("==")})
case atom.Details:
tree.Context.Tip.AppendChild(&ast.Node{Type: ast.NodeHTMLBlock, Tokens: []byte("</details>")})
}
Expand Down

0 comments on commit 7cac659

Please sign in to comment.