diff --git a/src/helpers/linkUtils.js b/src/helpers/linkUtils.js index 3b386d9..6f6943d 100644 --- a/src/helpers/linkUtils.js +++ b/src/helpers/linkUtils.js @@ -45,7 +45,7 @@ function getBacklinks(data) { let preview = noteContent.slice(0, 240); backlinks.push({ url: otherNote.url, - title: otherNote.data.page.fileSlug, + title: otherNote.data.title || otherNote.data.page.fileSlug, preview, id: counter++ }) @@ -90,7 +90,7 @@ function getOutboundLinks(data, isHome=false){ uniqueLinks.add(outboundNote.url); return { url: outboundNote.url, - title: outboundNote.data.page.fileSlug, + title: outboundNote.data.title || outboundNote.data.page.fileSlug, id: counter++, }; } else { diff --git a/src/site/_data/filetree.js b/src/site/_data/filetree.js index 902c2b4..1e2fe9a 100644 --- a/src/site/_data/filetree.js +++ b/src/site/_data/filetree.js @@ -31,14 +31,18 @@ module.exports = async () => { return orderedTree; } -function getPermalink(path) { +function getPermalinkAndName(path) { let permalink = "/" + let name = key.replace(".md", ""); try { const file = fs.readFileSync(`${path}`, 'utf8'); const frontMatter = matter(file); if (frontMatter.data.permalink) { permalink = frontMatter.data.permalink; } + if (frontMatter.data.title){ + name = frontMatter.data.title + } } catch { //ignore } @@ -52,8 +56,9 @@ function populateWithPermalink(tree) { const isNote = tree[key].path.endsWith(".md"); tree[key].isNote = isNote; if (isNote) { - tree[key].permalink = getPermalink(tree[key].path); - tree[key].name = key.replace(".md", ""); + let { permalink, name } = getPermalinkAndName(tree[key].path); + tree[key].permalink = permalink + tree[key].name = name } } else { tree[key].isFolder = true; diff --git a/src/site/_includes/layouts/note.njk b/src/site/_includes/layouts/note.njk index 8114454..7686ab0 100644 --- a/src/site/_includes/layouts/note.njk +++ b/src/site/_includes/layouts/note.njk @@ -1,11 +1,11 @@ --- -title: "/{{ page.fileSlug }}/" +title: "/{% if title %}{{ title }}{% else %}{{ page.fileSlug }}{% endif %}/" permalink: "notes/{{ page.fileSlug | slugify }}/" ---
-