about summary refs log tree commit diff
path: root/scripts
diff options
context:
space:
mode:
authorPatryk Niedźwiedziński <pniedzwiedzinski19@gmail.com>2019-11-28 07:25:54 -0500
committerGitHub <noreply@github.com>2019-11-28 07:25:54 -0500
commitfaaf63ad895bd51541a9984273d52c71645a0b28 (patch)
tree90e949913650da4b619e3ab1e875731b1410d93f /scripts
parent72549ed7b81fc01445fecdb7889bab4cf2a1590f (diff)
parent73e5c7a20e5e8f6a54ab484ea2ce1aac16200b1d (diff)
downloadpuszcza-faaf63ad895bd51541a9984273d52c71645a0b28.tar.gz
puszcza-faaf63ad895bd51541a9984273d52c71645a0b28.zip
Merge pull request #8 from 19pdh/develop
Posts & ranking
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