diff options
Diffstat (limited to 'v2/src/bin/collection-for')
-rwxr-xr-x | v2/src/bin/collection-for | 83 |
1 files changed, 83 insertions, 0 deletions
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 |