diff options
Diffstat (limited to 'v2/src/bin/series')
-rwxr-xr-x | v2/src/bin/series | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/v2/src/bin/series b/v2/src/bin/series deleted file mode 100755 index 6712368..0000000 --- a/v2/src/bin/series +++ /dev/null @@ -1,102 +0,0 @@ -#!/bin/sh -set -eu - -usage() { - cat <<-'EOF' - Usage: - series FILENAME - series -h - EOF -} - -help() { - cat <<-'EOF' - Options: - -h, --help show this message - - FILENAME the sentinel file to be touched - - - Enumerate and sort all items of a collection type, and notify - them about their '<link rel="next" ... />' and '<link rel="prev" .../>. - The collection type and language are inferred by FILENAME. - - The "notifying" part is done via a "$TARGET.next" file, that - is, a ".next" file is created to notify "$TARGET" about which - item is next to it via the content of the file. The same - applies for ".prev" files. - - - Examples: - - Generate the ".next" and ".prev" files for english pastebins: - - $ index src/en/pastebin/index.series - 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 - -FILENAME="${1:-}" -eval "$(assert_arg "$FILENAME" 'FILENAME')" -DIR="$(dirname "$FILENAME")" - - -find "$DIR"/*.sortdata 2>/dev/null | - sort -n | - xargs cat | - awk ' - BEGIN { split("", items) } - { items[NR] = $0 } - END { - first = 1 - last = length(items) - for (i in items) { - item = items[i] - if (i != first) { - file = item ".prev" - prev = items[i-1] - print prev > file - } - if (i != last) { - file = item ".next" - nextt = items[i+1] - print nextt > file - } - } - } - ' - -touch "$FILENAME" |