diff --git a/packages/literature-quote.nix b/packages/literature-quote.nix index 38eb3b8..3751243 100644 --- a/packages/literature-quote.nix +++ b/packages/literature-quote.nix @@ -8,12 +8,31 @@ writers.writeDashBin "literature-quote" '' PATH=$PATH:${lib.makeBinPath [xsv curl gnused]} ROW=$(curl -Ls http://kmein.github.io/logotheca/quotes.csv | shuf -n1) - ( - printf '%s\n\n— %s: _%s_, %s\n' \ - "$(echo "$ROW" | xsv select 4)" \ - "$(echo "$ROW" | xsv select 1)" \ - "$(echo "$ROW" | xsv select 2)" \ - "$(echo "$ROW" | xsv select 3 | tr : ,)" - ) | sed 's/ | /\n/g;s/ || /\n\n/g;s/"\(.*\)"/\1/' + QUOTE="$(echo "$ROW" | xsv select 4)" + + echo "$QUOTE" | sed 's/^"//;s/"$//;s/\s*||\s*/\n\n/g;s/\s*|\s*/\n/g' + echo + + AUTHOR="$(echo "$ROW" | xsv select 1)" + # Prepare the output + ATTRIBUTION="($AUTHOR" + + SOURCE="$(echo "$ROW" | xsv select 2)" + + # Add SOURCE if it's not empty + if [ -n "$SOURCE" ]; then + ATTRIBUTION="$ATTRIBUTION: $SOURCE" + fi + + LOC="$(echo "$ROW" | xsv select 3 | sed 's/""//;s/-/–/g')" + # Add LOC if it's not empty + if [ -n "$LOC" ]; then + ATTRIBUTION="$ATTRIBUTION, $LOC" + fi + + ATTRIBUTION="$ATTRIBUTION)" + + echo "$ATTRIBUTION" + ) ''