#!/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