aboutsummaryrefslogtreecommitdiff
path: root/luax/blog/cache.lua
diff options
context:
space:
mode:
Diffstat (limited to 'luax/blog/cache.lua')
-rw-r--r--luax/blog/cache.lua23
1 files changed, 23 insertions, 0 deletions
diff --git a/luax/blog/cache.lua b/luax/blog/cache.lua
new file mode 100644
index 0000000..e8f5b0c
--- /dev/null
+++ b/luax/blog/cache.lua
@@ -0,0 +1,23 @@
+local md = require "libs.markdown"
+
+local blog_cache = {}
+
+local function get_blog_post_content(post)
+ local slug = post.slug
+ if blog_cache[slug] then
+ return blog_cache[slug]
+ end
+ -- pull markdown content from file
+ local content = io.open("blog/" .. slug .. ".md", "r"):read("*a")
+
+ if content then
+ -- convert markdown to html
+ content = md(content)
+ end
+
+ blog_cache[slug] = content
+
+ return content
+end
+
+return get_blog_post_content