WEBLINTRC
If this variable is defined, and references a file, then weblint will read the referenced file for the user's configuration, rather than $HOME/.weblintrc.
Pick fluff off web pages (html)
Part of weblint(1).
weblint [-d
id]
[-e
id]
[-f
filename]
[-i]
[-l]
[-s]
[-stderr]
[-t]
[-todo]
[-help]
[-U]
[-urlget
command]
[-v]
[-version]
[-warnings]
[-x
extension]
file1
..
fileN
Weblint is a Perl script which picks fluff off HTML pages. Files to be checked are passed on the command-line:
% weblint foobar.html ./dodgy-files/ index.html
If any of the arguments are directories weblint will recurse in the directory, and check any HTML files found. If an argument is a URL, then weblint will get the file using a URL retrieval program, and then check the file:
% weblint http://www.foobar.com/
By default weblint will use lynx to retrieve URLs, but this can be over-ridden. A filename of `-' specifies that weblint should read from standard input:
% lynx -source http://www.foobar.com/ | weblint -
Warnings are generated a la lint:
home.html(9): unmatched </A> (no matching <A> seen).
by default checks for HTML 3.2 (Wilbur)
46 different checks and warnings
Warnings can be enabled/disabled individually, as per your preference
basic structure and syntax checks
warnings for use of unknown elements and element attributes.
context checks (where a tag must appear within a certain element).
overlapped or illegally nested elements.
do IMG elements have ALT text?
flags obsolete elements.
support for user and site configuration files
stylistic checks
checks for html which is not portable across all browsers
flags markup embedded in comments, since this can confuse some browsers
support for Netscape, and Microsoft HTML extensions
-d warning-identifier
Disable the warning associated with the identifier. Multiple identifiers can be specified, with a comma between identifiers.
-e warning-identifier
Enable the warning associated with the identifier. Multiple identifiers can be specified, with a comma between identifiers.
-f config-file
Specify a weblint configuration file which should be used in place of the user's default config file, or the site configuration file.
-help
Show a short usage summary.
-i
Ignore case of element tags.
-l
When recursing in directories, ignore any files which are symlinks (also known as soft links). This will also cause files on the command-line to be ignored if they are symlinks, unless only one file is given.
-pedantic
Turn on all warnings except the case-sensitive and bad-link warnings.
-s
Generate `short' warning messages, which do not include the filename.
-stderr
Print warning messages to STDERR rather than STDOUT.
-t
Enable terse warning mode, which is mainly useful for the weblint testsuite.
-U
Same as -help.
-urlget command
The command which should be used to retrieve HTML pages specified by URL.
-v
Display the version number.
-version
Display the version number.
-todo
This prints out the URL for the online version of the weblint ToDo list. This includes known bugs, and requested/planned features.
-warnings
List all supported warnings, with warning identifier, and whether the warning is enabled.
-x extension
Include checks for the specified HTML extension; multiple extensions can be specified, separated with a comma. Currently the only extensions supported are Netscape and Microsoft. This can also be set in your weblint configuration file, described below.
Unless you specify otherwise, weblint assumes you are using HTML 3.2. Weblint supports the Netscape and Microsoft HTML extensions in addition. For example, weblint will complain that the BLINK element is not known, unless you enable the Netscape extension. The following extensions are currently supported:
NetscapeThe HTML extensions supported by the Netscape browser, version 4.
MicrosoftThe HTML extensions supported by Microsoft Internet Explorer, version 4.
To enable an extension, you can either use the -x command-line switch:
% weblint -x Netscape foobar.html
Or you can use the extension keyword in your .weblintrc:
# enable the Microsoft extensionsextension Microsoft
Weblint can be configured using a file .weblintrc in your home directory (or a file referenced by the WEBLINTRC environment variable). This file can be used to enable or disable specific warnings, set weblint variables, and include HTML extensions, as described above. Each warning has a short identifier string, used to refer to the warning in config files, and from the command-line. For example, if you want to enable the check for tags in upper-case, but disable the check for obsolete elements, then you would include the following lines in your .weblintrc:
# specify the command used to retrieve URLs (-urlget switch)set url-get = lynx -source# the style of warning message to generate (lint, short, or terse)set message-style = lint# enable warning for tags not in upper-caseenable upper-case# disable the warning for obsolete tagsdisable obsolete# enable the Netscape HTML extensionsextension Netscape# when recursing in a directory,# ignore files which are symlinks (also known as soft links)ignore symlinks
The keywords can be followed by any number of arguments, separated by spaces or tabs. Anything following a `#' is treated as a comment.
A sample configuration file is included in the weblint distribution (as of version 1.004), which mirrors the configuration built-in to weblint.
Weblint also supports a site configuration file. If a user does not have a personal configuration file, then weblint will check for a local site configuration file. To provide such a file, create a directory such as /etc and create a file global.weblintrc. You need to edit the weblint script and modify the $SITE_DIR variable, which you will find near the top of the file. For example:
$SITE_DIR = '/etc';
At some point in the future there will be configuration support for weblint, so you won't have to modify the script directly yourself.
If you have a site configuration file, then users can inherit the site defaults by adding the following line at the top of their .weblintrc file:
use global weblintrc
All warnings generated by weblint are listed below, along with the associated identifier, and whether the warning is enabled or disabled by default.
Identifier: upper-case
Default: disabled
Identifier: lower-case
Default: disabled
Identifier: required-attribute
Default: enabled
Identifier: expected-attribute
Default: enabled
Identifier: unknown-element
Default: enabled
Identifier: unknown-attribute
Default: enabled
Identifier: leading-whitespace
Default: enabled
Identifier: here-anchor
Default: enabled
Identifier: require-head
Default: enabled
Identifier: once-only
Default: enabled
Identifier: body-no-head
Default: enabled
Identifier: html-outer
Default: enabled
Identifier: head-element
Default: enabled
Identifier: non-head-element
Default: enabled
Identifier: obsolete
Default: enabled
Identifier: mis-match
Default: enabled
Identifier: img-alt
Default: enabled
Identifier: nested-element
Default: enabled
Identifier: mailto-link
Default: disabled
Identifier: element-overlap
Default: enabled
Identifier: unclosed-element
Default: enabled
Identifier: markup-in-comment
Default: enabled
Identifier: odd-quotes
Default: enabled
Identifier: heading-order
Default: enabled
Identifier: bad-link
Default: disabled
Identifier: unexpected-open
Default: enabled
Identifier: required-context
Default: enabled
Identifier: unclosed-comment
Default: enabled
Identifier: illegal-closing
Default: enabled
Identifier: physical-font
Default: disabled
Identifier: repeated-attribute
Default: enabled
Identifier: empty-container
Default: enabled
Identifier: attribute-delimiter
Default: enabled
Identifier: closing-attribute
Default: enabled
Identifier: directory-index
Default: enabled
Identifier: must-follow
Default: enabled
Identifier: img-size
Default: disabled
Identifier: container-whitespace
Default: disabled
Identifier: require-doctype
Default: disabled
Identifier: literal-metacharacter
Default: enabled
Identifier: heading-mismatch
Default: enabled
Identifier: bad-text-context
Default: enabled
Identifier: attribute-format
Default: enabled
Identifier: extension-markup
Default: enabled
Identifier: extension-attribute
Default: enabled
Identifier: quote-attribute-value
Default: enabled
Identifier: meta-in-pre
Default: enabled
Identifier: heading-in-anchor
Default: enabled
Identifier: title-length
Default: enabled
A simple regression testsuite is included with weblint, in the Perl script test.pl. You can run the testsuite with either of the following commands:
% make test% ./test.pl
The results are printed to STDERR, with a more complete report generated in test.log.
All tests should pass. If any tests fail, please email test.log to the address given in the AUTHOR section below.
WEBLINTRC
If this variable is defined, and references a file, then weblint will read the referenced file for the user's configuration, rather than $HOME/.weblintrc.
TMPDIR
The directory where weblint will create temporary working files. Defaults to /usr/tmp.
$HOME/.weblintrc
The user's configuration file. See the section `CONFIGURATION FILE'.
This man page describes weblint 1.020.
The list of known bugs can be found on the weblint home page:
http://www.cre.canon.co.uk/~neilb/weblint/todo/
Certain versions of Perl have bugs which are triggered by weblint. You shouldn't experience problems if you have 4.036, or 5.002.
Lots of people have contributed to weblint, in the form of suggestions, bug reports, fixes, and contributed code. Please email me if your name should appear in the roll call below.
Abigail <[email protected]>; Anthony Thyssen <[email protected]>; Axel Boldt <[email protected]>; Barry Bakalor <[email protected]>; Bill Arnett <[email protected]>; Bob Friesenhahn <[email protected]>; Mark Gates <[email protected]>; Bruce Speyer <[email protected]>; Chris Siebenmann <[email protected]>; Clay Webster <[email protected]>; Dana Jacobsen <[email protected]>; David Begley <[email protected]>; David J. MacKenzie <[email protected]>; Douglas Brick <[email protected]>; Gil Citro; Eric de Mund <[email protected]>; Richard Finegold <[email protected]>; Joerg Heitkoetter <[email protected]>; David Koblas <[email protected]>; John Labovitz <[email protected]>; Eric Maryniak <[email protected]>; John F. Whitehead <[email protected]> Juergen Schoenwaelder <[email protected]>; Frank Steinke <[email protected]>; Larry Virden <[email protected]>; Paul Black <[email protected]>; Doug Grinbergs <[email protected]>; Philip Hallstrom <[email protected]>; Craig Leres <[email protected]>; Richard Lloyd <[email protected]>; Charles F. Randall <[email protected]>; Robert Schmunk <[email protected]>; Jeff Schave <[email protected]>; Jon Thackray <[email protected]>; Jens Thordarson <[email protected]>; Ryan Waldron <[email protected]>; Thomas Leavitt <[email protected]>; Tom Neff <[email protected]>; Victor Parada <[email protected]>; Erick Branderhorst <[email protected]>; Bryan O'Sullivan <[email protected]>; Alan J. Flavell <[email protected]>; Raphael Manfredi <[email protected]>; Keith Iosso <[email protected]>; Chris Lambert <[email protected]>; Tristan Savatier <[email protected]>; Phil Hooper <[email protected]>; Gerald Viers <[email protected]>; Dean Brissinger <[email protected]>; Dave Schmitt <[email protected]>; John Van Essen <[email protected]>; Brandon Bell <[email protected]>; Fumio Moriya and Toshiaki Nomura <[email protected]>; Vincent Lefevre <[email protected]>; Jason Mathews <[email protected]>; Lars Balker Rasmussen <[email protected]>; Richard L. Hawes <[email protected]>.