about summary refs log tree commit diff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/generateApi.js23
-rwxr-xr-xscripts/postbuild.sh6
-rwxr-xr-xscripts/prebuild.sh12
3 files changed, 41 insertions, 0 deletions
diff --git a/scripts/generateApi.js b/scripts/generateApi.js
new file mode 100755
index 0000000..f72745e
--- /dev/null
+++ b/scripts/generateApi.js
@@ -0,0 +1,23 @@
+import fs from 'fs'
+import k from '../api'
+
+let posts = k.getPosts()
+
+posts = posts.map(({ date, title, content, route }) => {
+  const { year, month, day } = date
+  const { description, meta } = content
+
+  return {
+    date: `${year}-${month}-${day}`,
+    title,
+    content: { description, meta },
+    route
+  }
+})
+
+posts.sort((a, b) => (a.route > b.route ? 1 : -1))
+
+fs.writeFile('./dist/api/posts.json', JSON.stringify(posts), err =>
+  err ? console.log(err) : null
+)
+console.log(posts)
diff --git a/scripts/postbuild.sh b/scripts/postbuild.sh
new file mode 100755
index 0000000..85e35f9
--- /dev/null
+++ b/scripts/postbuild.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+mkdir ./dist/api
+
+node -r esm ./scripts/generateApi.js
+
diff --git a/scripts/prebuild.sh b/scripts/prebuild.sh
new file mode 100755
index 0000000..937bf5f
--- /dev/null
+++ b/scripts/prebuild.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+set -x
+set -eou pipefail
+
+if [ -d ./content ]; then
+    cd content
+    git pull
+    cd ..
+else
+    git clone https://github.com/19pdh/kronika content
+fi