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]>"..."</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