diff options
-rw-r--r-- | Makefile | 14 | ||||
-rwxr-xr-x | scripts/publish | 17 |
2 files changed, 31 insertions, 0 deletions
@@ -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 "$@" |