From ee71be14a05d0d7da38352f8ff5c19798f96d4eb Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Sat, 8 Apr 2023 13:22:48 -0300 Subject: v2: Generate collections index.html pages and their "by-category" equivalents --- v2/src/bin/collection-for | 83 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100755 v2/src/bin/collection-for (limited to 'v2/src/bin/collection-for') diff --git a/v2/src/bin/collection-for b/v2/src/bin/collection-for new file mode 100755 index 0000000..b3fc211 --- /dev/null +++ b/v2/src/bin/collection-for @@ -0,0 +1,83 @@ +#!/bin/sh +set -eu + +usage() { + cat <<-'EOF' + Usage: + collection-for FILE + collection-for -h + EOF +} + +help() { + cat <<-'EOF' + + + Options: + -h, --help show this message + + FILE the path of the file to get the collection for + + + Say the collection of the given file, using the path of FILE. + + + Examples: + + Get "tils" for "src/en/tils/some-pt.md": + + $ collection-for src/en/tils/some-pt.md + tils + EOF +} + + +for flag in "$@"; do + case "$flag" in + --) + break + ;; + --help) + usage + help + exit + ;; + *) + ;; + esac +done + +while getopts 'h' flag; do + case "$flag" in + h) + usage + help + exit + ;; + *) + usage >&2 + exit 2 + ;; + esac +done +shift $((OPTIND - 1)) + +. src/lib.sh + + +FILE="${1:-}" +eval "$(assert_arg "$FILE" 'FILE')" + + +# echo "${FILE#"$CONTENT_PREFIX"/}" | cut -d/ -f1 +# echo "${FILE#"$CONTENT_PREFIX"/}" | awk '{ + # awk -F/ '$3 && $0=$2 { print; next } $0' + +ATTEMPT="$(echo "${FILE#"$CONTENT_PREFIX"/}" | cut -d/ -f2-)" + +if [ "$ATTEMPT" = 'index.html' ]; then + echo articles +else + NAME="$(echo "$ATTEMPT" | cut -d/ -f1)" + collections | grep "$NAME" +fi -- cgit v1.2.3