diff --git a/moinmoin-url-list b/moinmoin-url-list new file mode 100755 index 0000000..89156a3 --- /dev/null +++ b/moinmoin-url-list @@ -0,0 +1,28 @@ +#!/bin/bash +if [[ $# -ne 1 || "$1" != http* ]]; then + printf 'Usage: %q FRONT_PAGE_URL\n' "$0" >&2 + exit 1 +fi + +url="$1" +if [[ "${url}" == *\?* ]]; then + printf 'Error: URLs with query strings not supported\n' >&2 + exit 1 +fi +url="${url%/*}" + +curl "${url}/TitleIndex" | \ + grep -A 1000000 -F 'href="/TitleIndex?allpages=1"' | \ + grep -B 1000000 -F 'id="pagebottom"' | \ + grep -Po 'href="\K[^"]+' | \ + grep -Fxv '/TitleIndex?allpages=1' | \ + sed 's,\?action=AttachFile$,,' | \ + perl -ne 'print if ! $a{$_}++' | \ + awk -v url="${url}" \ + '{ + print url $0; + print url $0 "?action=info"; + print url $0 "?action=info&general=1"; + print url $0 "?action=raw"; + print url $0 "?action=AttachFile"; + }'