linkcheck gets its settings from configuration files (system-wide
/etc/linkcheck.conf and user-specific ~/.linkcheck) and command
line. User-specific settings override system-wide settings and
command-line parameters override configuration files.

Most linkcheck options have reasonable defaults. The only options
which must be specified by the user are
	1) what URL to check; typically, this will be on the
command line
	2) where to send results; typically, this will be in
a configuration file
Typical configuration file will therefore be a one-liner like
message_pipe = "/bin/mail -s \"linkcheck problem report\" webmaster@www.mydomain.com"
and linkcheck will be invoked (automatically from crontab) like
/usr/local/bin/linkcheck http://www.mydomain.com/

If you want more than basics, here's the complete list of
options:
start_url
	- URL to check. Can contain multiple strings. In config
file, write all of them on one line, i. e.
start_url = "http://www.mydomain.com/" "http://www.ourdomain.com/"
(quotes are required). On command line, start_url is the default
option, so you don't need to name it:
linkcheck http://www.mydomain.com/ http://www.ourdomain.com/

checked_scheme
	- what schemes (http, ftp etc.) to check. Can contain
multiple strings, but the only one tested (and the default
value) is "http://".

checked_ext
	- what files (depending on their extensions) should be
downloaded whole (using GET request). Links to files with other
extensions (i. e. pictures) are checked with HEAD request. Default
is
checked_ext = ".html" ".htm"
If you have other HTML files, you may want to extend the list;
don't forget to include default values when overriding it:
linkcheck --checked-ext .html --checked-ext .htm --checked-ext .php3
Note how the option name is modified for use on command line:
underscores ('_') are changed to hyphens ('-') and two hyphens
prepended to the name (this holds for all options, and they don't
have any short forms).

message_pipe
	- where to send results. This string is just passed to popen.

send_ok
	- whether linkcheck should send reports even when it didn't
find any problems (value yes) or not (value no). Default is no.
Override like
send_ok = yes
(in config file; no quotes this time because the value is not
a string) or
linkcheck --send-ok
(on command line; for boolean options on command line, value yes is
assumed)

expected_status
	- by default, linkcheck expects all the requests to return
HTTP status 200. If you know some of your links will return
something else, specify them here:
expected_status = "http://dict.leo.org/cgi-bin/dict-search=301" "http://www.mapy.cz/=302"
Strings have form "url=status".

verbose
	- when 1, linkcheck prints some messages about its progress
to standard output. Useful primarily for debugging. Default is 0.

The rest of options specifies templates for linkcheck reports.
They are strings containing positional parameters (in the form
of '%n', where n is a digit (0 - 9)). Positional parameters can
be in any order, one parameter can repeat multiple times and not
all of them have to be present. Meaning of positional parameters
depends on the template.

linkcheck can send one of two reports: either everything is OK
(this report is configured by ok_template), or there are some
problems (prolog_template, followed by list of problems
(paragraph_template), delimited by paragraph_divider).

ok_template - format of "no problem" report
	- parameters:
		%0: when linkcheck started to run, formatted
by time_template
		%1: when linkcheck ended, again formatted
by time_template
		%2: list of checked URLs (start_url option),
formatted by url_template and delimited by url_divider
	- default: "Everything is OK; linkcheck robot, running
from %0 to %1,\nchecked %2 and found no problems."

prolog_template - start of problem report
	- parameters: the same as ok_template
	- default: "linkcheck robot, running from %0 to %1,\n
checked %2 and found the following problems:\n\n"

paragraph_template - description of one broken link
	- parameters:
		%0: URL
		%1: list of pages referencing the broken URL,
formatted by dependency_template and delimited by
dependency_divider
		%2: status code
		%3: status description 
	- default: "%0\n referenced from\n%1\n got status %2 (%3)\n"

paragraph_divider - stuff between two paragraphs
	- no parameters
	- default: "\n"

dependency_template - page referencing the broken link
	- parameters:
		%0: URL
	- default: "  %0"

dependency_divider - stuff between two dependencies
	- no parameters
	- default: "\n"

time_template - how to convert struct tm to string
	- parameters:
		%0: tm_sec
		%1: tm_min
		%2: tm_hour
		%3: tm_mday
		%4: tm_mon + 1
		%5: tm_year
		%6: tm_wday
		%7: tm_yday
		%8: tm_isdst
	- default: "%3.%4.%5, %2:%1:%0"

url_template - format of checked url
	- parameters:
		%0: URL
	- default: "%0"

url_divider - stuff between two checked URLs
	- no parameters
	- default: ", "


