#!/usr/bin/env bash xmessage "loading page for: $1" page="$(uriescape "$1")" cache_file=~/.cache/wikipedia/"${page}.pdf" mkdir -p ~/.cache/wikipedia ## follow redirects (-L), silent (-s), and no globbing (-g), you can guess what -H does. last_modified="$(rfc7231date "$(stat -c '%Y' "${cache_file}")")" curl -H "If-Modified-Since: ${last_modified}" -L -s -g "https://en.wikipedia.org/api/rest_v1/page/pdf/${page}" -o "${cache_file}" fileuri=file://"${cache_file}" uristart "${fileuri}"