2023-02-24 23:10:45 +01:00
|
|
|
|
{
|
|
|
|
|
|
writers,
|
|
|
|
|
|
lib,
|
2025-06-03 14:55:03 +02:00
|
|
|
|
xan,
|
2023-02-24 23:10:45 +01:00
|
|
|
|
curl,
|
|
|
|
|
|
gnused,
|
|
|
|
|
|
}:
|
|
|
|
|
|
writers.writeDashBin "literature-quote" ''
|
2025-06-03 14:55:03 +02:00
|
|
|
|
PATH=$PATH:${lib.makeBinPath [xan curl gnused]}
|
2023-02-24 23:10:45 +01:00
|
|
|
|
ROW=$(curl -Ls http://kmein.github.io/logotheca/quotes.csv | shuf -n1)
|
|
|
|
|
|
(
|
2025-06-09 11:34:19 +02:00
|
|
|
|
QUOTE="$(echo "$ROW" | xan select 3)"
|
2024-10-08 18:44:54 +02:00
|
|
|
|
|
|
|
|
|
|
echo "$QUOTE" | sed 's/^"//;s/"$//;s/\s*||\s*/\n\n/g;s/\s*|\s*/\n/g'
|
|
|
|
|
|
echo
|
|
|
|
|
|
|
2025-06-09 11:34:19 +02:00
|
|
|
|
AUTHOR="$(echo "$ROW" | xan select 0)"
|
2024-10-08 18:44:54 +02:00
|
|
|
|
# Prepare the output
|
|
|
|
|
|
ATTRIBUTION="($AUTHOR"
|
|
|
|
|
|
|
2025-06-09 11:34:19 +02:00
|
|
|
|
SOURCE="$(echo "$ROW" | xan select 1)"
|
2024-10-08 18:44:54 +02:00
|
|
|
|
|
|
|
|
|
|
# Add SOURCE if it's not empty
|
|
|
|
|
|
if [ -n "$SOURCE" ]; then
|
|
|
|
|
|
ATTRIBUTION="$ATTRIBUTION: $SOURCE"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
2025-06-09 11:34:19 +02:00
|
|
|
|
LOC="$(echo "$ROW" | xan select 2 | sed 's/""//;s/-/–/g')"
|
2024-10-08 18:44:54 +02:00
|
|
|
|
# Add LOC if it's not empty
|
|
|
|
|
|
if [ -n "$LOC" ]; then
|
|
|
|
|
|
ATTRIBUTION="$ATTRIBUTION, $LOC"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
ATTRIBUTION="$ATTRIBUTION)"
|
|
|
|
|
|
|
|
|
|
|
|
echo "$ATTRIBUTION"
|
|
|
|
|
|
)
|
2023-02-24 23:10:45 +01:00
|
|
|
|
''
|