$Id: gmuck.pod,v 1.9 2004/08/07 23:31:29 scop Exp $

=head1 NAME

gmuck - The Generated MarkUp Checker

=head1 SYNOPSIS

  gmuck [OPTION...] [--] [FILE...]

=head1 DESCRIPTION

gmuck assists you in producing valid (X)HTML by checking CGI scripts,
XSL stylesheets, templates, normal HTML files or [you name it] and
reporting errors that it finds.

It is not a replacement for real validation tools, but is handy in
quick checks and in situations where validation of the actual markup
is troublesome.

gmuck is a line-oriented tool.  Because of that, its structural
checking capabilities are limited, but it makes an attempt to report
syntactical errors as well as provides some lint-like features.

=head1 OPTIONS

String values in options are case insensitive.
Options may be abbreviated, see L<Getopt::Long>.

=over 4

=item --[no]help

Output help message and exit.
Default is disabled.

=item --mode=<mode>

Set the checking mode.  Valid values are "XHTML", "HTML", "XML".
Default is "XHTML".
See L<HTML::GMUCK/mode()>.

=item --tabwidth=<n>

TAB width for error messages.
Default is 4.
See L<HTML::GMUCK/tab_width()>.

=item --stdin=<filename>

File name to use in error messages when the input is from STDIN.
Default is "STDIN".

=item --quote=<char>

Preferred quote style.
Valid values are "D" (double quote), "S" (single quote), "N" (none).
Default is "D".
See L<HTML::GMUCK/quote()>.

=item --[no]quick

Enable or disable quick mode (max 1 failed check per line).
Default is disabled.

=item --[no]verbose

Enable or disable verbose mode.  Default is enabled.

=item --[no]binary

Enable or disable checking of binary files.
The C<-B> function of Perl is used to determine whether a file is binary
or not.
Default is disabled.

=item --[no]elements

Enable or disable element checks.  Default is enabled.
See L<HTML::GMUCK/elements()>.

=item --[no]attributes

Enable or disable attribute checks.  Default is enabled.
See L<HTML::GMUCK/attributes()>.

=item --[no]minattributes

Enable or disable minimized attribute checks.
This option has effect only if attribute checks are enabled and the
checking mode is "HTML".
Default is enabled.
See L<HTML::GMUCK/min_attributes()>.

=item --[no]entities

Enable or disable entity checks.  Default is enabled.
See L<HTML::GMUCK/entities()>.

=item --[no]doctype

Enable or disable DOCTYPE checks.  Default is enabled.
See L<HTML::GMUCK/doctype()>.

=item --[no]mimetypes

Enable or disable MIME type checks.  Default is enabled.
See L<HTML::GMUCK/mime_types()>.

=item --[no]deprecated

Enable or disable deprecation checks.  Default is enabled.
See L<HTML::GMUCK/deprecated()>.

=back

=head1 EXAMPLES

Check all files in the current directory with the default options
(see above for the defaults):

  gmuck *

Check the files C<foo.cgi>, C<bar.pl> and C<baz.html> in HTML mode, without
reporting use of deprecated features (useful for HTML 4.01 Transitional):

  gmuck --mode=HTML --nodeprecated foo.cgi bar.pl baz.html

=head1 OUTPUT

The output generated by gmuck is parseable by eg. (X)Emacs' compile mode
as well as probably some other editors.

All error messages, both from checks and ones related to gmuck execution
will go to STDERR.

In verbose mode, informational messages go to STDOUT.

Error output lines are like:

  filename:line:column: [type] <element/@attribute> errormessage

=head1 SEE ALSO

L<HTML::GMUCK>, L<Getopt::Long>

=head1 AUTHOR

Ville Skyttä E<lt>ville.skytta at iki.fiE<gt>

=head1 COPYRIGHT

Copyright (C) 2001-2004 Ville Skyttä.  All rights reserved.

This program is free software, you can redistribute it and/or modify
it under the terms of The Artistic License or the GNU General Public
License ("GPL") as published by the Free Software Foundation; either
version 2 of the GPL, or (at your option) any later version.

=cut
