summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Löthberg <johannes@kyriasis.com>2016-11-15 12:08:05 +0100
committerJohannes Löthberg <johannes@kyriasis.com>2016-11-15 12:08:05 +0100
commit780a4ca28e0de9937491b132aa0a6d93030e04d6 (patch)
tree99af359d48e9970a51e58746f312e065640e2ec1
parent238bc21acf4c34b447335a9d33c24b18965a7009 (diff)
downloadkyblo-780a4ca28e0de9937491b132aa0a6d93030e04d6.tar.xz
Add publish script
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
-rw-r--r--Makefile14
-rwxr-xr-xscripts/publish17
2 files changed, 31 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index bc761d6..5db47e0 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,18 @@
build: $(wildcard entries/*.rst) $(wildcard templates/*.html) entries.json
scripts/build.py
+publish: check-entry-given check-title-given $(ENTRY)
+ scripts/publish "$(ENTRY)" "$(TITLE)"
+
+check-entry-given:
+ifndef ENTRY
+ $(error ENTRY to publish was not given.)
+endif
+
+check-title-given:
+ifndef TITLE
+ $(error TITLE to publish as was not given.)
+endif
+
+
.PHONY: build
diff --git a/scripts/publish b/scripts/publish
new file mode 100755
index 0000000..e76409e
--- /dev/null
+++ b/scripts/publish
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+main() {
+ if (( $# != 2 )); then
+ printf 'Invalid number of parameters: %d\n' "$#"
+ exit 1
+ fi
+
+ local file="$1"
+ local title="$2"
+ local date="$(date -Id)"
+
+ mv "$file" entries/"$file"
+ jq "[.[], { title: \"$title\", date: \"$date\", file: \"$file\" }]" <entries.json | sponge entries.json
+}
+
+main "$@"