Hi,
I see that Tom has been fixing broken links lately. So I have industrialized the process a bit: I have run linklint on WineHQ.com and it found 164 dead links.
I wrote a wrapper script around linklint, it's mostly syntactic sugar but I find the linklint options to be pretty unintuitive so the script will allow me to re-check the site later. Even better, I have included the script below so anyone can run it and check WineHQ for dead links. Do we have a volunteer for running the script from time to time?
Note: the script directs linklint to check at most one page per second so as to limit the impact on the site.
I have also uploaded the result files to my web site so everyone can check them out and start sending patches without running the script and hammering WineHQ. The most interesting pages are:
* http://fgouget.free.fr/wine/linklint/errorF.html Lists broken internal links with the pages they occur in. I.e. it will tell you page http://www.winehq.com/foo points to http://www.winehq.com/bar and bar does not exist. We have 4 of these.
* http://fgouget.free.fr/wine/linklint/errorAX.html Lists missing anchors in our pages. I.e. it will tell you page http://www.winehq.com/foo points to http://www.winehq.com/bar#Here but there is not 'Here' anchor in the bar page. We have 57 of these.
* http://fgouget.free.fr/wine/linklint/urlfailF.html Lists broken external links. I.e. it will tell you page http://www.winehq.com/foo points to sites like http://dcerpc.net/ but the host name does not resolve or the URL is 404, etc. We have 154 of these.
* http://fgouget.free.fr/wine/index.html Index to the internal links reports.
* http://fgouget.free.fr/wine/urlindex.html Index to the external links reports.
Dimitrie. Quite a few errors are caused by www.dssd.ca resolution problems. I remember you saying that there was some trouble with it. What's the status?
Another common source of errors is that the WWN articles don't use numbers as the article index, unlike the Wine Kernel Cousin articles. That probably causes some confusion.
--- #!/bin/sh
host="www.winehq.com" seeds="-ignore /hypermail/@ -ignore /pipermail/@ /@"
mode="all" local_options="-htmlonly -redirect" remote_options="-htmlonly" report_dir="linklint"
while [ $# -gt 0 ] do if [ "$1" = "--host" ] then host="$2" shift 2 elif [ "$1" = "--local" ] then mode="local" shift elif [ "$1" = "--remote" ] then mode="remote" shift elif [ "$1" = "--all" ] then mode="all" shift elif [ "$1" = "--retry" ] then remote_options="$remote_options -retry" shift else echo "Usage: check [--host hostname] [--local|--remote|--all] [--retry]" >&2 exit 2 fi done
if [ "$mode" != "remote" ] then time linklint -doc $report_dir $local_options -http -host $host $seeds fi if [ "$mode" != "local" ] then time linklint -doc $report_dir -cache $report_dir $remote_options -netmod -docbase http://$host @@ fi ---