eerste versie wiki-terminal
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
#!/bin/bash
|
||||
|
||||
if command -v jq >/dev/null 2>&1; then
|
||||
echo
|
||||
else
|
||||
echo "jq ontbreekt."
|
||||
sudo apt install jq -y || {
|
||||
echo "installatie jq mislukt. abort"
|
||||
echo "probeer later opnieuw"
|
||||
exit 1
|
||||
}
|
||||
echo
|
||||
echo "jq is geïnstalleerd. Wiki-terminal wordt gestart."
|
||||
echo
|
||||
fi
|
||||
|
||||
if command -v less >/dev/null 2>&1; then
|
||||
echo
|
||||
else
|
||||
echo "less ontbreekt."
|
||||
sudo apt install less -y || {
|
||||
echo "installatie less mislukt. abort"
|
||||
echo "probeer later opnieuw"
|
||||
exit 1
|
||||
}
|
||||
echo
|
||||
echo "less is geïnstalleerd. Wiki-terminal wordt gestart."
|
||||
echo
|
||||
fi
|
||||
|
||||
zoek() {
|
||||
echo "Zoek naar pagina's:"
|
||||
read -p "> " PAGINANAAM
|
||||
echo
|
||||
|
||||
mapfile -t TITELS < <(
|
||||
curl -sG \
|
||||
--data-urlencode "action=query" \
|
||||
--data-urlencode "list=search" \
|
||||
--data-urlencode "srsearch=$PAGINANAAM" \
|
||||
--data-urlencode "format=json" \
|
||||
"https://en.wikipedia.org/w/api.php" |
|
||||
jq -r '.query.search[]?.title'
|
||||
)
|
||||
|
||||
if [ ${#TITELS[@]} -eq 0 ]; then
|
||||
echo "Geen resultaten gevonden."
|
||||
return
|
||||
fi
|
||||
|
||||
for i in "${!TITELS[@]}"; do
|
||||
echo "$((i+1)). ${TITELS[$i]}"
|
||||
done
|
||||
}
|
||||
|
||||
pick() {
|
||||
echo
|
||||
echo "kies een nummer"
|
||||
read -p "> " PAGINANUMMER
|
||||
|
||||
if [[ $PAGINANUMMER =~ ^[0-9]+$ ]] && [ $PAGINANUMMER -ge 1 ] && [ $PAGINANUMMER -le ${#TITELS[@]} ]; then
|
||||
INDEX=$((PAGINANUMMER - 1))
|
||||
PAGINANAAMNUMMER="${TITELS[$INDEX]}"
|
||||
return 0
|
||||
else
|
||||
echo "Ongeldige keuze"
|
||||
return 199
|
||||
fi
|
||||
}
|
||||
|
||||
getSamenvatting() {
|
||||
curl -sG \
|
||||
--data-urlencode "action=query" \
|
||||
--data-urlencode "prop=extracts" \
|
||||
--data-urlencode "explaintext=true" \
|
||||
--data-urlencode "titles=$PAGINANAAMNUMMER" \
|
||||
--data-urlencode "format=json" \
|
||||
"https://en.wikipedia.org/w/api.php" \
|
||||
| jq -r '.query.pages[].extract' | sed '/^== External links ==/,$d' | less
|
||||
}
|
||||
|
||||
zoek
|
||||
pick
|
||||
|
||||
if pick; then
|
||||
getSamenvatting
|
||||
else
|
||||
echo "probeer opnieuw"
|
||||
fi
|
||||
Reference in New Issue
Block a user