summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 "$@"