summaryrefslogtreecommitdiff
path: root/src/indexbody
blob: e1b8017c0d542a97d3a62cca365d7c611fcdcefc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/sh
set -euo pipefail


usage() {
	echo 'Usage: indexbody [-n] FILENAME.conf [SORTDATA]'
}


EMIT_HEADER=true
while getopts 'n' flag; do
	case "$flag" in
		(n)
			EMIT_HEADER=false
			;;
		(*)
			usage >&2
			exit 2
			;;
	esac
done
shift $((OPTIND - 1))

FILENAME="${1:-}"
SORTDATA="${2:-"$(dirname -- "$FILENAME")"/sortdata.txt}"
eval "$(assert-arg -- "$FILENAME" 'FILENAME.conf')"
. ./"$FILENAME"
PLURAL="$(cat "$names_dir"/categories/"$lang".txt)"


header() {
	cat <<EOF
        <p>
          Atom feed
          <a href="feed.xml"><img src="$feedicon_url" class="icon" /></a>
          and feeds by
          <a href="$PLURAL.html">$PLURAL</a>.
        </p>
EOF
}

if [ "$EMIT_HEADER" = true ]; then
	header
fi

printf '        <ol class="collection-list">\n'
cat -- "$SORTDATA" |
	xargs cat |
	sort -nr |
	xargs cat |
	sed 's/\.sortdata$/.indexentry/' |
	xargs cat
printf '        </ol>\n'