Documentation: Core / HTMLfix (Pass 7)

Introduction Frontends Backends Includes Auxilliaries
htmlfix - Fixup HTML markup code


NAME

htmlfix - Fixup HTML markup code


SYNOPSIS

htmlfix [-o outputfile] [-F fixes] [-S fixes] [-v] [inputfile]


DESCRIPTION

The htmlfix program reads inputfile or from stdin and performs the following actions (name of each fixup is within parentheses):

(imgsize) : Adding WIDTH and HEIGHT attributes to IMG tags

For all IMG tags which don't already have both WIDTH and HEIGHT attributes (matched case insensitive), the size of the image (taken from the SRC attribute) is determined and the missing ``width=X'' and/or ``height=Y'' is added to the list of attributes. The intention is to speedup the layouting of the final webpage.

Don't intermix this with a size checker: htmlfix will only add missing width/height attributes and don't adjust ones with wrong dimensions. This is because else the user wouln't be able to scale images (used a lot by webdesigners via 1pt dot-images).

There is a special case: When the WIDTH or HEIGHT attribute already exists and has a value of ``*'' this asterisk is replaced by the physical value instead of appending a new attribute. Use when you want the attributes at a certain position, i.e. use this variant as a placeholder.

HTMLfix supports one additionl feature in conjunction with WIDTH and HEIGHT: SCALE=factor and SCALE=percent%. This can be used to scale the given or determined width and height values by multiplying with factor or multiplying with percent/100.

(imgalt) : Adding ALT attribute to IMG tags

For all IMG tags which don't already have a ALT tag an ALT="" attribute is added. The intention is to both make HTML checkers like weblint(1) happy and to demystify the final webpage for lynx(1) users.

(summary) : Adding SUMMARY attribute to TABLE tags

This attribute helps non-visual rendering of tables by adding a hint on its contents, and it makes tidy(1) quiet.

(center) : Changing proprietary CENTER tag to standard DIV tag

All proprietary (Netscape) CENTER tags are replaced by the HTML 3.2 conforming construct ``<DIV ALIGN=CENTER>''.

(space) : Fix trailing spaces in tags

Appendix C of the XHTML Specification recommands putting a space before closing simple tags to help rendering by old browsers. This space is automatically added when this fixup is used. On the other hand, all spaces before a right-angle bracker are suppressed.

(quotes) : Adding missing quotes for attributes

All attributes of the form ``...=xyz'' are replaced by ``...="xyz"''. Furthermore all (color) attributes of the form ``...="XXYYZZ"'' (XX,YY,ZZ elements of set {0,..,9,a,..,f} are fixed to ``...="#XXYYZZ"''.

(indent) : Indenting paragraphs

Paragraphs enclosed in <indent [num=N] [size=S]E<gt>...</indent> containers are indented by N*S spaces. When N=0 then the whitespace block in front of the paragraph is removed. Default is a 4 space indentation (N=1, S=4).

(comment) : Out-commenting tags

Sometimes it is useful to temporarily out-comment a tag instead of completely removing it. This can be done by just adding a sharp (``#'') character directly to the end of the tagname. The result is that the complete tag is commented out. For container-tags you have to comment out the end-tag explicitly, too. Example: ``<a# href="...">''.

(tagcase) : Markup-code case-conversion

Some people like their HTML markup code either to be all uppercase or all lowercase. This tag case-conversion is supported by the internal <tagconv case=...>...</tagconv> container tag from HTMLfix. Use case=upper to translate the HTML tags in its body to uppercase (default) or case=lower to translate them to lowercase.


OPTIONS

-o outputfile

This redirects the output to outputfile. Usually the output will be send to stdout if no such option is specified or outputfile is ``-''.

-F fixes

This option specifies which specifix fixups are performed. Its argument is a comma separated list of fixup names, and by default all fixups are performed.

-S fixes

This option does the inverse job, it skips specified fixups.

-v

This sets verbose mode where some processing information will be given on the console.


AUTHORS

 Ralf S. Engelschall
 rse@engelschall.com
 www.engelschall.com
 Denis Barbier
 barbier@engelschall.com