Skip to content

Commit

Permalink
🎨 脚注和链接引用改进 Vanessa219/vditor#807
Browse files Browse the repository at this point in the history
  • Loading branch information
88250 committed Nov 10, 2020
1 parent 2da9573 commit 4026c99
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 11 deletions.
2 changes: 1 addition & 1 deletion 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 @@ -350,9 +350,9 @@ func (r *VditorIRRenderer) renderFootnotesRef(node *ast.Node, entering bool) ast
text := node.Text()
expand := strings.Contains(text, util.Caret)
if expand {
attrs = append(attrs, []string{"class", "vditor-ir__node vditor-ir__node--expand b3-tooltips b3-tooltips__s"})
attrs = append(attrs, []string{"class", "vditor-ir__node vditor-ir__node--expand vditor-tooltipped vditor-tooltipped__s"})
} else {
attrs = append(attrs, []string{"class", "vditor-ir__node b3-tooltips b3-tooltips__s"})
attrs = append(attrs, []string{"class", "vditor-ir__node vditor-tooltipped vditor-tooltipped__s"})
}
attrs = append(attrs, []string{"aria-label", SubStr(html.EscapeString(label), 24)})
attrs = append(attrs, []string{"data-footnotes-label", string(node.FootnotesRefLabel)})
Expand Down
6 changes: 3 additions & 3 deletions test/m2v_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ var md2VditorDOMTests = []parseTest{
{"17", "![text][foo]\n\n[foo]: bar", "<p data-block=\"0\">\u200b<img src=\"bar\" alt=\"text\" data-type=\"link-ref\" data-link-label=\"foo\" /></p><div data-block=\"0\" data-type=\"link-ref-defs-block\">[foo]: bar\n</div>"},
{"16", "# heading {#custom-id}\n", "<h1 data-block=\"0\" data-id=\"#custom-id\" id=\"wysiwyg-#custom-id\" data-marker=\"#\">heading</h1>"},
{"15", "foo\n\n[^1]: 111\n\n[2]: 222\n", "<p data-block=\"0\">foo</p><div data-block=\"0\" data-type=\"footnotes-block\"><ol data-type=\"footnotes-defs-ol\"><li data-type=\"footnotes-li\" data-marker=\"^1\"><p data-block=\"0\">111</p></li></ol></div><div data-block=\"0\" data-type=\"link-ref-defs-block\">[2]: 222\n</div>"},
{"14", "[^1]\n\n[^1]:\n", "<p data-block=\"0\">\u200b<sup data-type=\"footnotes-ref\" data-footnotes-label=\"^1\" class=\"b3-tooltips b3-tooltips__s\" aria-label=\"\">1</sup>\u200b</p><div data-block=\"0\" data-type=\"footnotes-block\"><ol data-type=\"footnotes-defs-ol\"><li data-type=\"footnotes-li\" data-marker=\"^1\"></li></ol></div>"},
{"14", "[^1]\n\n[^1]:\n", "<p data-block=\"0\">\u200b<sup data-type=\"footnotes-ref\" data-footnotes-label=\"^1\" class=\"vditor-tooltipped vditor-tooltipped__s\" aria-label=\"\">1</sup>\u200b</p><div data-block=\"0\" data-type=\"footnotes-block\"><ol data-type=\"footnotes-defs-ol\"><li data-type=\"footnotes-li\" data-marker=\"^1\"></li></ol></div>"},
{"13", "[toc]\n\n# foo", "<div class=\"vditor-toc\" data-block=\"0\" data-type=\"toc-block\" contenteditable=\"false\"><span data-type=\"toc-h\">foo</span><br></div><p data-block=\"0\"></p><h1 data-block=\"0\" id=\"wysiwyg-foo\" data-marker=\"#\">foo</h1>"},
{"12", "foo[^1]\n[^1]:bar\n * baz", "<p data-block=\"0\">foo<sup data-type=\"footnotes-ref\" data-footnotes-label=\"^1\" class=\"b3-tooltips b3-tooltips__s\" aria-label=\"barbaz\">1</sup>\u200b</p><div data-block=\"0\" data-type=\"footnotes-block\"><ol data-type=\"footnotes-defs-ol\"><li data-type=\"footnotes-li\" data-marker=\"^1\"><p data-block=\"0\">bar</p><ul data-tight=\"true\" data-marker=\"*\" data-block=\"0\"><li data-marker=\"*\">baz</li></ul></li></ol></div>"},
{"12", "foo[^1]\n[^1]:bar\n * baz", "<p data-block=\"0\">foo<sup data-type=\"footnotes-ref\" data-footnotes-label=\"^1\" class=\"vditor-tooltipped vditor-tooltipped__s\" aria-label=\"barbaz\">1</sup>\u200b</p><div data-block=\"0\" data-type=\"footnotes-block\"><ol data-type=\"footnotes-defs-ol\"><li data-type=\"footnotes-li\" data-marker=\"^1\"><p data-block=\"0\">bar</p><ul data-tight=\"true\" data-marker=\"*\" data-block=\"0\"><li data-marker=\"*\">baz</li></ul></li></ol></div>"},
{"11", "[foo][1]\n\n[1]: /bar\n", "<p data-block=\"0\">\u200b<span data-type=\"link-ref\" data-link-label=\"1\">foo</span>\u200b</p><div data-block=\"0\" data-type=\"link-ref-defs-block\">[1]: /bar\n</div>"},
{"10", "Foo\n ---\n", "<p data-block=\"0\">Foo\n---</p>"},
{"9", " ***\n ***\n\n- - - -", "<div class=\"vditor-wysiwyg__block\" data-type=\"code-block\" data-block=\"0\" data-marker=\"```\"><pre class=\"vditor-wysiwyg__pre\" style=\"display: none\"><code>***\n ***\n</code></pre><pre class=\"vditor-wysiwyg__preview\" data-render=\"2\"><code>***\n ***\n</code></pre></div><hr data-block=\"0\" />"},
Expand Down Expand Up @@ -67,7 +67,7 @@ var md2VditorIRDOMTests = []parseTest{
{"13", "foo\n{: id=\"fooid\"}\nbar\n{: id=\"barid\"}", "<p data-block=\"0\">foo</p><span data-type=\"kramdown-ial\">{: id=\"fooid\"}\n</span><p data-block=\"0\">bar</p><span data-type=\"kramdown-ial\">{: id=\"barid\"}\n</span>"},
{"12", "![][foo]\n\n[foo]: bar", "<p data-block=\"0\"><span class=\"vditor-ir__node\" data-type=\"img\"><span class=\"vditor-ir__marker\">!</span><span class=\"vditor-ir__marker vditor-ir__marker--bracket\">[</span><span class=\"vditor-ir__marker vditor-ir__marker--bracket\">]</span><span class=\"vditor-ir__marker vditor-ir__marker--link\">[foo]</span><img src=\"bar\" /></span></p><div data-block=\"0\" data-type=\"link-ref-defs-block\">[foo]: bar\n</div>"},
{"11", "![text][foo]\n\n[foo]: bar", "<p data-block=\"0\"><span class=\"vditor-ir__node\" data-type=\"img\"><span class=\"vditor-ir__marker\">!</span><span class=\"vditor-ir__marker vditor-ir__marker--bracket\">[</span><span class=\"vditor-ir__marker vditor-ir__marker--bracket\">text</span><span class=\"vditor-ir__marker vditor-ir__marker--bracket\">]</span><span class=\"vditor-ir__marker vditor-ir__marker--link\">[foo]</span><img src=\"bar\" alt=\"text\" /></span></p><div data-block=\"0\" data-type=\"link-ref-defs-block\">[foo]: bar\n</div>"},
{"10", "[^foo]\n\n[^foo]:", "<p data-block=\"0\">\u200b<sup data-type=\"footnotes-ref\" class=\"vditor-ir__node b3-tooltips b3-tooltips__s\" aria-label=\"\" data-footnotes-label=\"^foo\"><span class=\"vditor-ir__marker vditor-ir__marker--bracket\">[</span><span class=\"vditor-ir__marker vditor-ir__marker--link\">^foo</span><span class=\"vditor-ir__marker--hide\" data-render=\"1\">1</span><span class=\"vditor-ir__marker vditor-ir__marker--bracket\">]</span></sup>\u200b</p><div data-block=\"0\" data-type=\"footnotes-block\"><div data-type=\"footnotes-def\">[^foo]: </div></div>"},
{"10", "[^foo]\n\n[^foo]:", "<p data-block=\"0\">\u200b<sup data-type=\"footnotes-ref\" class=\"vditor-ir__node vditor-tooltipped vditor-tooltipped__s\" aria-label=\"\" data-footnotes-label=\"^foo\"><span class=\"vditor-ir__marker vditor-ir__marker--bracket\">[</span><span class=\"vditor-ir__marker vditor-ir__marker--link\">^foo</span><span class=\"vditor-ir__marker--hide\" data-render=\"1\">1</span><span class=\"vditor-ir__marker vditor-ir__marker--bracket\">]</span></sup>\u200b</p><div data-block=\"0\" data-type=\"footnotes-block\"><div data-type=\"footnotes-def\">[^foo]: </div></div>"},
{"9", "# foo {id}", "<h1 data-block=\"0\" class=\"vditor-ir__node\" id=\"ir-id\" data-marker=\"#\"><span class=\"vditor-ir__marker vditor-ir__marker--heading\" data-type=\"heading-marker\"># </span>foo<span data-type=\"heading-id\" class=\"vditor-ir__marker\"> {id}</span></h1>"},
{"8", "`foo`", "<p data-block=\"0\"><span data-type=\"code\" class=\"vditor-ir__node\"><span class=\"vditor-ir__marker\">`</span><code data-newline=\"1\">foo</code><span class=\"vditor-ir__marker\">`</span></span></p>"},
{"7", "$$\nfoo\n$$", "<div data-block=\"0\" data-type=\"math-block\" class=\"vditor-ir__node\"><span data-type=\"math-block-open-marker\">$$</span><pre class=\"vditor-ir__marker--pre vditor-ir__marker\"><code data-type=\"math-block\" class=\"language-math\">foo</code></pre><pre class=\"vditor-ir__preview\" data-render=\"2\"><code data-type=\"math-block\" class=\"language-math\">foo</code></pre><span data-type=\"math-block-close-marker\">$$</span></div>"},
Expand Down
4 changes: 2 additions & 2 deletions test/spinv_sv_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import (

var spinVditorSVDOMTests = []*parseTest{

{"61", "![text][foo]\n\n[foo]: bar", "<span class=\"vditor-sv__marker\">!</span><span class=\"vditor-sv__marker--bracket\">[</span><span class=\"vditor-sv__marker--bracket\">text</span><span class=\"vditor-sv__marker--bracket\">]</span><span class=\"vditor-sv__marker--link\">[foo]</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span class=\"vditor-sv__marker--bracket\">[</span><span class=\"vditor-sv__marker--link\" data-type=\"footnotes-link\">foo</span><span class=\"vditor-sv__marker--bracket\">]</span><span>: </span>bar<span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span>"},
{"61", "![text][foo]\n\n[foo]: bar", "<span class=\"vditor-sv__marker\">!</span><span class=\"vditor-sv__marker--bracket\">[</span><span class=\"vditor-sv__marker--bracket\">text</span><span class=\"vditor-sv__marker--bracket\">]</span><span class=\"vditor-sv__marker--link\">[foo]</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span class=\"vditor-sv__marker--bracket\">[</span><span class=\"vditor-sv__marker--link\" data-type=\"link-ref-defs-block\">foo</span><span class=\"vditor-sv__marker--bracket\">]</span><span>: </span>bar<span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span>"},
{"60", "foo\n\n===", "<span data-type=\"text\" class=\"h1\">foo</span><span data-type=\"newline\" class=\"h1\"><br/><span style=\"display: none\">\n</span></span><span data-type=\"text\" class=\"h1\"><wbr></span><span data-type=\"newline\" class=\"h1\"><br/><span style=\"display: none\">\n</span></span><span class=\"vditor-sv__marker--heading h1\" data-type=\"heading-marker\">===</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span>"},
{"59", "foo\n‸--", "<span data-type=\"text\" class=\"h2\">foo<wbr></span><span data-type=\"newline\" class=\"h2\"><br/><span style=\"display: none\">\n</span></span><span class=\"vditor-sv__marker--heading h2\" data-type=\"heading-marker\">---</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span>"},
{"58", "---‸", "<span data-type=\"yaml-front-matter-open-marker\" class=\"vditor-sv__marker\">---</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"text\"><wbr></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"yaml-front-matter-close-marker\" class=\"vditor-sv__marker\">---</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span>"},
Expand All @@ -29,7 +29,7 @@ var spinVditorSVDOMTests = []*parseTest{
{"53", "$$foo$$\n$$bar$$", "<span data-type=\"math-block-open-marker\" class=\"vditor-sv__marker\">$$</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"text\">foo</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"math-block-close-marker\" class=\"vditor-sv__marker\">$$</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"math-block-open-marker\" class=\"vditor-sv__marker\">$$</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"text\">bar</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"math-block-close-marker\" class=\"vditor-sv__marker\">$$</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span>"},
{"52", "foo\nbar\n=‸\n", "<span data-type=\"text\" class=\"h1\">foo</span><span data-type=\"newline\" class=\"h1\"><br/><span style=\"display: none\">\n</span></span><span data-type=\"text\" class=\"h1\">bar<wbr></span><span data-type=\"newline\" class=\"h1\"><br/><span style=\"display: none\">\n</span></span><span class=\"vditor-sv__marker--heading h1\" data-type=\"heading-marker\">===</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span>"},
{"51", "> 1. foo\n> 2. ```\n> bar\n> ‸\n> ```", "<span data-type=\"blockquote-marker\" class=\"vditor-sv__marker\">&gt; </span><span data-type=\"li-marker\" class=\"vditor-sv__marker\">1. </span><span data-type=\"text\">foo</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"blockquote-marker\" class=\"vditor-sv__marker\">&gt; </span><span data-type=\"li-marker\" class=\"vditor-sv__marker\">2. </span><span data-type=\"code-block-open-marker\" class=\"vditor-sv__marker\">```</span><span class=\"vditor-sv__marker--info\" data-type=\"code-block-info\"></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"blockquote-marker\" class=\"vditor-sv__marker\">&gt; </span><span data-type=\"padding\"> </span><span data-type=\"text\">bar<span data-type=\"padding\"></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"blockquote-marker\" class=\"vditor-sv__marker\">&gt; </span><span data-type=\"padding\"> </span><wbr></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"blockquote-marker\" class=\"vditor-sv__marker\">&gt; </span><span data-type=\"padding\"> </span><span data-type=\"code-block-close-marker\" class=\"vditor-sv__marker\">```</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span>"},
{"50", "[foo]\n\n[foo]: bar‸", "<span class=\"vditor-sv__marker--bracket\">[</span><span>foo</span><span class=\"vditor-sv__marker--bracket\">]</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span class=\"vditor-sv__marker--bracket\">[</span><span class=\"vditor-sv__marker--link\" data-type=\"footnotes-link\">foo</span><span class=\"vditor-sv__marker--bracket\">]</span><span>: </span>bar<wbr><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span>"},
{"50", "[foo]\n\n[foo]: bar‸", "<span class=\"vditor-sv__marker--bracket\">[</span><span>foo</span><span class=\"vditor-sv__marker--bracket\">]</span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span class=\"vditor-sv__marker--bracket\">[</span><span class=\"vditor-sv__marker--link\" data-type=\"link-ref-defs-block\">foo</span><span class=\"vditor-sv__marker--bracket\">]</span><span>: </span>bar<wbr><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span>"},
{"49", "![foo](bar)‸", "<span class=\"vditor-sv__marker\">!</span><span class=\"vditor-sv__marker--bracket\">[</span><span class=\"vditor-sv__marker--bracket\">foo</span><span class=\"vditor-sv__marker--bracket\">]</span><span class=\"vditor-sv__marker--paren\">(</span><span class=\"vditor-sv__marker--link\">bar</span><span class=\"vditor-sv__marker--paren\">)</span><span data-type=\"text\"><wbr></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span>"},
{"48", "![foo](bar)‸", "<span class=\"vditor-sv__marker\">!</span><span class=\"vditor-sv__marker--bracket\">[</span><span class=\"vditor-sv__marker--bracket\">foo</span><span class=\"vditor-sv__marker--bracket\">]</span><span class=\"vditor-sv__marker--paren\">(</span><span class=\"vditor-sv__marker--link\">bar</span><span class=\"vditor-sv__marker--paren\">)</span><span data-type=\"text\"><wbr></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span>"},
{"47", "> \n‸", "<span data-type=\"blockquote-marker\" class=\"vditor-sv__marker\">&gt; </span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"text\"><wbr></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span><span data-type=\"newline\"><br /><span style=\"display: none\">\n</span></span>"},
Expand Down
Loading

0 comments on commit 4026c99

Please sign in to comment.