#!/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 "til" for "src/en/til/some-pt.md": $ collection-for src/en/til/some-pt.md til 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')" lang="$(lang-for "$FILE")" DIR="$(dirname "$FILE")" if [ "$DIR" = "$CONTENT_PREFIX/$lang" ]; then echo else NAME="$(basename "$DIR")" NTH="$( collections | xargs -I% coll2path "$lang" % | awk '{ print NR, substr($0, 1, length($0) - 1) }' | grep " $NAME$" | cut -d' ' -f1 )" collections | awk -vNTH="$NTH" 'NR == NTH' fi