diff options
| author | Joe Carstairs <me@joeac.net> | 2026-06-09 21:29:10 +0100 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2026-06-09 21:29:10 +0100 |
| commit | ce1ebb3ad3f705a1a8e3764e6c18f1af12eed795 (patch) | |
| tree | 3164a91894fc279a41fe368ead15d686ce358baf /http | |
| parent | 0065d36bc8dab85e639fa35945ef289f68182975 (diff) | |
extracts longlog metadata including updated date
Diffstat (limited to 'http')
| -rw-r--r-- | http/Makefile | 2 | ||||
| -rwxr-xr-x | http/bin/blog | 5 | ||||
| -rwxr-xr-x | http/bin/extract_longlog_meta | 34 | ||||
| -rw-r--r-- | http/share/layouts/blog.layout.upphtml | 21 |
4 files changed, 59 insertions, 3 deletions
diff --git a/http/Makefile b/http/Makefile index fd865b5..1656817 100644 --- a/http/Makefile +++ b/http/Makefile @@ -11,7 +11,7 @@ src/microlog: $(shell find -L blogs/microlog -type f) bin/blog blog: src/blog src/blog: $(shell find -L blogs/blog -type f) bin/blog - ./bin/blog -i blog -l blog -p 'cut_longlog_meta | gmi2upphtml' + ./bin/blog -i blog -l blog -p 'cut_longlog_meta | gmi2upphtml' -a extract_longlog_meta .PHONY: clean clean: diff --git a/http/bin/blog b/http/bin/blog index 49bef7f..7038e4a 100755 --- a/http/bin/blog +++ b/http/bin/blog @@ -37,9 +37,12 @@ layout="default" postprocess_cmd="echo" use_filenames_for_titles=0 -while getopts "i:l:p:t" opt +while getopts "a:i:l:p:t" opt do case $opt in + a) + extract_args_cmd="$OPTARG" + ;; i) log_name="$OPTARG" ;; diff --git a/http/bin/extract_longlog_meta b/http/bin/extract_longlog_meta new file mode 100755 index 0000000..054c994 --- /dev/null +++ b/http/bin/extract_longlog_meta @@ -0,0 +1,34 @@ +#!/bin/sh -e + +POST_TITLE="${POST_TITLE:-}" +DATE_PUBLISHED="" +DATE_UPDATED="" + +while read line +do + if [ "$(echo "$line" | cut -c1-2)" = "# " ] + then + POST_TITLE="$(echo "$line" | cut -c3-)" + elif [ "$(echo "$line" | cut -c1-14)" = "Published on: " ] + then + DATE_PUBLISHED="$(date --date="$(echo "$line" | cut -c15-)" +%Y-%m-%d)" + elif [ "$(echo "$line" | cut -c1-12)" = "Updated on: " ] + then + DATE_UPDATED="$(date --date="$(echo "$line" | cut -c13-)" +%Y-%m-%d)" + fi +done + +if [ -n "$POST_TITLE" ] +then + echo "POST_TITLE=\"${POST_TITLE}\"" +fi + +if [ -n "$DATE_PUBLISHED" ] +then + echo "DATE_PUBLISHED=\"${DATE_PUBLISHED}\"" +fi + +if [ -n "$DATE_UPDATED" ] +then + echo "DATE_UPDATED=\"${DATE_UPDATED}\"" +fi diff --git a/http/share/layouts/blog.layout.upphtml b/http/share/layouts/blog.layout.upphtml index 928733f..804c6d9 100644 --- a/http/share/layouts/blog.layout.upphtml +++ b/http/share/layouts/blog.layout.upphtml @@ -1,7 +1,7 @@ #! SRC="$1" SITE_URL="$2" -DATE_PUBLISHED="$(basename "${SRC}" | cut -c1-10)" +DATE_PUBLISHED="${DATE_PUBLISHED:-$(basename "${SRC}" | cut -c1-10)}" CANONICAL_URL="${SITE_URL}/blog/$(basename "${SRC}")" #! @@ -24,11 +24,30 @@ pp "${SHARE}"/components/navbar.upphtml <aside> <span>This is a blog post by <a class='p-author h-card' href='/'>Joe Carstairs</a>.</span> +#! +if [ -z "${DATE_UPDATED}" ]; then +#! <span>Published: #! DATE="${DATE_PUBLISHED}" CLASS="dt-published" pp "${SHARE}/components/formatted_date.upphtml" #! .</span> +#! +else +#! +<span>Updated: +#! +DATE="${DATE_UPDATED}" CLASS="dt-updated" pp "${SHARE}/components/formatted_date.upphtml" +#! +.</span> +<span>Originally published: +#! +DATE="${DATE_PUBLISHED}" CLASS="dt-published" pp "${SHARE}/components/formatted_date.upphtml" +#! +.</span> +#! +fi +#! <span hidden><a class='u-url uid' href='${CANONICAL_URL}'>Permalink</a></span> </aside> |
