mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 17:56:25 +00:00
fix missing bullets
This commit is contained in:
@@ -2,14 +2,13 @@
|
|||||||
* @fileoverview Markdown table of contents generator
|
* @fileoverview Markdown table of contents generator
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import { EOL } from 'os'
|
||||||
import toc from 'markdown-toc'
|
import toc from 'markdown-toc'
|
||||||
import diacritics from 'diacritics-map'
|
import diacritics from 'diacritics-map'
|
||||||
import stripColor from 'strip-color'
|
import stripColor from 'strip-color'
|
||||||
import mdlink from 'markdown-link'
|
import mdlink from 'markdown-link'
|
||||||
import slugify from './slugify'
|
import slugify from './slugify'
|
||||||
|
|
||||||
const EOL = require('os').EOL
|
|
||||||
|
|
||||||
const hasProp = Object.prototype.hasOwnProperty
|
const hasProp = Object.prototype.hasOwnProperty
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -23,6 +22,11 @@ function uniqueSlug (slug, slugs, opts) {
|
|||||||
return uniq
|
return uniq
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function linkify (token) {
|
||||||
|
token.content = mdlink(token.content, '#' + token.slug)
|
||||||
|
return token
|
||||||
|
}
|
||||||
|
|
||||||
const TOC_MARKER_START = '<!-- toc -->'
|
const TOC_MARKER_START = '<!-- toc -->'
|
||||||
const TOC_MARKER_END = '<!-- tocstop -->'
|
const TOC_MARKER_END = '<!-- tocstop -->'
|
||||||
|
|
||||||
@@ -70,14 +74,16 @@ export function generate (markdownText) {
|
|||||||
uniqueSlugStartIndex: 1
|
uniqueSlugStartIndex: 1
|
||||||
}
|
}
|
||||||
|
|
||||||
const tokens = toc(markdownText, {
|
const result = toc(markdownText, {
|
||||||
slugify: title => {
|
slugify: title => {
|
||||||
return uniqueSlug(slugify(title), slugs, opts)
|
return uniqueSlug(slugify(title), slugs, opts)
|
||||||
},
|
},
|
||||||
linkify: false
|
linkify: false
|
||||||
})
|
})
|
||||||
|
|
||||||
const md = tokens.json.map(token => mdlink(token.content, '#' + token.slug)).join(EOL)
|
const md = toc.bullets(result.json.map(linkify), {
|
||||||
|
highest: result.highest
|
||||||
|
})
|
||||||
|
|
||||||
return TOC_MARKER_START + EOL + EOL + md + EOL + EOL + TOC_MARKER_END
|
return TOC_MARKER_START + EOL + EOL + md + EOL + EOL + TOC_MARKER_END
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user