diff --git a/lib/default-theme/NavLinks.vue b/lib/default-theme/NavLinks.vue index 3e79882fdd19d7285550d6114f3885bd8c95bcf1..6b09ba1eb33968334676545fb8aec3c3c013b1b3 100644 --- a/lib/default-theme/NavLinks.vue +++ b/lib/default-theme/NavLinks.vue @@ -49,11 +49,17 @@ export default { diff --git a/lib/prepare.js b/lib/prepare.js index 25b922c37990078aade06e3d0971c5402cedb689..c4371fec4ece3c49d43e08a46d1b47c9f993d831 100644 --- a/lib/prepare.js +++ b/lib/prepare.js @@ -4,7 +4,7 @@ const globby = require('globby') const mkdirp = require('mkdirp') const yaml = require('yaml-front-matter') const tempPath = path.resolve(__dirname, 'app/.temp') -const { inferTitle } = require('./util') +const { inferTitle, extractHeaders } = require('./util') mkdirp(tempPath) @@ -116,6 +116,10 @@ async function resolveOptions (sourceDir) { if (title) { data.title = title } + const headers = extractHeaders(frontmatter.__content, ['h2', 'h3']) + if (headers.length) { + data.headers = headers + } delete frontmatter.__content if (Object.keys(frontmatter).length) { data.frontmatter = frontmatter diff --git a/lib/util.js b/lib/util.js index fc7bb29a347b8f97fcbfd090c7bb1348b605e7cb..a6a96097e7cecc6ff2d01eb22771867ee459eb8b 100644 --- a/lib/util.js +++ b/lib/util.js @@ -52,7 +52,7 @@ exports.extractHeaders = (content, include = []) => { res.push({ level: parseInt(t.tag.slice(1), 10), title, - slug: S(title).slugify() + slug: S(title).slugify().s }) } })