diff options
Diffstat (limited to '')
-rwxr-xr-x | v2/src/bin/conf (renamed from v2/src/development/genconf.sh) | 42 |
1 files changed, 29 insertions, 13 deletions
diff --git a/v2/src/development/genconf.sh b/v2/src/bin/conf index f9dfc14..ac02d98 100755 --- a/v2/src/development/genconf.sh +++ b/v2/src/bin/conf @@ -5,8 +5,8 @@ set -eu usage() { cat <<-'EOF' Usage: - src/development/genconf.sh FILENAME - src/development/genconf.sh -h + conf FILENAME + conf -h EOF } @@ -28,7 +28,7 @@ help() { Get the "frontmatter" of src/f.conf: - $ src/development/genconf.sh src/f.md > src/f.conf + $ conf src/f.md > src/f.conf EOF } @@ -63,7 +63,7 @@ while getopts 'h' flag; do done shift $((OPTIND - 1)) -. src/development/lib.sh +. src/lib.sh FILENAME="${1:-}" eval "$(assert_arg "$FILENAME" 'FILENAME')" @@ -73,7 +73,7 @@ escape() { sed 's|\([`"$]\)|\\\1|g' } -tee "$FILENAME".tmp < src/lib/base-conf +tee "$FILENAME".tmp < src/lib/base.conf DELIMITER=0 while read -r line; do if [ "$line" = '---' ]; then @@ -95,6 +95,11 @@ done < "$FILENAME" | tee -a "$FILENAME".tmp . "$FILENAME".tmp rm -f "$FILENAME".tmp + +lang="$(lang-for "$FILENAME")" +export lang +printf 'export lang="%s"\n' "$lang" + cat src/lib/base."${lang:?}".conf # shellcheck source=/dev/null . src/lib/base."$lang".conf @@ -104,19 +109,30 @@ if [ -z "${title:-}" ]; then fi if [ -n "${date:-}" ]; then - formatted_date="$(LANG="$lang" date -d "${date:?}" +"${date_fmt:?}")" + date_iso="$(date -ud "${date:?}" -Is)" + printf 'export date_iso="%s"\n' "$date_iso" + + formatted_date="$(LANG="$lang" date -ud "${date:?}" +"${date_fmt:?}")" export formatted_date printf 'export date_html="%s"\n' "$(envsubst < src/lib/date."$lang".html | escape)" + + echo "${FILENAME%.md}.xmlentry" > "$(dirname "$FILENAME")/$date_iso.sortdata" + touch "${FILENAME%.md}.sortref" fi if [ -n "${update:-}" ]; then - formatted_update="$(LANG="$lang" date -d "${update:?}" +"${date_fmt:?}")" + update_iso="$(date -ud "${update:?}" -Is)" + printf 'export update_iso="%s"\n' "$update_iso" + + formatted_update="$(LANG="$lang" date -ud "${update:?}" +"${date_fmt:?}")" export formatted_update printf 'export update_html="%s"\n' "$(envsubst < src/lib/update."$lang".html | escape)" + + printf 'export update_xml=" <updated>%s</updated>"\n' "$update_iso" fi -url_part="$(printf '%s' "${FILENAME%.md}.html" | sed 's|^src/content/||')" +url_part="$(printf '%s' "${FILENAME%.md}.html" | sed "s|^$CONTENT_PREFIX||")" title_uri="$(uri "$title")" printf 'export title_html="%s"\n' "$(printf '%s' "$title" | htmlesc | escape)" @@ -127,13 +143,13 @@ printf 'export mailto_uri="%s%s"\n' "${mailto_uri_prefix:?}" "$title_uri" printf 'export discussions_url="%s%s"\n' "${discussions_url_prefix:?}" "$title_uri" printf 'export sourcecode_url="%s%s"\n' "${sourcecode_url_prefix:?}" "$FILENAME" -printf 'export style_url="%s"\n' "$(url-for -g 'style.css')" -printf 'export favicon_url="%s"\n' "$(url-for -g 'favicon.svg')" -printf 'export pubkey_url="%s"\n' "$(url-for -g 'public.asc.txt')" +printf 'export style_url="%s"\n' "$(url-for 'style.css')" +printf 'export favicon_url="%s"\n' "$(url-for 'favicon.svg')" +printf 'export pubkey_url="%s"\n' "$(url-for 'public.asc.txt')" -for f in src/content/img/*.svg; do +for f in "$CONTENT_PREFIX"/img/*.svg; do name="$(basename "$f" .svg | sed 's|-|_|g')" - printf 'export icon_%s_url="%s"\n' "$name" "$(url-for -g "img/$(basename "$f")")" + printf 'export icon_%s_url="%s"\n' "$name" "$(url-for "img/$(basename "$f")")" done # FIXME: special treatment of root |