NAME¶
hxnormalize - pretty-print an HTML file
SYNOPSIS¶
hxnormalize [
-x ] [
-e ] [
-d ] [
-s ] [
-L ] [
-i indent ] [
-l line-length ] [
-c commentmagic ] [
file-or-URL ]
DESCRIPTION¶
The
hxnormalize command pretty-prints an HTML file, and also tries to fix
small errors. The output is the same HTML, but with a maximum line length and
with optional indentation to indicate the nesting level of each line.
OPTIONS¶
The following options are supported:
- -x
- Use XML conventions: empty elements are written with a
slash at the end: <IMG />. Implies -e.
- -e
- Always insert endtags, even if HTML does not require them
(for example: </p> and </li>).
- -d
- Omit the DOCTYPE from the output.
- -i indent
- Set the number of spaces to indent each nesting level.
Default is 2. Not all elements cause an indent. In general, elements that
can occur in a block environment are started on a new line and cause an
indent, but inline elements, such as EM and SPAN do not cause an
indent.
- -l line-length
- Sets the maximum length of lines. hxnormalize will
wrap lines so that all lines are as long as possible, but no longer than
this length. Default is 72. Words that are longer than the line length
will not be broken, and will extend past this length. A
content of the STYLE, SCRIPT and PRE elements will not be line-wrapped.
- -s
- Omit <span> tags that don't have any attributes.
- -L
- Remove redundant "lang" and "xml:lang"
attributes. (I.e., those whose value is the same as the language inherited
from the parent element.)
- -c commentmagic
- Comments are normally placed right after the preceding
text. That is usually correct for short comments, but some comments are
meant to be on a separate line. commentmagic is a string and when
that string occurs inside a comment, hxnormalize will output an
empty line before that comment. E.g. -c "====" can be
used to put all comments that contain "====" on a separate line,
preceded by an empty line. By default, no comments are treated that
way.
OPERANDS¶
The following operand is supported:
- file-or-URL
- The name or URL of an HTML file. If absent, standard input
is read instead.
EXIT STATUS¶
The following exit values are returned:
- 0
- Successful completion.
- > 0
- An error occurred in the parsing of the HTML file.
hxnormalize will try to correct the error and produce output
anyway.
ENVIRONMENT¶
To use a proxy to retrieve remote files, set the environment variables
http_proxy and
ftp_proxy. E.g.,
http_proxy="http://localhost:8080/"
BUGS¶
The error recovery for incorrect HTML is primitive.
hxnormalize will not omit an endtag if the white space after it could
possibly be significant. E.g., it will not remove the first </p> from
"<div><p>text</p>
<p>text</p></div>".
hxnormalize can currently only retrieve remote files over HTTP. It
doesn't handle password-protected files, nor files whose content depends on
HTTP "cookies."
SEE ALSO¶
asc2xml(1),
xml2asc(1),
UTF-8 (RFC 2279)