#!/bin/sh # Version 3 # # Use suckless fold command instead of GNU coreutils. # https://dl.suckless.org/sbase/sbase-0.1.tar.gz # # `fold` from GNU coreutils corrupts UTF-8. # # page="$1" if [ -z "$page" ] then echo "Usage: gopherpoodia-fetch.sh [Wikipedia page title or URL]" echo "" echo "Converts Wikipedia page to plaintext document." echo "" exit 1 fi base="https://en.wikipedia.org/wiki/" title=${page##"$base"} title=${title##/} enctitle=$(echo "$title" | sed -e 's|/|%2F|g') link="$base$enctitle" agent="User-Agent: Gopherpoodia (user@stinkin.host)" api="https://en.wikipedia.org/api/rest_v1" url="$api/page/html/$enctitle" outdir="public_gopher/wiki/" safetitle=$(echo "$enctitle" |\ sed -e 's|%2F|-|g' -e 's|\.\.|_|g' -e 's|:|_|g') outfile="$outdir/$safetitle" mkdir -p "$outdir" wget -q -O - -U "User-Agent: $agent" "$url" |\ webdump -l -r -w 70 -b "$base" |\ sed -e 's|/\./|/|g' |\ fold.suckless -s -w 72 >"$outfile" echo "" >>"$outfile" echo "From: <$link>" >>"$outfile"