diff --git a/browser/lib/findNoteTitle.js b/browser/lib/findNoteTitle.js index 81c9400f..25417d53 100644 --- a/browser/lib/findNoteTitle.js +++ b/browser/lib/findNoteTitle.js @@ -1,8 +1,18 @@ +const frontMatterRegex = /^\-{3,}/ + export function findNoteTitle (value) { const splitted = value.split('\n') let title = null let isInsideCodeBlock = false + if (frontMatterRegex.exec(splitted[0])) { + let index = 0 + while (++index < splitted.length && !frontMatterRegex.exec(splitted[index])) { + } + + splitted.splice(0, index + 1) + } + splitted.some((line, index) => { const trimmedLine = line.trim() const trimmedNextLine = splitted[index + 1] === undefined ? '' : splitted[index + 1].trim() diff --git a/browser/lib/markdown.js b/browser/lib/markdown.js index 49fd2f86..aeebc7ac 100644 --- a/browser/lib/markdown.js +++ b/browser/lib/markdown.js @@ -149,6 +149,7 @@ class Markdown { }) this.md.use(require('markdown-it-kbd')) this.md.use(require('markdown-it-admonition')) + this.md.use(require('markdown-it-front-matter'), fm => {}) const deflate = require('markdown-it-plantuml/lib/deflate') this.md.use(require('markdown-it-plantuml'), '', { diff --git a/package.json b/package.json index e9949adf..04e3f7c6 100644 --- a/package.json +++ b/package.json @@ -74,6 +74,7 @@ "markdown-it-admonition": "^1.0.4", "markdown-it-emoji": "^1.1.1", "markdown-it-footnote": "^3.0.0", + "markdown-it-front-matter": "^0.1.2", "markdown-it-imsize": "^2.0.1", "markdown-it-kbd": "^1.1.1", "markdown-it-multimd-table": "^2.0.1", diff --git a/yarn.lock b/yarn.lock index 4ecfa51b..a4f682be 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5735,6 +5735,10 @@ markdown-it-footnote@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/markdown-it-footnote/-/markdown-it-footnote-3.0.1.tgz#7f3730747cacc86e2fe0bf8a17a710f34791517a" +markdown-it-front-matter@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/markdown-it-front-matter/-/markdown-it-front-matter-0.1.2.tgz#e50bf56e77e6a4f5ac4ffa894d4d45ccd9896b20" + markdown-it-imsize@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/markdown-it-imsize/-/markdown-it-imsize-2.0.1.tgz#cca0427905d05338a247cb9ca9d968c5cddd5170"