diff --git a/render/vditor_sv_renderer.go b/render/vditor_sv_renderer.go index 3ae0b3669..27d9c3270 100644 --- a/render/vditor_sv_renderer.go +++ b/render/vditor_sv_renderer.go @@ -408,7 +408,10 @@ func (r *VditorSVRenderer) renderFootnotesDef(node *ast.Node, entering bool) ast r.WriteString(": ") for c := node.FirstChild; nil != c; c = c.Next { ast.Walk(c, func(n *ast.Node, entering bool) ast.WalkStatus { - // indentSpacesStr := ` ` + if entering && n != node.FirstChild && n.IsBlock() { + indentSpacesStr := ` ` + r.WriteString(indentSpacesStr) + } return r.RendererFuncs[n.Type](n, entering) }) } diff --git a/test/spin_block_test.go b/test/spin_block_test.go index aa93fc54b..3088e5d68 100644 --- a/test/spin_block_test.go +++ b/test/spin_block_test.go @@ -20,6 +20,7 @@ import ( var spinBlockDOMTests = []*parseTest{ + {"132", "
```foo%\n```
", "
```foo%
\u200b
{: id="20220804093503-axqeojl" updated="20220804143308"}\n
\u200b
"}, {"131", "
\"foo-20211228205701-btntjdp\"
", "
\"foo-20211228205701-btntjdp\" \u200b
\u200b
"}, {"130", "
```foo ~
", "
```foo ~
\u200b
"}, {"129", "
foobar
", "
foobar
\u200b
"}, diff --git a/test/spin_sv_test.go b/test/spin_sv_test.go index 71095e951..2bd7a6fd4 100644 --- a/test/spin_sv_test.go +++ b/test/spin_sv_test.go @@ -18,6 +18,7 @@ import ( var spinVditorSVDOMTests = []*parseTest{ + {"64", "[^1]: foo\n\n bar‸", "[^1]: foo
\n

\n
bar
\n

\n
"}, {"63", "123\n456\n| a | b |\n| - | - |\n| d | e |\n", "123
\n
456
\n

\n
| a | b |\n| - | - |\n| d | e |
\n

\n
"}, {"62", "| foo | bar |\n| - | - |\n| baz | bazz |\n", "| foo | bar |\n| - | - |\n| baz | bazz |
\n

\n
"}, {"61", "![text][foo]\n\n[foo]: bar", "![text][foo]
\n

\n
[foo]: bar
\n

\n
"}, @@ -54,7 +55,7 @@ var spinVditorSVDOMTests = []*parseTest{ {"30", "```\nfoo\n```‸", "```
\n
foo
\n
```
\n

\n
"}, {"29", "> foo\n> >‸\n", "> foo
\n
>
\n
> >
\n

\n
"}, {"28", "> >‸", "> >
\n

\n
"}, - {"27", "这里是一个脚注引用[^1],这里是另一个脚注引用[^bignote]。\n\n[^1]: 第一个脚注定义。\n[^bignote]: 脚注定义可使用多段内容。\n\n 缩进对齐的段落包含在这个脚注定义内。‸\n", "这里是一个脚注引用[^1],这里是另一个脚注引用[^bignote]
\n

\n
[^1]: 第一个脚注定义。
\n

\n
[^bignote]: 脚注定义可使用多段内容。
\n

\n
缩进对齐的段落包含在这个脚注定义内。
\n

\n
"}, + {"27", "这里是一个脚注引用[^1],这里是另一个脚注引用[^bignote]。\n\n[^1]: 第一个脚注定义。\n[^bignote]: 脚注定义可使用多段内容。\n\n 缩进对齐的段落包含在这个脚注定义内。‸\n", "这里是一个脚注引用[^1],这里是另一个脚注引用[^bignote]
\n

\n
[^1]: 第一个脚注定义。
\n

\n
[^bignote]: 脚注定义可使用多段内容。
\n

\n
缩进对齐的段落包含在这个脚注定义内。
\n

\n
"}, // TODO SV 表格换行 //{"26", "|foo|bar|\n| ---| ---|\n|‸", "|foo|bar|\n| ---| ---|\n|
\n

\n
"}, {"25", "‸", "
\n
"}, diff --git a/test/spin_wysiwyg_test.go b/test/spin_wysiwyg_test.go index e40f05f9e..00db1dff8 100644 --- a/test/spin_wysiwyg_test.go +++ b/test/spin_wysiwyg_test.go @@ -18,6 +18,7 @@ import ( var spinVditorDOMTests = []*parseTest{ + {"158", "
", "
<form><iframe src="data:text/html,<script>alert('xss');</script>"></iframe></form>
"}, {"157", "

[ToC]

foo ​<script>​ bar

", "

foo \u200b<script>\u200b bar

"}, {"156", "

foo​<span>bar</span>

", "

foo\u200b\u200b<span>bar\u200b</span>

"}, {"155", "

​<span>foo</span>

", "

\u200b\u200b<span>foo\u200b</span>

"},