1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 17:56:25 +00:00

fix missing bullets

This commit is contained in:
Baptiste Augrain
2018-12-15 10:41:47 +01:00
parent 4f9b37433c
commit d5a2aa6d6d

View File

@@ -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
} }