Skip to content

Commit

Permalink
✨ Vditor 所见即所得模式支持链接引用定义 Vanessa219/vditor#55
Browse files Browse the repository at this point in the history
  • Loading branch information
88250 committed Mar 8, 2020
1 parent dea2a6b commit 9eabb78
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 7 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.

9 changes: 7 additions & 2 deletions render/vditor_renderer.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,12 @@ func (r *VditorRenderer) Render() (output []byte, err error) {
for _, node := range r.Tree.Context.LinkRefDefs {
label := node.LinkRefLabel
dest := node.ChildByType(ast.NodeLinkDest).Tokens
buf.WriteString("[" + util.BytesToStr(label) + "]: " + util.BytesToStr(dest) + "\n")
destStr := util.BytesToStr(dest)
buf.WriteString("[" + util.BytesToStr(label) + "]:")
if parse.Caret != destStr {
buf.WriteString(" ")
}
buf.WriteString(destStr + "\n")
}
buf.WriteString("</p>")
output = append(output, buf.Bytes()...)
Expand Down Expand Up @@ -403,7 +408,7 @@ func (r *VditorRenderer) renderLink(node *ast.Node, entering bool) ast.WalkStatu
if 3 == node.LinkType {
text := string(node.ChildByType(ast.NodeLinkText).Tokens)
label := string(node.LinkRefLabel)
attrs := [][]string{{"data-type", "link-ref"}, {"data-link-text", text}, {"data-link-label", label}}
attrs := [][]string{{"data-type", "link-ref"}, {"data-link-label", label}}
r.WriteString(parse.Zwsp)
r.tag("span", attrs, false)
r.WriteString(text)
Expand Down
2 changes: 1 addition & 1 deletion test/spinv_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import (

var spinVditorDOMTests = []*parseTest{

{"105", "<p data-block=\"0\"><span data-type=\"link-ref\" data-link-text=\"1\" data-link-label=\"1\">1</span>\n</p><p data-block=\"0\" data-type=\"link-ref-defs\">[1]: f<wbr>\n</p>", "<p data-block=\"0\"><span data-type=\"link-ref\" data-link-text=\"1\" data-link-label=\"1\">1</span>\n</p><p data-block=\"0\" data-type=\"link-ref-defs\">[1]: f<wbr>\n</p>"},
{"105", "<p data-block=\"0\"><span data-type=\"link-ref\" data-link-text=\"1\" data-link-label=\"1\">1</span>\n</p><p data-block=\"0\" data-type=\"link-ref-defs\">[1]: f<wbr>\n</p>", "<p data-block=\"0\">\u200b<span data-type=\"link-ref\" data-link-label=\"1\">1</span>\u200b\n</p><p data-block=\"0\" data-type=\"link-ref-defs\">[1]: f<wbr>\n</p>"},
{"104", "<a href=\"\" title=\"baz\">foo</a>", "<p data-block=\"0\"><a href=\"\"baz\"\">foo</a>\n</p>"},
{"103", "<p data-block=\"0\"><strong data-marker=\"**\">foo\n<em data-marker=\"*\">ba<wbr></em></strong>\n</p>", "<p data-block=\"0\"><strong data-marker=\"**\">foo\n<em data-marker=\"*\">ba<wbr></em></strong>\n</p>"},
{"102", "<p data-block=\"0\"><strong data-marker=\"**\">foo<em>\u200b\nb<wbr></em></strong>\n</p>", "<p data-block=\"0\"><strong data-marker=\"**\">foo\n<em data-marker=\"*\">b<wbr></em></strong>\n</p>"},
Expand Down
2 changes: 1 addition & 1 deletion vditor.go
Original file line number Diff line number Diff line change
Expand Up @@ -782,7 +782,7 @@ func (lute *Lute) genASTByVditorDOM(n *html.Node, tree *parse.Tree) {

if "link-ref" == dataType {
node.Type = ast.NodeText
node.Tokens = []byte("[" + lute.domAttrValue(n, "data-link-text") + "][" + lute.domAttrValue(n, "data-link-label") + "]")
node.Tokens = []byte("[" + n.FirstChild.Data + "][" + lute.domAttrValue(n, "data-link-label") + "]")
tree.Context.Tip.AppendChild(node)
return
}
Expand Down

0 comments on commit 9eabb78

Please sign in to comment.