1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 01:36:22 +00:00

feat: suppport auto generating toc content for the '[TOC]' placeholder, related #3022

This commit is contained in:
hikerpig
2019-07-27 13:03:20 +08:00
parent 93b8ef35f7
commit 8edfbd28ed
7 changed files with 70 additions and 1 deletions

View File

@@ -109,6 +109,14 @@ const footnote = `
hello-world: https://github.com/BoostIO/Boostnote/
`
const tocPlaceholder = `
[TOC]
# H1
## H2
### H3
###$ H4
`
export default {
basic,
codeblock,
@@ -121,5 +129,6 @@ export default {
supTexts,
deflists,
shortcuts,
footnote
footnote,
tocPlaceholder
}

View File

@@ -73,3 +73,8 @@ test('Markdown.render() should render footnote correctly', t => {
const rendered = md.render(markdownFixtures.footnote)
t.snapshot(rendered)
})
test('Markdown.render() should renders [TOC] placholder correctly', t => {
const rendered = md.render(markdownFixtures.tocPlaceholder)
t.snapshot(rendered)
})

View File

@@ -48,6 +48,28 @@ Generated by [AVA](https://ava.li).
`<span class="katex-display"><span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>c</mi><mo>=</mo><mi>p</mi><mi>m</mi><mi>s</mi><mi>q</mi><mi>r</mi><mi>t</mi><mrow><msup><mi>a</mi><mn>2</mn></msup><mo>+</mo><msup><mi>b</mi><mn>2</mn></msup></mrow></mrow><annotation encoding="application/x-tex">c = pmsqrt{a^2 + b^2}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.43056em;vertical-align:0em;"></span><span class="mord mathdefault">c</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span></span><span class="base"><span class="strut" style="height:1.0585479999999998em;vertical-align:-0.19444em;"></span><span class="mord mathdefault">p</span><span class="mord mathdefault">m</span><span class="mord mathdefault">s</span><span class="mord mathdefault" style="margin-right:0.03588em;">q</span><span class="mord mathdefault" style="margin-right:0.02778em;">r</span><span class="mord mathdefault">t</span><span class="mord"><span class="mord"><span class="mord mathdefault">a</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8641079999999999em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord"><span class="mord mathdefault">b</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8641079999999999em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span></span></span>␊
`
## Markdown.render() should renders [TOC] placholder correctly
> Snapshot 1
`<p data-line="1"><ul class="markdownIt-TOC">␊
<li><a href="#h1">H1</a>␊
<ul>␊
<li><a href="#h2">H2</a>␊
<ul>␊
<li><a href="#h3">H3</a></li>␊
</ul>␊
</li>␊
</ul>␊
</li>␊
</ul>␊
</p>␊
<h1 id="H1" data-line="2">H1</h1>␊
<h2 id="H2" data-line="3">H2</h2>␊
<h3 id="H3" data-line="4">H3</h3>␊
<p data-line="5">###$ H4</p>␊
`
## Markdown.render() should renders abbrevations correctly
> Snapshot 1