summary refs log tree commit diff stats
path: root/src/responders.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/responders.js')
-rw-r--r--src/responders.js27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/responders.js b/src/responders.js
index 70f7f90..4049ebf 100644
--- a/src/responders.js
+++ b/src/responders.js
@@ -5,6 +5,14 @@ const Case = require("case");
 const hyperfast = require("hyperfast");
 const indent = require("indent-string");
 
+const postDateFormatter = new Intl.DateTimeFormat("en-GB", {
+  hour12: false,
+  weekday: "long",
+  year: "numeric",
+  month: "long",
+  day: "numeric"
+});
+
 const getTemplate = name =>
   fs.readFileSync(`${__dirname}/templates/${name}.html`, "utf8");
 
@@ -36,13 +44,21 @@ function title(siteTitle, pageTitle) {
   return pageTitle ? `${pageTitle} ยท ${siteTitle}` : siteTitle;
 }
 
-const renderPostListItem = ctx => post => ({
-  a: {
-    href: ctx.getURL("post", post.basename),
-    _text: post.data.get("title")
-  }
+const makeTime = date => ({
+  datetime: date.toISOString(),
+  _text: postDateFormatter.format(date)
 });
 
+const renderPostListItem = ctx => post => {
+  return {
+    time: makeTime(post.data.get("date")),
+    a: {
+      href: ctx.getURL("post", post.basename),
+      _text: post.data.get("title")
+    }
+  };
+};
+
 function layout(config, pageTitle, pageElement) {
   return hyperfast(templates.layout, {
     title: title(config.site.author.name, pageTitle),
@@ -80,6 +96,7 @@ module.exports = {
       post.data.get("title"),
       hyperfast(templates.post, {
         "article h1": post.data.get("title"),
+        "article time": makeTime(post.data.get("date")),
         "article .post-content": {
           _html: post.body
         }