1998/9/1 $BHG(B
$B:G?7HG$N(B Tidy $B$rF~
$BF|K\8lHG(B tidy $B$*$h$S%I%-%e%a%s%H$NF|K\8lLu$K4X$7$F$O!"(B http://www.w3.org/People/asada/tidy $B$r$4Mw2<$5$$!#(B
HTML
$B$rJT=8$7$F$$$k$H!";W$o$L4V0c$$$rHH$7$F$7$^$&$3$H$,$h$/$"$j$^$9!#(B
$B$3$&$$$&4V0c$$$r<+F0E*$K=$@5$7$F!"E,Ev$K=q$$$?%^!<%/%"%C%W$r$-$l$$$K(B
$B$7$F$/$l$k!"4JC1$JJ}K!$,$"$l$PNI$$$H;W$$$^$;$s$+!)(B $B$=$&!"(BHewlett
Packard $B$N(B Dave Raggett $B$K46o$KFI$_$E$i$$(B HTML $B@lMQ(B
$B%(%G%#%?$dJQ49%D!<%k$N=PNO$9$k%^!<%/%"%C%W$K$b$-$o$a$FM-8z$G!">c32$r(B
$B;}$D?M!9$KBP$9$k%Z!<%8$N%"%/%;%7%S%j%F%#$r2~A1$9$k$?$a!"$I$N$h$&$JE@(B
$B$KCm0U$rJ'$&I,MW$,$"$k$+H=CG$9$k tidy
$B$O9-HO0O$K$*$h$VLdBj$r=$@5$7!":n6H$r9T$&>e$GCm0U$9$Y$-E@$r;XE&(B
$B$9$k$3$H$,2DG=$G$9!#H/8+$5$l$?3FLdBjE@$O!"4JC1$KC5$9$3$H$,$G$-$k$h$&(B
$B9THV9f$H%3%i%`IU$-$G0lMwI=<($5$l$^$9!#=$@5J}K!$N$O$C$-$j$7$J$$LdBj$,(B
$B$"$k>l9g!"(Btidy $B$O=$@5HG$r=PNO$7$^$;$s!#$3$N$h$&$J>l9g!"!V7Y9p!W$G$O(B
$B$J$/!V%(%i!
tidy $B$O!"9-$/Ia5Z$7$F$$$k(B Netscape $B$d(B Microsoft
$B$N%V%i%&%6$K$*$1$k(B $BI=<($r$b$H$K!"%^!<%/%"%C%W$r=$@5$7$^$9!#(BTIDY
$B$,$I$N$h$&$K(B HTML $B$r(B
$B40A4$K$9$k$+$K$D$$$F!"$$$/$D$+Nc$r<($7$^$9!'(B $B$3$l$O(B $B$H$J$j$^$9!#(B $B$3$l$O(B $B$H$J$j$^$9!#(B Netscape $B$d(B Internet Explorer
$B$G$O!"8+=P$70J2<$NItJ,$,$9$Y$F8+=P$7$N(B
$B%U%)%s%H%5%$%:$K$J$C$F$7$^$&$H$$$&!"M=Dj30$N7k2L$H$J$C$F$7$^$$$^$9!*(B $B$3$l$r(B Tidy $B$O(B $B$N$h$&$K=PNO$7$^$9!#(B $B$3$l$r(B Tidy $B$O(B $B$N$h$&$K=PNO$7$^$9!#(B $B$3$l$r(B Tidy $B$O(B $B$N$h$&$K=PNO$7$^$9!#(B $B$3$l$r(B Tidy $B$O(B $B$N$h$&$K=PNO$7$^$9!#(B $B$3$l$O(B $B$H$J$j$^$9!#(B tidy
$B$OB0@-CM$K0zMQId9g!J%/%*!<%H!K$,$J$$>l9g!"$3$l$rDI2C$7$^$9!#(B
$B$^$?0zMQId9g$NJD$8K:$l$r8+$D$1$k$3$H$b2DG=$G$9$,!"$3$l$O<+J,$G=$@5(B
$B$9$kI,MW$,$"$j$^$9!#(B tidy $B$O!"(BW3C $B$N(B HTML 4.0
$B4+9p$GDj5A$5$l$F$$$kB0@-$K4X$9$kJq3gE*$JCN<1(B
$B$r;}$C$F$$$^$9!#$7$?$,$C$F!"B0@-$d$=$NCM$NF~NO4V0c$$$r8+$D$1$k$3$H$,(B
$B2DG=$K$J$j$^$9!#(B tidy $B$O!";H$o$l$F$$$k(B HTML $B$N%P!<%8%g%s$K$h$C$F!"(BW3C
$B4+9p$K=>$$E,@Z$J(B DOCTYPE $B%(%l%a%s%H$rDI2C$7$^$9!#(B $B$3$N>l9g(B tidy $B$O!"(B>
$B$rA^F~$9$k0LCV$r3N
$BNc$($P!"%(%l%a%s%H$NCf?H$r%$%s%G%s%H$9$k$+H]$+$J$I$K$D$$$F!"(Btidy
$B$,(B
$B=$@5HG$r=PNO$9$k:]$K$*$1$k!"=PNO%9%?%$%k$rA*$V$3$H$,$G$-$^$9!#(B tidy $B$OJ8;z%(%s%3!<%G%#%s%0$H$7$F(B US ASCII, ISO Latin-1, UTF-8,
ISO 2022 $B7O(B 7bit $B%(%s%3!<%I$rA*Br$9$k$3$H$,2DG=$G$9!JLuCm!'(Braw
$B%b!<%I$r(B $BMxMQ$9$l$P(B EUC, Shift JIS
$B$J$I$N%(%s%3!<%G%#%s%0$bMxMQ$G$-$^$9!K!#(B HTML 4.0
$B$N$9$Y$F$N%(%s%F%#%F%#$,Dj5A$5$l$F$*$j!"=$@5HG$N=PNO$G$O!"(B $BE,@Z$J(B
HTML $B$NL>A0%(%s%F%#%F%#$rMxMQ$7$^$9!#$=$l0J30$NDL>oHO0O30$N(B
$BJ8;z$O!"?tCM%(%s%F%#%F%#$H$7$F=PNO$5$l$^$9!#(B tidy
$B$O%0%i%U%#%+%k$G$J$$%V%i%&%6$r;H$C$F$$$k%f!<%6$N$?$a!"%"%/%;%7%S(B
$B%j%F%#$K4X$9$kLdBj$K$D$$$F!"%"%I%P%$%9$7$^$9!#$b$C$H$b0lHLE*$KL\$K$9$k(B
$B$N$O!"(Btable $B%(%l%a%s%H$K(B summery
$BB0@-$rIU$1$k$H$$$&=u8@$G$7$g$&!#$3$l(B $B$O(B table
$BLr3d$d9=B$$N4JC1$J@bL@$rDs6!$7!"2;@<%V%i%&%6$N$?$a$KLrN)$A$^$9!#(B $BB?$/$N%D!<%k$,!"(BFONT, NOBR, CENTER $B$J$I$N%?%0$r;H$C$?(B HTML
$B$r:n$j$^$9!#(B tidy $B$N(B -clean $B%*%W%7%g%s$O!"$3$l$i$r(B CSS
$B$r;H$C$?%9%?%$%k$N(B
$B%W%m%Q%F%#$H%k!<%k$KCV$-49$($^$9!#$3$N$3$H$O%^!<%/%"%C%W$rFI$_$d$9$/$7!"(B
$B%a%s%F%J%s%9$rMF0W$K$7!"%U%!%$%k$N%5%$%:$r8=>]$5$;$^$9!*(B W3C $B$N(B XML 1.0 $B4+9p$K=`5r$7$?(B XML
$B%W%m%;%C%5$O!"$I$N$h$&$J%U%!%$%k$ro$K87L)$G$9!#(Btidy
$B$O
$B$3$NJ8=q$O%G%U%)%k%H$G0J2<$N$h$&$K$J$j$^$9!'(B tidy $B$O!J$^$@!K(B Windows $B%W%m%0%i%`$G$O$"$j$^$;$s!#$b$7(B tidy
$B$r0z?t(B
$B$J$7$G5/F0$7$?>l9g!"I8=`F~NO$+$i$NF~NO$r$=$N$^$^BT$AB3$1$^$9!#(Btidy
$B$N%G%U%)%k%H$NF~=PNO$O!"$=$l$>$lI8=`F~=PNO$G$9!#%(%i!<$OI8=`%(%i!<(B
$B=PNO$G$9$,!"(B-f $B%U%!%$%kL>(B $B%*%W%7%g%s$r;H$C$F%j%@%$%l%/%H(B
$B$9$k$3$H$,2DG=$G$9!#(B $B%*%j%8%J%k$N%U%!%$%k$r99?7$7$?$$>l9g$O!"(B-m
$B%*%W%7%g%s$r;H$$!"FC$K(B
$BFbMF$,$R$I$$>l9g$O!"%(%i!<%a%C%;!<%8$r8+D>$7$d$9$$$h$&!"(B-f
$B%*%W%7%g%s(B $B$r;H$C$F%U%!%$%k$K=PNO$9$k$HNI$$$G$7$g$&!#(B tidy
$B$O$$$/$D$+$NJ8;z%(%s%3!<%G%#%s%0%*%W%7%g%s$r%5%]!<%H$7$F$$$^$9!#(B
$B%G%U%)%k%H$G$O!"DL>o$N%F%-%9%H%(%G%#%?$GJT=8$7$d$9$$$h$&!"(BASCII $B$K(B
$B$J$C$F$$$^$9!#(B $BNc!'(B $B$3$NNc$G$O!"%U%!%$%k(B "index.html" $B$KBP$7$F(B tidy
$B$r $BMxMQ2DG=$J%*%W%7%g%s$N0lMw$rI=<($9$k!'(B $B0J2<$N$h$&$J=PNO$rF@$k$G$7$g$&!'(B $B%G%U%)%k%H$NF~=PNO$O!"$=$l$>$lI8=`F~=PNO$G$9!#(B-f $B0J30$N0lJ8;z$N(B
$B%*%W%7%g%s$O!"(Btidy -f errs.txt -imu foo.html $B$N$h$&$K!"AH$_9g$o$;$F(B
$B;H$&$3$H$b2DG=$G$9!#(B $B%3!<%I$O(B ANSI C $B$G=q$+$l$F$*$j!"F~=PNO$K(B C
$BI8=`%i%$%V%i%j$r;H$C$F(B $B$$$^$9!#%Q!<%6$O(B thread-safe
$B$G$9$,!"@07A=PNOItJ,$N%3!<%I$O!J$^$@!K(B
$B$=$&$J$C$F$$$^$;$s!#%Q!<%6$O%H%C%W%@%&%s$GF0:n$7!"%a%b%j>e$K40A4$J(B
$B%P!<%9%D%j!<$r:n@.$7$^$9!#J8=q$OI,MW$K1~$8$F3HD%$5$l$kJ8;z%P%C%U%!(B
$B$K!"(BUTF-8 $B$H$7$FI=8=$5$l$?(B Unicode $B$GJ]B8$5$l$^$9!#$3$N%3!<%I$O!"(B
Windows 95, Windows NT, Linux, MacOS, BeOS, SunOS, Solaris, IRIX,
HP-UX $B$J$I$G%F%9%H$5$l$F$$$^$9!#(B gcc $B$r;H$C$F(B tidy $B$r%3%s%Q%$%k$9$k>l9g!"(BMakefile $B$r;EMM$9$k$+!"(B
$B4JC1$K0J2<$N$h$&$KF~NO$7$^$9!'(B Dave
Raggett <dsr@w3.org> $B$O(B
Hewlett Packard $B$N(B UK Laboratories $B$N%(%s%8%K%"$G!"(B
World Wide Web Consortium $B$G(B HTML
$B$N%j!<%@$H$7$FF/$$$F$$$^$9!#(BTIDY $B$r;H$C$?:n6H$NNc(B
<h1>heading
<h2>subheading</h3>
<h1>heading</h1>
<h2>subheading</h2>
<p>here is a para <b>bold <i>bold italic</b> bold?</i> normal?
<p>here is a para <b>bold <i>bold italic</i> bold?</b> normal?
<h1><i>italic heading</h1>
<p>new paragraph
<h1><i>italic heading</i></h1>
<p>new paragraph
<i><h1>heading</h1></i>
<p>new paragraph <b>bold text
<p>some more bold text
<h1><i>heading</i></h1>
<p>new paragraph <b>bold text</b>
<p><b>some more bold text</b>
<h1><hr>heading</h1>
<h2>sub<hr>heading</h2>
<hr>
<h1>heading</h1>
<h2>sub</h2>
<hr>
<h2>heading</h2>
<a href="#refs">References<a>
<a href="#refs">References</a>
<body>
<li>1st list item
<li>2nd list item
<body>
<ul>
<li>1st list item</li>
<li>2nd list item</li>
</ul>
$B%l%$%"%&%H%9%?%$%k(B
$B9q:]2=(B
$B%"%/%;%7%S%j%F%#(B
$BI=<($K4X$9$k%^!<%/%"%C%W$r%-%l%$$K$9$k(B
XML $B%5%]!<%H(B
$B%l%$%"%&%H8~>e$N$?$a$N%F%-%9%H$N%$%s%G%s%H(B
<html>
<head>
</head>
<body>
<p>
para which has enough text to cause a line break, and so test
the wrapping mechanism for long lines.
</p>
<pre>This is
<em>genuine
preformatted</em>
text
</pre>
<ul>
<li>
1st list item
</li>
<li>
2nd list item
</li>
</ul>
<!-- end comment -->
</body>
</html>
<html>
<head>
</head>
<body>
<p>para which has enough text to cause a line break, and so test
the wrapping mechanism for long lines.</p>
<pre>This is
<em>genuine
preformatted</em>
text
</pre>
<ul>
<li>1st list item </li>
<li>2nd list item</li>
</ul>
<!-- end comment -->
</body>
</html>
tidy $B$N
tidy [[options] filename]*
tidy -f errs.txt -m index.html
tidy -help
tidy: file1 file2 ...
HTML $B@07A%f!<%F%#%j%F%#(B
http://www.w3.org/People/Raggett/tidy/ $B$r;2>H(B
tidy (1998 $BG/(B 9 $B7n(B 1 $BF|HG(B) $B$N%*%W%7%g%s(B
-indent $B$^$?$O(B -i $B%(%l%a%s%H$NFbMF$r%$%s%G%s%H$9$k(B
-omit $B$^$?$O(B -o $B>JN,2DG=$J=*N;%?%0$r>J$/(B
-wrap 72 $B%F%-%9%H$r(B 72 $BJ8;zL\$G2~9T(B ($B%G%U%)%k%H$O(B 68)
-upper $B$^$?$O(B -u $B%?%0$rBgJ8;z$K$9$k(B
-clean $B$^$?$O(B -c font, nobr, center $B%?%0$r:o=|(B
-raw 128 $B0J>e$NJ8;z$r=PNO;~$KJQ49$7$J$$(B
-ascii $BF~NO$K(B Latin-1$B!"=PNO$K(B ASCII $B$r;HMQ(B
-latin1 $BF~=PNO$K(B Latin-1 $B$r;HMQ(B
-iso2022 $BF~=PNO$K(B ISO-2022 $B%Y!<%9$N%(%s%3!<%I$r;HMQ(B
-utf8 $BF~=PNO$K(B UTF-8 $B$r;HMQ(B
-modify $B$^$?$O(B -m $B85$N%U%!%$%k$r=$@5(B
-errors $B$^$?$O(B -e $B%(%i!l9g$K;HMQ(B
-asxml HTML $B$r(B XML $B$KJQ49(B
-help $B$^$?$O(B -h $B%*%W%7%g%s0lMw(B
$B%G%U%)%k%H$G$OF~=PNO$K$=$l$>$lI8=`F~=PNO$r;HMQ(B
$B0J2<$N$h$&$K(B-f $B0J30$N0lJ8;z%*%W%7%g%s$OAH9g$;2DG=(B:
tidy -f errs.txt -imu foo.html
HTML $B$K4X$9$k>\$7$$>pJs$O(B "Raggett on HTML" $B;2>H(B,
(c) 1998, Addison Wesley Longman, ISBN 0-201-17805-2
$B:#8e$NM=Dj!'(B
$B
gcc -o tidy *.c