diff options
author | Alan Pearce | 2017-06-18 17:42:21 +0200 |
---|---|---|
committer | Alan Pearce | 2017-06-18 17:42:21 +0200 |
commit | 33171a749162685e42650f82041cd2af0136718d (patch) | |
tree | bd6970a89c47db7ea13698ca378eae0df605af0d /src/modules | |
parent | 1a36d4dc311a86246fe854da888af01f8195368e (diff) | |
download | homestead-33171a749162685e42650f82041cd2af0136718d.tar.lz homestead-33171a749162685e42650f82041cd2af0136718d.tar.zst homestead-33171a749162685e42650f82041cd2af0136718d.zip |
feat(posts): render posts as markdown
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/posts.js | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/modules/posts.js b/src/modules/posts.js index 011292b..cba2372 100644 --- a/src/modules/posts.js +++ b/src/modules/posts.js @@ -3,12 +3,20 @@ const fs = require('fs') const path = require('path') const matter = require('gray-matter') +const Markdown = require('markdown-it') const grayMatterOptions = { lang: 'toml', delims: '+++' } +const markdownOptions = { + html: true, + typographer: true +} + +const markdown = new Markdown(markdownOptions) + function* lowercaseKeys (iterator) { for (let [k, v] of iterator) { yield [String(k).toLowerCase(), v] @@ -28,6 +36,10 @@ function getTitle (file) { return path.basename(file.path, path.extname(file.path)) } +function render (post) { + return markdown.render(post.content) +} + function get (filename) { const fileMatter = matter.read(filename, grayMatterOptions) fileMatter.basename = getTitle(fileMatter) @@ -59,5 +71,6 @@ function toTags (posts) { module.exports = { get, getFolder, - toTags + toTags, + render } |