Move navigation from _menu.json files in each navigation-parent directory to a naviga...
[ndcode_site.git] / _lib / blog_post.jst
diff --git a/_lib/blog_post.jst b/_lib/blog_post.jst
new file mode 100644 (file)
index 0000000..401761b
--- /dev/null
@@ -0,0 +1,40 @@
+let assert = require('assert')
+
+return async (env, head, body, scripts) => {
+  let breadcrumbs = await _require('/_lib/breadcrumbs.jst')
+  let get_navigation = await _require('/_lib/get_navigation.jst')
+  let navbar = await _require('/_lib/navbar.jst')
+
+  await navbar(
+    env,
+    head,
+    // body
+    async _out => {
+      await breadcrumbs(env, _out)
+
+      let transaction = await env.site.database.Transaction()
+      try {
+        let root = await transaction.get()
+        let p = await get_navigation(root, env.component_names)
+
+        div.row.mb-3 {
+          div.col-sm-12 {
+            img.img-responsive(
+              src=await p.get_json('image') || 'image.jpg'
+            ) {}
+          }
+        }
+
+        h3 {
+          `${await p.get_json('description')}—by ${await p.get_json('author')}`
+        }
+      }
+      finally {
+        transaction.rollback()
+      }
+
+      await body(_out)
+    },
+    scripts
+  )
+}