blob: e46f345469a39eaf47eca2d8b39a13651be944fb (
plain) (
tree)
|
|
#!/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")"
PAGE="${FILE%.*}.page"
if [ -e "$PAGE" ]; then
exit 1
else
collections | awk -v l="$lang" -v pre="$CONTENT_PREFIX" -v dir="$DIR" '{
"coll2path " l " " $0 | getline coll_path
d = pre "/" l "/" coll_path
sub(/\/$/, "", d)
if (d == dir) {
print $0
}
}'
fi
|