From a1e594bb440bb37ef1c99b68f24f62b4a72a99c7 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Fri, 6 Jan 2023 22:40:56 -0600 Subject: Add sort_items This allows list functions to work with a sorted list.. whatever that sorting may be. The default is 'cat', which is purposefully not very useful. --- vienna | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/vienna b/vienna index f40f027..e88941d 100755 --- a/vienna +++ b/vienna @@ -346,6 +346,7 @@ genpage() { # genpage PAGE... } genlist() { # genlist PERITEM_FUNC TEMPLATE_FILE PAGE... + ## Generate a list. peritem_func="$1" template_file="$2" tmpf="$TMPD/$1" @@ -355,12 +356,19 @@ genlist() { # genlist PERITEM_FUNC TEMPLATE_FILE PAGE... echo | expand "$template_file" return fi - for FILE; do - log genlist "$peritem_func" "$FILE" - LINK="$DOMAIN${DOMAIN:+/}${FILE%.$PAGE_RAW_EXT}" - META="$TMPD/$FILE.meta" - "$peritem_func" "$FILE" - done | expand "$template_file" + printf '%s\n' "$@" | sort_items | + while read -r FILE; do + log genlist "$peritem_func" "$FILE" + LINK="$DOMAIN${DOMAIN:+/}${FILE%.$PAGE_RAW_EXT}" + META="$TMPD/$FILE.meta" + "$peritem_func" "$FILE" + done | expand "$template_file" +} + +sort_items() { # sort_items < ITEMS + ## Sort ITEMS separated by newlines. + # This function assumes that no ITEM contains a newline. + cat } index_item() { # index_item PAGE -- cgit 1.4.1-21-gabe81