--- /srv/reproducible-results/rbuild-debian/r-b-build.Nqs7EWoH/b1/htp_1.19-8_amd64.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.Nqs7EWoH/b2/htp_1.19-8_amd64.changes ├── Files │ @@ -1,3 +1,3 @@ │ │ 10c498351f38ee5e38b27f5cc1d7d1b0 71032 debug optional htp-dbgsym_1.19-8_amd64.deb │ - 3a0980f5596bc315b24249e78a9ab37f 116620 web optional htp_1.19-8_amd64.deb │ + 2b6906bc459196d946ef23b4065f11df 117076 web optional htp_1.19-8_amd64.deb ├── htp_1.19-8_amd64.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2020-06-14 23:21:19.000000 debian-binary │ │ -rw-r--r-- 0 0 0 3616 2020-06-14 23:21:19.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 112812 2020-06-14 23:21:19.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 113268 2020-06-14 23:21:19.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./control │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ Package: htp │ │ │ │ Version: 1.19-8 │ │ │ │ Architecture: amd64 │ │ │ │ Maintainer: Marcelo Soares Mota <motasmarcelo@gmail.com> │ │ │ │ -Installed-Size: 631 │ │ │ │ +Installed-Size: 648 │ │ │ │ Depends: libc6 (>= 2.38) │ │ │ │ Section: web │ │ │ │ Priority: optional │ │ │ │ Homepage: http://htp.sourceforge.net │ │ │ │ Description: nice HTML pre-processor │ │ │ │ htp is an HTML pre-processor. It is designed to be a flexible authoring tool │ │ │ │ that can easily be integrated into the HTML design process. │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -1,27 +1,27 @@ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/bin/ │ │ │ │ -rwxr-xr-x 0 root (0) root (0) 72104 2020-06-14 23:21:19.000000 ./usr/bin/htp │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/doc/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/ │ │ │ │ --rw-r--r-- 0 root (0) root (0) 8180 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/alttext.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 8474 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/alttext.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1418 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/alttext.htp │ │ │ │ --rw-r--r-- 0 root (0) root (0) 7882 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/block.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 11050 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/block.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 781 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/block.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7941 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/blockdef.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1075 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/blockdef.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4763 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/bugs.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 737 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/bugs.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 878 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/changelog.Debian.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 11488 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/comment.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 676 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/comment.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 13083 2020-06-14 23:16:46.000000 ./usr/share/doc/htp/copyright │ │ │ │ --rw-r--r-- 0 root (0) root (0) 10465 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/def.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 10675 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/def.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3601 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/def.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 8030 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/default.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3149 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/default.htp │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/examples/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 536 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/Makefile.sub │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2404 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/album.hti │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1087 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/album.htt │ │ │ │ @@ -32,64 +32,64 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 818 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/prime.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1576 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/examples/quine.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1576 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/quine.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 604 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/section.def │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1189 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/examples/section.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 918 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/section.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 375 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/section.htt │ │ │ │ --rw-r--r-- 0 root (0) root (0) 11080 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/expand.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 8384 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/expand.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3702 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/expand.htp │ │ │ │ --rw-r--r-- 0 root (0) root (0) 14465 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/file.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 16771 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/file.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2490 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/file.htp.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 14293 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/history.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3946 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/history.htp.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3911 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/hlhtp.pl │ │ │ │ -rw-r--r-- 0 root (0) root (0) 165 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/htp.def │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4049 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/htp.htt │ │ │ │ --rw-r--r-- 0 root (0) root (0) 7951 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/if.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 12303 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/if.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 932 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/if.htp │ │ │ │ --rw-r--r-- 0 root (0) root (0) 9138 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/imageurl.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 8626 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/imageurl.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2507 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/imageurl.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 8277 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/img.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1168 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/img.htp │ │ │ │ --rw-r--r-- 0 root (0) root (0) 11313 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/inc.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 8142 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/inc.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1092 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/inc.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 9881 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/include.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1894 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/include.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4874 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/index.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 78 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/index.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7733 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/intro.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3489 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/intro.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 10774 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/license.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 454 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/license.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3782 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/macros.def │ │ │ │ -rw-r--r-- 0 root (0) root (0) 5088 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/macros.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 388 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/macros.htp │ │ │ │ --rw-r--r-- 0 root (0) root (0) 15165 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/metatag.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 15742 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/metatag.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2439 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/metatag.htp.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 7558 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/opt.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 7852 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/opt.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 608 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/opt.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7809 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/options.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3100 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/options.htp │ │ │ │ --rw-r--r-- 0 root (0) root (0) 7777 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/output.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 8071 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/output.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 695 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/output.htp │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 171 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/arrow.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 262 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/download.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 708 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/htpicon.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 25563 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/logo.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 455 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/manbig.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 491 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/manual.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1313 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/poweredbyhtp.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 679 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/sficon.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 492 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/source.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 523 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pphtp.pl │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7503 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/quote.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 390 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/quote.htp │ │ │ │ --rw-r--r-- 0 root (0) root (0) 8234 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/set.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 9013 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/set.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1200 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/set.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 500 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/styles.css │ │ │ │ -rw-r--r-- 0 root (0) root (0) 27219 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/template.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2235 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/template.htp.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1914 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/toc.def │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tut/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 146 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tut/footer.hti │ │ │ │ @@ -102,23 +102,23 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 192 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tut/tut2.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 501 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tut/tut3.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 191 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tut/tut3.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 356 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tut/tut3.htt │ │ │ │ -rw-r--r-- 0 root (0) root (0) 297 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tut/tut4.htt │ │ │ │ -rw-r--r-- 0 root (0) root (0) 10517 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tutorial.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3393 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tutorial.htp │ │ │ │ --rw-r--r-- 0 root (0) root (0) 7559 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/undef.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 7853 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/undef.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 460 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/undef.htp │ │ │ │ --rw-r--r-- 0 root (0) root (0) 8201 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/unset.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 12188 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/unset.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 658 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/unset.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7681 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/usage.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2959 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/usage.htp │ │ │ │ --rw-r--r-- 0 root (0) root (0) 12506 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/use.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 16243 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/use.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3300 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/use.htp │ │ │ │ --rw-r--r-- 0 root (0) root (0) 8001 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/while.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 13063 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/while.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 938 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/while.htp │ │ │ │ -rw-r--r-- 0 root (0) root (0) 5288 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/wishlist.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1311 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/wishlist.htp │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/doc-base/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 235 2020-06-14 17:36:12.000000 ./usr/share/doc-base/htp.htp │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/lintian/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/lintian/overrides/ │ │ │ ├── ./usr/share/doc/htp/alttext.html │ │ │ │ @@ -127,14 +127,15 @@ │ │ │ │ <p> │ │ │ │ When an IMG tag with a matching source is encountered, htp will add an ALT │ │ │ │ attribute only if one is not already present. This allows for ALT text to │ │ │ │ be overridden on specific images and default text on all others. │ │ │ │ <p> │ │ │ │ For example: │ │ │ │ <p><code> │ │ │ │ + <span class="htp-tag"><<a href="inc.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">INC</a> <span class="htp-attrib">i</span>=<span class="htp-string">"1"</span> <span class="htp-attrib">j</span>=<span class="htp-string">"-1"</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <p> │ │ │ │ An ALTTEXT tag with a name but no text attribute removes any ALT │ │ │ │ mapping for this image. Successing IMG tags with a matching SRC name are not │ │ │ │ changed. │ │ │ │ <p> │ │ │ │ Since this is useful for an image used throughout a set of documents, │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -9,35 +9,36 @@ │ │ │ │ │ [>] _A_L_T_T_E_X_T comparisons. │ │ │ │ │ _B_L_O_C_K When an IMG tag with a matching source is │ │ │ │ │ _B_L_O_C_K_D_E_F encountered, htp will add an ALT attribute only if │ │ │ │ │ _D_E_F one is not already present. This allows for ALT │ │ │ │ │ _F_I_L_E text to be overridden on specific images and │ │ │ │ │ _I_F default text on all others. │ │ │ │ │ _I_N_C For example: │ │ │ │ │ - _I_M_G An ALTTEXT tag with a name but no text attribute │ │ │ │ │ - _I_M_A_G_E_U_R_L removes any ALT mapping for this image. Successing │ │ │ │ │ - _O_P_T IMG tags with a matching SRC name are not changed. │ │ │ │ │ - _O_U_T_P_U_T Since this is useful for an image used throughout a │ │ │ │ │ - _Q_U_O_T_E set of documents, ALTTEXT is most appropriate in an │ │ │ │ │ - _S_E_T _i_n_c_l_u_d_e_ _f_i_l_e or a _d_e_f_a_u_l_t_ _f_i_l_e. │ │ │ │ │ - _U_N_D_E_F In addition to ALTTEXT, htp can also automatically │ │ │ │ │ - _U_N_S_E_T add WIDTH and HEIGHT attributes to _I_M_G tags. │ │ │ │ │ - _U_S_E_,_ _$ │ │ │ │ │ + _I_M_G <_[_[_r_e_f_]_]_I_N_C i="1" j="-1"> │ │ │ │ │ + _I_M_A_G_E_U_R_L An ALTTEXT tag with a name but no text attribute │ │ │ │ │ + _O_P_T removes any ALT mapping for this image. Successing │ │ │ │ │ + _O_U_T_P_U_T IMG tags with a matching SRC name are not changed. │ │ │ │ │ + _Q_U_O_T_E Since this is useful for an image used throughout a │ │ │ │ │ + _S_E_T set of documents, ALTTEXT is most appropriate in an │ │ │ │ │ + _U_N_D_E_F _i_n_c_l_u_d_e_ _f_i_l_e or a _d_e_f_a_u_l_t_ _f_i_l_e. │ │ │ │ │ + _U_N_S_E_T In addition to ALTTEXT, htp can also automatically │ │ │ │ │ + _U_S_E_,_ _$ add WIDTH and HEIGHT attributes to _I_M_G tags. │ │ │ │ │ _W_H_I_L_E │ │ │ │ │ _<_!_-_-_- │ │ │ │ │ _H_i_s_t_o_r_y │ │ │ │ │ _W_i_s_h_ _l_i_s_t │ │ │ │ │ _B_u_g_s │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ ├── ./usr/share/doc/htp/block.html │ │ │ │ @@ -114,14 +114,23 @@ │ │ │ │ <a class="noline" href="bugs.html">Bugs</a></td></tr> │ │ │ │ </table> │ │ │ │ </div> │ │ │ │ </td> │ │ │ │ <td bgcolor="#f0f0d0" rowspan="2" valign="top"> │ │ │ │ <h2>syntax</h2> │ │ │ │ <p><code> │ │ │ │ +<span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">file</a> <span class="htp-attrib">execute</span>=<span class="htp-string">"command-line"</span> <span class="ebnf">(</span><span class="htp-attrib">output</span>=<span class="htp-string">"filename"</span> <span class="ebnf">|</span> <span class="htp-attrib">redirect</span><span class="ebnf">)</span> <span class="ebnf">[</span><span class="htp-attrib">noerror</span><span class="ebnf">]</span>></span><br> │ │ │ │ +<span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">file</a> <span class="htp-attrib">include</span>=<span class="htp-string">"includefilename"</span> <span class="ebnf">[</span><span class="htp-attrib">parameters</span> <span class="htp-attrib">...</span><span class="ebnf">]</span>></span><br> │ │ │ │ +<span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">file</a> <span class="htp-attrib">name</span>></span><br> │ │ │ │ +<span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">file</a> <span class="ebnf">[</span> <span class="htp-attrib">name</span>=<span class="htp-string">"filename"</span> <span class="ebnf">]</span> <span class="htp-attrib">size</span><span class="ebnf">[</span> =<span class="htp-value"></span> <span class="ebnf">(</span><span class="htp-attrib">byte</span><span class="ebnf">|</span><span class="htp-attrib">kbyte</span><span class="ebnf">|</span><span class="htp-attrib">mbyte</span><span class="ebnf">|</span><span class="htp-attrib">gbyte</span><span class="ebnf">)</span> <span class="ebnf">]</span> <span class="ebnf">[</span><span class="htp-attrib">precision</span>=<span class="htp-value">n<span class="ebnf">]</span></span>></span><br> │ │ │ │ +<span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">file</a> <span class="ebnf">[</span> <span class="htp-attrib">name</span>=<span class="htp-string">"filename"</span> <span class="ebnf">]</span> <span class="htp-attrib">time</span><span class="ebnf">[</span> =<span class="htp-string">"format"</span> <span class="ebnf">]</span>></span><br> │ │ │ │ +<span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">file</a> <span class="ebnf">[</span> <span class="htp-attrib">name</span>=<span class="htp-string">"filename"</span> <span class="ebnf">]</span> <span class="htp-attrib">date</span><span class="ebnf">[</span> =<span class="htp-string">"format"</span> <span class="ebnf">]</span>></span><br> │ │ │ │ +<span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">file</a> <span class="htp-attrib">search</span>=<span class="htp-string">"searchpath"</span>></span><br> │ │ │ │ +<span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">file</a> <span class="htp-attrib">template</span>=<span class="htp-string">"templatefilename"</span>></span><br> │ │ │ │ +<br> │ │ │ │ </code></p> │ │ │ │ <h2>synopsis</h2> │ │ │ │ <P> │ │ │ │ <STRONG>BLOCK and /BLOCK</STRONG> are used to create block macros, which │ │ │ │ are similar in use to <A HREF="set.html">SET</A> macros, but can be │ │ │ │ multi-line definitions. │ │ │ │ </P> │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,42 +1,54 @@ │ │ │ │ │ [HTP] │ │ │ │ │ ************ hhttpp oonn--lliinnee rreeffeerreennccee :: BBLLOOCCKK,, //BBLLOOCCKK ************ │ │ │ │ │ _T_a_b_l_e_ _o_f_ _C_o_n_t_e_n_t_s ********** ssyynnttaaxx ********** │ │ │ │ │ - _I_n_t_r_o_d_u_c_t_i_o_n ********** ssyynnooppssiiss ********** │ │ │ │ │ - _L_i_c_e_n_s_e BBLLOOCCKK aanndd //BBLLOOCCKK are used to create block macros, │ │ │ │ │ - _T_u_t_o_r_i_a_l which are similar in use to _S_E_T macros, but can be │ │ │ │ │ - _U_s_a_g_e multi-line definitions. │ │ │ │ │ - HTP Tags Any text and formatting may be set inside the │ │ │ │ │ - _A_L_T_T_E_X_T block. You can use any htp or user defined metatag │ │ │ │ │ - [>] _B_L_O_C_K including _F_I_L_E_ _I_N_C_L_U_D_E. The metatags won't be │ │ │ │ │ - _B_L_O_C_K_D_E_F expanded before the block is USEd except if you │ │ │ │ │ - _D_E_F give the _E_X_P_A_N_D parameter. │ │ │ │ │ - _F_I_L_E The block macro is dereferenced (expanded) with the │ │ │ │ │ - _I_F _U_S_E_ _t_a_g_ _o_r_ _t_h_e_ _'_$_'_ _o_p_e_r_a_t_o_r. See the notes on the │ │ │ │ │ - _I_N_C _U_S_E tag on how to pass parameters to a block macro. │ │ │ │ │ - _I_M_G │ │ │ │ │ - _I_M_A_G_E_U_R_L │ │ │ │ │ - _O_P_T │ │ │ │ │ - _O_U_T_P_U_T │ │ │ │ │ - _Q_U_O_T_E │ │ │ │ │ - _S_E_T │ │ │ │ │ - _U_N_D_E_F │ │ │ │ │ - _U_N_S_E_T │ │ │ │ │ - _U_S_E_,_ _$ │ │ │ │ │ - _W_H_I_L_E │ │ │ │ │ - _<_!_-_-_- │ │ │ │ │ - _H_i_s_t_o_r_y │ │ │ │ │ + _I_n_t_r_o_d_u_c_t_i_o_n <_[_[_r_e_f_]_]_f_i_l_e execute="command-line" │ │ │ │ │ + _L_i_c_e_n_s_e (output="filename" | redirect) [noerror]> │ │ │ │ │ + _T_u_t_o_r_i_a_l <_[_[_r_e_f_]_]_f_i_l_e include="includefilename" [parameters │ │ │ │ │ + _U_s_a_g_e ...]> │ │ │ │ │ + HTP Tags <_[_[_r_e_f_]_]_f_i_l_e name> │ │ │ │ │ + _A_L_T_T_E_X_T <_[_[_r_e_f_]_]_f_i_l_e [ name="filename" ] size[ = │ │ │ │ │ + [>] _B_L_O_C_K (byte|kbyte|mbyte|gbyte) ] [precision=n]> │ │ │ │ │ + _B_L_O_C_K_D_E_F <_[_[_r_e_f_]_]_f_i_l_e [ name="filename" ] time[ ="format" ]> │ │ │ │ │ + _D_E_F <_[_[_r_e_f_]_]_f_i_l_e [ name="filename" ] date[ ="format" ]> │ │ │ │ │ + _F_I_L_E <_[_[_r_e_f_]_]_f_i_l_e search="searchpath"> │ │ │ │ │ + _I_F <_[_[_r_e_f_]_]_f_i_l_e template="templatefilename"> │ │ │ │ │ + _I_N_C │ │ │ │ │ + _I_M_G ********** ssyynnooppssiiss ********** │ │ │ │ │ + _I_M_A_G_E_U_R_L BBLLOOCCKK aanndd //BBLLOOCCKK are used to create block macros, │ │ │ │ │ + _O_P_T which are similar in use to _S_E_T macros, but can be │ │ │ │ │ + _O_U_T_P_U_T multi-line definitions. │ │ │ │ │ + _Q_U_O_T_E Any text and formatting may be set inside the │ │ │ │ │ + _S_E_T block. You can use any htp or user defined metatag │ │ │ │ │ + _U_N_D_E_F including _F_I_L_E_ _I_N_C_L_U_D_E. The metatags won't be │ │ │ │ │ + _U_N_S_E_T expanded before the block is USEd except if you │ │ │ │ │ + _U_S_E_,_ _$ give the _E_X_P_A_N_D parameter. │ │ │ │ │ + _W_H_I_L_E The block macro is dereferenced (expanded) with the │ │ │ │ │ + _<_!_-_-_- _U_S_E_ _t_a_g_ _o_r_ _t_h_e_ _'_$_'_ _o_p_e_r_a_t_o_r. See the notes on the │ │ │ │ │ + _H_i_s_t_o_r_y _U_S_E tag on how to pass parameters to a block macro. │ │ │ │ │ _W_i_s_h_ _l_i_s_t │ │ │ │ │ _B_u_g_s │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ _p_a_g_e_ _s_o_u_r_c_e │ │ │ │ │ _h_t_p_ _p_r_o_j_e_c_t │ │ │ │ │ _h_t_p_ _h_o_m_e_p_a_g_e │ │ │ │ │ hosted by │ │ │ │ │ _S_o_u_r_c_e_f_o_r_g_e │ │ │ │ │ HTML coding_[_P_o_w_e_r_e_d_ _b_y │ │ │ │ │ _h_t_p_] │ │ │ ├── ./usr/share/doc/htp/def.html │ │ │ │ @@ -133,26 +133,27 @@ │ │ │ │ Some metatags will require an opening and closing tag (comparable to │ │ │ │ <TITLE> and </TITLE>). In this case, you should use the <A │ │ │ │ HREF="blockdef.html">BLOCKDEF</A> macro. Another slightly faster │ │ │ │ alternative is to use two metatags, the opening tag and the closing │ │ │ │ tag with a preceding slash. For example: │ │ │ │ </P> │ │ │ │ <p><code> │ │ │ │ +<span class="htp-tag"><a <span class="htp-attrib">href</span>=<span class="htp-string">"mailto:<span class="htp-macro">$email</span>"</span>></span>mailto hyperlink<span class="htp-tag"></a></span><br> │ │ │ │ +<span class="htp-tag"><a <span class="htp-attrib">href</span>=<span class="htp-string">"http://<span class="htp-macro">$domain</span>/~<span class="htp-macro">${username}</span>/"</span>></span>another hyperlink<span class="htp-tag"></a></span><br> │ │ │ │ </code></p> │ │ │ │ <p> You should really use <a href="blockdef.html">BLOCKDEF</a>, though, │ │ │ │ as it will check for matching end tag. It is not that slower. </p> │ │ │ │ <P> │ │ │ │ Options can be passed to a metatag, which can then expand as if it were │ │ │ │ a <A HREF="set.html">SET</A> macro. Option names are parameterized with │ │ │ │ the OPTION attribute. Multiple options can be listed by separating their │ │ │ │ name with a space (which therefore requires they be surrounded by quotes.) │ │ │ │ </P> │ │ │ │ <p><code> │ │ │ │ - <span class="htp-tag"><<a href="unset.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">unset</a> <span class="htp-attrib">email_addr</span> <span class="htp-attrib">home_url</span> <span class="htp-attrib">login_name</span>></span><br> │ │ │ │ -LE TIME>, <span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">FILE</a> <span class="htp-attrib">DATE</span>></span><span class="htp-tag"></EM></span><br> │ │ │ │ + <span class="htp-tag"><<span class="htp-macro">${tagName}</span> <span class="htp-attrib"><span class="htp-macro">${attrName}</span></span>=<span class="htp-value"><span class="htp-macro">${value$ctr}</span></span>></span><br> │ │ │ │ </code></p> │ │ │ │ <P> │ │ │ │ htp will do very specific checking of parameters when a metatag is │ │ │ │ invoked. htp assumes that all parameter options to the metatag are │ │ │ │ optional. This is why the HEADERIMG definition uses IF to verify the │ │ │ │ SIZE option is defined before expanding it in the block. If a │ │ │ │ parameter is required, simply expand it without first checking. When │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -10,27 +10,29 @@ │ │ │ │ │ _B_L_O_C_K Some metatags will require an opening and closing │ │ │ │ │ _B_L_O_C_K_D_E_F tag (comparable to │ │ │ │ │ [>] _D_E_F and │ │ │ │ │ _F_I_L_E ). In this case, you should use the _B_L_O_C_K_D_E_F macro. │ │ │ │ │ _I_F Another slightly faster alternative is to use two │ │ │ │ │ _I_N_C metatags, the opening tag and the closing tag with │ │ │ │ │ _I_M_G a preceding slash. For example: │ │ │ │ │ - _I_M_A_G_E_U_R_L You should really use _B_L_O_C_K_D_E_F, though, as it will │ │ │ │ │ - _O_P_T check for matching end tag. It is not that slower. │ │ │ │ │ - _O_U_T_P_U_T Options can be passed to a metatag, which can then │ │ │ │ │ - _Q_U_O_T_E expand as if it were a _S_E_T macro. Option names are │ │ │ │ │ - _S_E_T parameterized with the OPTION attribute. Multiple │ │ │ │ │ - _U_N_D_E_F options can be listed by separating their name with │ │ │ │ │ - _U_N_S_E_T a space (which therefore requires they be │ │ │ │ │ - _U_S_E_,_ _$ surrounded by quotes.) │ │ │ │ │ - _W_H_I_L_E <_[_[_r_e_f_]_]_u_n_s_e_t email_addr home_url login_name> │ │ │ │ │ - _<_!_-_-_- LE TIME>, <_[_[_r_e_f_]_]_F_I_L_E DATE></EM> │ │ │ │ │ - _H_i_s_t_o_r_y htp will do very specific checking of parameters │ │ │ │ │ - _W_i_s_h_ _l_i_s_t when a metatag is invoked. htp assumes that all │ │ │ │ │ - _B_u_g_s parameter options to the metatag are optional. This │ │ │ │ │ + _I_M_A_G_E_U_R_L <a href="mailto:$email">mailto hyperlink</a> │ │ │ │ │ + _O_P_T <a href="http://$domain/~${username}/">another │ │ │ │ │ + _O_U_T_P_U_T hyperlink</a> │ │ │ │ │ + _Q_U_O_T_E You should really use _B_L_O_C_K_D_E_F, though, as it will │ │ │ │ │ + _S_E_T check for matching end tag. It is not that slower. │ │ │ │ │ + _U_N_D_E_F Options can be passed to a metatag, which can then │ │ │ │ │ + _U_N_S_E_T expand as if it were a _S_E_T macro. Option names are │ │ │ │ │ + _U_S_E_,_ _$ parameterized with the OPTION attribute. Multiple │ │ │ │ │ + _W_H_I_L_E options can be listed by separating their name with │ │ │ │ │ + _<_!_-_-_- a space (which therefore requires they be │ │ │ │ │ + _H_i_s_t_o_r_y surrounded by quotes.) │ │ │ │ │ + _W_i_s_h_ _l_i_s_t <${tagName} ${attrName}=${value$ctr}> │ │ │ │ │ + _B_u_g_s htp will do very specific checking of parameters │ │ │ │ │ + when a metatag is invoked. htp assumes that all │ │ │ │ │ + parameter options to the metatag are optional. This │ │ │ │ │ is why the HEADERIMG definition uses IF to verify │ │ │ │ │ the SIZE option is defined before expanding it in │ │ │ │ │ the block. If a parameter is required, simply │ │ │ │ │ expand it without first checking. When htp expands │ │ │ │ │ the metatag and the macro is not defined, it will │ │ │ │ │ halt processing and complain with an error message │ │ │ │ │ and the required macro name. Normally htp will not │ │ │ ├── ./usr/share/doc/htp/expand.html │ │ │ │ @@ -101,36 +101,16 @@ │ │ │ │ another macro. This other macro may no longer have the correct value │ │ │ │ when the macro is expanded. Here is some code that demonstrate when │ │ │ │ the htp tags are expanded: </P> │ │ │ │ <p><code> │ │ │ │ </code></p> │ │ │ │ This produces the following: │ │ │ │ <p><code> │ │ │ │ - <span class="htp-tag"><<a href="imageurl.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">imageurl</a> <span class="htp-attrib">url</span>=<span class="htp-string">"http://my.domain.org/"</span> <span class="htp-attrib">path</span>=<span class="htp-string">"/var/www/my.domain/"</span>></span><br> │ │ │ │ - <span class="htp-tag"><<a href="imageurl.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">imageurl</a> <span class="htp-attrib">url</span>=<span class="htp-string">"other.domain.org/"</span> <span class="htp-attrib">path</span>=<span class="htp-string">"/var/www/other.domain/"</span>></span><br> │ │ │ │ -<br> │ │ │ │ - For this line: <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"logo.gif"</span>></span><br> │ │ │ │ - the local filename "logo.gif" will be used to determine image dimensions<br> │ │ │ │ - (no URL replacement).<br> │ │ │ │ -<br> │ │ │ │ - For this line: <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"http://my.domain.org/logo.gif"</span>></span><br> │ │ │ │ - the local filename "/var/www/my.domain/logo.gif" will be used.<br> │ │ │ │ -<br> │ │ │ │ - But for this line: <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"http://other.domain.org/logo.gif"</span>></span><br> │ │ │ │ - the local file cannot be found (no prefix match), so the image dimensions<br> │ │ │ │ - will not be added.<br> │ │ │ │ -<br> │ │ │ │ - Order is important; last IMAGEURL tag takes precedence:<br> │ │ │ │ - <span class="htp-tag"><<a href="imageurl.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">imageurl</a> <span class="htp-attrib">url</span>=<span class="htp-string">"/"</span> <span class="htp-attrib">path</span>=<span class="htp-string">"/var/www/htdocs/"</span>></span><br> │ │ │ │ - <span class="htp-tag"><<a href="imageurl.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">imageurl</a> <span class="htp-attrib">url</span>=<span class="htp-string">"/test/"</span> <span class="htp-attrib">path</span>=<span class="htp-string">"/var/www/test/"</span>></span><br> │ │ │ │ -<br> │ │ │ │ - <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"/image.gif"</span>></span> and <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"/test/image.gif"</span>></span> are mapped to<br> │ │ │ │ - /var/www/htdocs/image.gif and /var/www/test/image.gif, resp.<br> │ │ │ │ - If the order of the imageurl lines would be swapped, the second <br> │ │ │ │ - image would be mapped to /var/www/htdocs/test/image.gif.<br> │ │ │ │ +<span class="htp-tag"><a <span class="htp-attrib">href</span>=<span class="htp-string">"mailto:<span class="htp-macro">$email</span>"</span>></span>mailto hyperlink<span class="htp-tag"></a></span><br> │ │ │ │ +<span class="htp-tag"><a <span class="htp-attrib">href</span>=<span class="htp-string">"http://<span class="htp-macro">$domain</span>/~<span class="htp-macro">${username}</span>/"</span>></span>another hyperlink<span class="htp-tag"></a></span><br> │ │ │ │ </code></p> │ │ │ │ <P> │ │ │ │ When block a and block b are defined in lines 2-7 the contents of a │ │ │ │ are taken literally, however, the contents for b are already expanded │ │ │ │ so the macro <code>time</code> is evaluated. So a is expanded when it │ │ │ │ is used, while the contents of b are already expanded. │ │ │ │ </P> │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -25,49 +25,17 @@ │ │ │ │ │ modifier it is expanded immediately. This is useful │ │ │ │ │ if you want to store something in a block macro, │ │ │ │ │ that depends on the current value of another macro. │ │ │ │ │ This other macro may no longer have the correct │ │ │ │ │ value when the macro is expanded. Here is some code │ │ │ │ │ that demonstrate when the htp tags are expanded: │ │ │ │ │ This produces the following: │ │ │ │ │ - <_[_[_r_e_f_]_]_i_m_a_g_e_u_r_l url="http://my.domain.org/ │ │ │ │ │ - " path="/var/www/my.domain/"> │ │ │ │ │ - <_[_[_r_e_f_]_]_i_m_a_g_e_u_r_l url="other.domain.org/" path="/ │ │ │ │ │ - var/www/other.domain/"> │ │ │ │ │ - │ │ │ │ │ - For this line: <_[_[_r_e_f_]_]_i_m_g src="logo.gif"> │ │ │ │ │ - the local filename "logo.gif" will be used to │ │ │ │ │ - determine image dimensions │ │ │ │ │ - (no URL replacement). │ │ │ │ │ - │ │ │ │ │ - For this line: <_[_[_r_e_f_]_]_i_m_g src="http:// │ │ │ │ │ - my.domain.org/logo.gif"> │ │ │ │ │ - the local filename "/var/www/my.domain/logo.gif" │ │ │ │ │ - will be used. │ │ │ │ │ - │ │ │ │ │ - But for this line: <_[_[_r_e_f_]_]_i_m_g src="http:// │ │ │ │ │ - other.domain.org/logo.gif"> │ │ │ │ │ - the local file cannot be found (no prefix match), │ │ │ │ │ - so the image dimensions │ │ │ │ │ - will not be added. │ │ │ │ │ - │ │ │ │ │ - Order is important; last IMAGEURL tag takes │ │ │ │ │ - precedence: │ │ │ │ │ - <_[_[_r_e_f_]_]_i_m_a_g_e_u_r_l url="/" path="/var/www/htdocs/"> │ │ │ │ │ - <_[_[_r_e_f_]_]_i_m_a_g_e_u_r_l url="/test/" path="/var/www/ │ │ │ │ │ - test/"> │ │ │ │ │ - │ │ │ │ │ - <_[_[_r_e_f_]_]_i_m_g src="/image.gif"> and <_[_[_r_e_f_]_]_i_m_g │ │ │ │ │ - src="/test/image.gif"> are mapped to │ │ │ │ │ - /var/www/htdocs/image.gif and /var/www/test/ │ │ │ │ │ - image.gif, resp. │ │ │ │ │ - If the order of the imageurl lines would be │ │ │ │ │ - swapped, the second │ │ │ │ │ - image would be mapped to /var/www/htdocs/test/ │ │ │ │ │ - image.gif. │ │ │ │ │ + <a href="mailto:$email">mailto hyperlink</a> │ │ │ │ │ + <a href="http://$domain/~${username}/">another │ │ │ │ │ + hyperlink</a> │ │ │ │ │ When block a and block b are defined in lines 2- │ │ │ │ │ 7 the contents of a are taken literally, however, │ │ │ │ │ the contents for b are already expanded so the │ │ │ │ │ macro time is evaluated. So a is expanded when it │ │ │ │ │ is used, while the contents of b are already │ │ │ │ │ expanded. │ │ │ │ │ In line 10 and 12 the _[_[_r_e_f_]_]_u_s_e tag is used with │ │ │ ├── ./usr/share/doc/htp/file.html │ │ │ │ @@ -124,31 +124,27 @@ │ │ │ │ The output file's name, the current date and time, and the contents of │ │ │ │ another file may be included. Another file's time, date, or size may be │ │ │ │ added to the output file as well. │ │ │ │ <P> │ │ │ │ As with all HTML, these tags do not have to be on their own line, so the │ │ │ │ following is perfectly acceptable: │ │ │ │ <p><code> │ │ │ │ - <span class="htp-tag"><<a href="unset.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">unset</a> <span class="htp-attrib">email_addr</span> <span class="htp-attrib">home_url</span> <span class="htp-attrib">login_name</span>></span><br> │ │ │ │ -LE TIME>, <span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">FILE</a> <span class="htp-attrib">DATE</span>></span><span class="htp-tag"></EM></span><br> │ │ │ │ + <span class="htp-tag"><<a href="inc.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">INC</a> <span class="htp-attrib">i</span>=<span class="htp-string">"1"</span> <span class="htp-attrib">j</span>=<span class="htp-string">"-1"</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <P> │ │ │ │ <h3><a name="name">NAME</a>, TIME, SIZE</h3> │ │ │ │ <P> │ │ │ │ To include information about another file, such as an archive file or │ │ │ │ graphic image, specify its name with the NAME attribute followed by the │ │ │ │ type of information to be displayed: │ │ │ │ <p><code> │ │ │ │ -<span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">file</a> <span class="htp-attrib">include</span>=<span class="htp-string">"header.hti"</span>></span><br> │ │ │ │ - <span class="htp-tag"><<a href="set.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">set</a> <span class="htp-attrib">sect-ctr</span>=<span class="htp-string">"1"</span>></span><br> │ │ │ │ - <span class="htp-tag"><<a href="while.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">while</a> <span class="htp-attrib">sect-<span class="htp-macro">${sect-ctr}</span></span>></span><br> │ │ │ │ - <span class="htp-tag"><<a href="use.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">use</a> <span class="htp-attrib">sect-<span class="htp-macro">${sect-ctr}</span></span>></span><br> │ │ │ │ - <span class="htp-tag"><<a href="inc.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">inc</a> <span class="htp-attrib">sect-ctr</span>></span><br> │ │ │ │ - <span class="htp-tag"><<a href="while.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/while</a>></span><br> │ │ │ │ -<span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">file</a> <span class="htp-attrib">include</span>=<span class="htp-string">"footer.hti"</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IF</a> <span class="htp-attrib">name</span>></span>...<span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/IF</a>></span><br> │ │ │ │ +yz><br> │ │ │ │ + ...<br> │ │ │ │ +<span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/if</a>></span><br> │ │ │ │ </code></p> │ │ │ │ <P> │ │ │ │ For file size information, the value BYTE, KBYTE, etc. dictates how the │ │ │ │ information is displayed. In anything other than byte format, the information │ │ │ │ is displayed in floating-point notation. The amount of precision (the number │ │ │ │ of digits to the right of the decimal point) can be set with the optional │ │ │ │ PRECISION attribute. The default precision is zero (0), which means no │ │ │ │ @@ -177,15 +173,38 @@ │ │ │ │ <P> │ │ │ │ Additional parameters can be set in the FILE INCLUDE tag, which are │ │ │ │ interpreted as macros that are "passed" to the included file. The macros │ │ │ │ are available only to the include file (and any macros or included files it │ │ │ │ holds). After the file is completely included, the macros are no longer │ │ │ │ available. So: │ │ │ │ <p><code> │ │ │ │ - <span class="htp-tag"><<span class="htp-macro">${tagName}</span> <span class="htp-attrib"><span class="htp-macro">${attrName}</span></span>=<span class="htp-value"><span class="htp-macro">${value$ctr}</span></span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">DEF</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"HEADERIMG"</span> <span class="htp-attrib">OPTION</span>=<span class="htp-string">"SRC TITLE SIZE"</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IF</a> <span class="htp-attrib">size</span>></span><br> │ │ │ │ + <span class="htp-tag"><FONT <span class="htp-attrib">SIZE</span>=<span class="htp-value"><span class="htp-macro">${size}</span></span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/IF</a>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IMG</a> <span class="htp-attrib">SRC</span>=<span class="htp-value">pics/<span class="htp-macro">${src}</span></span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="use.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">USE</a> <span class="htp-attrib">title</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IF</a> <span class="htp-attrib">size</span>></span><br> │ │ │ │ + <span class="htp-tag"></FONT></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/IF</a>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/DEF</a>></span><br> │ │ │ │ +<br> │ │ │ │ + <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">SIZE</span>=<span class="htp-string">"+2"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"A title"</span>></span><br> │ │ │ │ +<br> │ │ │ │ + <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"Normal sized title"</span>></span><br> │ │ │ │ +<br> │ │ │ │ + This will fail:<br> │ │ │ │ + <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">ALT</span>=<span class="htp-string">"Our logo"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"Another title"</span>></span><br> │ │ │ │ +<br> │ │ │ │ + Instead, use * like this:<br> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">DEF</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"MYIMG"</span> <span class="htp-attrib">OPTION</span>=<span class="htp-string">"SRC *"</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IMG</a> <span class="htp-attrib">SRC</span>=<span class="htp-string">"pics/<span class="htp-macro">${src}</span>"</span> <span class="htp-attrib"><span class="htp-macro">$*</span></span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/DEF</a>></span><br> │ │ │ │ + <br> │ │ │ │ + <span class="htp-tag"><MYIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">ALT</span>=<span class="htp-string">"Our logo"</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <P> │ │ │ │ Macros named "name" and "email" are set, and available inside the included │ │ │ │ file. They are not available, however, past the tag (which is why the │ │ │ │ second statement will fail.) │ │ │ │ <P> │ │ │ │ <h3><a name="template">TEMPLATE</a></h3> │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -6,35 +6,31 @@ │ │ │ │ │ _T_u_t_o_r_i_a_l purpose. The output file's name, the current date │ │ │ │ │ _U_s_a_g_e and time, and the contents of another file may be │ │ │ │ │ HTP Tags included. Another file's time, date, or size may be │ │ │ │ │ _A_L_T_T_E_X_T added to the output file as well. │ │ │ │ │ _B_L_O_C_K As with all HTML, these tags do not have to be on │ │ │ │ │ _B_L_O_C_K_D_E_F their own line, so the following is perfectly │ │ │ │ │ _D_E_F acceptable: │ │ │ │ │ - [>] _F_I_L_E <_[_[_r_e_f_]_]_u_n_s_e_t email_addr home_url login_name> │ │ │ │ │ - _I_F LE TIME>, <_[_[_r_e_f_]_]_F_I_L_E DATE></EM> │ │ │ │ │ - _I_N_C ******** NNAAMMEE,, TTIIMMEE,, SSIIZZEE ******** │ │ │ │ │ - _I_M_G To include information about another file, such as │ │ │ │ │ - _I_M_A_G_E_U_R_L an archive file or graphic image, specify its name │ │ │ │ │ - _O_P_T with the NAME attribute followed by the type of │ │ │ │ │ - _O_U_T_P_U_T information to be displayed: │ │ │ │ │ - _Q_U_O_T_E <_[_[_r_e_f_]_]_f_i_l_e include="header.hti"> │ │ │ │ │ - _S_E_T <_[_[_r_e_f_]_]_s_e_t sect-ctr="1"> │ │ │ │ │ - _U_N_D_E_F <_[_[_r_e_f_]_]_w_h_i_l_e sect-${sect-ctr}> │ │ │ │ │ - _U_N_S_E_T <_[_[_r_e_f_]_]_u_s_e sect-${sect-ctr}> │ │ │ │ │ - _U_S_E_,_ _$ <_[_[_r_e_f_]_]_i_n_c sect-ctr> │ │ │ │ │ - _W_H_I_L_E <_[_[_r_e_f_]_]_/_w_h_i_l_e> │ │ │ │ │ - _<_!_-_-_- <_[_[_r_e_f_]_]_f_i_l_e include="footer.hti"> │ │ │ │ │ - _H_i_s_t_o_r_y For file size information, the value BYTE, KBYTE, │ │ │ │ │ - _W_i_s_h_ _l_i_s_t etc. dictates how the information is displayed. In │ │ │ │ │ - _B_u_g_s anything other than byte format, the information is │ │ │ │ │ - displayed in floating-point notation. The amount of │ │ │ │ │ - precision (the number of digits to the right of the │ │ │ │ │ - decimal point) can be set with the optional │ │ │ │ │ - PRECISION attribute. The default precision is zero │ │ │ │ │ + [>] _F_I_L_E <_[_[_r_e_f_]_]_I_N_C i="1" j="-1"> │ │ │ │ │ + _I_F ******** NNAAMMEE,, TTIIMMEE,, SSIIZZEE ******** │ │ │ │ │ + _I_N_C To include information about another file, such as │ │ │ │ │ + _I_M_G an archive file or graphic image, specify its name │ │ │ │ │ + _I_M_A_G_E_U_R_L with the NAME attribute followed by the type of │ │ │ │ │ + _O_P_T information to be displayed: │ │ │ │ │ + _O_U_T_P_U_T <_[_[_r_e_f_]_]_I_F name>...<_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ + _Q_U_O_T_E yz> │ │ │ │ │ + _S_E_T ... │ │ │ │ │ + _U_N_D_E_F <_[_[_r_e_f_]_]_/_i_f> │ │ │ │ │ + _U_N_S_E_T For file size information, the value BYTE, KBYTE, │ │ │ │ │ + _U_S_E_,_ _$ etc. dictates how the information is displayed. In │ │ │ │ │ + _W_H_I_L_E anything other than byte format, the information is │ │ │ │ │ + _<_!_-_-_- displayed in floating-point notation. The amount of │ │ │ │ │ + _H_i_s_t_o_r_y precision (the number of digits to the right of the │ │ │ │ │ + _W_i_s_h_ _l_i_s_t decimal point) can be set with the optional │ │ │ │ │ + _B_u_g_s PRECISION attribute. The default precision is zero │ │ │ │ │ (0), which means no fractional portion is │ │ │ │ │ displayed. │ │ │ │ │ At the request of many people, the TIME and DATE │ │ │ │ │ attributes will now accept formatting characters │ │ │ │ │ that are passed directly into the ANSI C library │ │ │ │ │ function. This allows for the time and date to be │ │ │ │ │ displayed in virtually any format. Users not │ │ │ │ │ @@ -58,15 +54,42 @@ │ │ │ │ │ Additional parameters can be set in the FILE │ │ │ │ │ INCLUDE tag, which are interpreted as macros that │ │ │ │ │ are "passed" to the included file. The macros are │ │ │ │ │ available only to the include file (and any macros │ │ │ │ │ or included files it holds). After the file is │ │ │ │ │ completely included, the macros are no longer │ │ │ │ │ available. So: │ │ │ │ │ - <${tagName} ${attrName}=${value$ctr}> │ │ │ │ │ + <_[_[_r_e_f_]_]_D_E_F NAME="HEADERIMG" OPTION="SRC TITLE │ │ │ │ │ + SIZE"> │ │ │ │ │ + <_[_[_r_e_f_]_]_I_F size> │ │ │ │ │ + <FONT SIZE=${size}> │ │ │ │ │ + <_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ + <_[_[_r_e_f_]_]_I_M_G SRC=pics/${src}> │ │ │ │ │ + <_[_[_r_e_f_]_]_U_S_E title> │ │ │ │ │ + <_[_[_r_e_f_]_]_I_F size> │ │ │ │ │ + </FONT> │ │ │ │ │ + <_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ + <_[_[_r_e_f_]_]_/_D_E_F> │ │ │ │ │ + │ │ │ │ │ + <HEADERIMG SRC="logo.gif" SIZE="+2" TITLE="A │ │ │ │ │ + title"> │ │ │ │ │ + │ │ │ │ │ + <HEADERIMG SRC="logo.gif" TITLE="Normal sized │ │ │ │ │ + title"> │ │ │ │ │ + │ │ │ │ │ + This will fail: │ │ │ │ │ + <HEADERIMG SRC="logo.gif" ALT="Our logo" │ │ │ │ │ + TITLE="Another title"> │ │ │ │ │ + │ │ │ │ │ + Instead, use * like this: │ │ │ │ │ + <_[_[_r_e_f_]_]_D_E_F NAME="MYIMG" OPTION="SRC *"> │ │ │ │ │ + <_[_[_r_e_f_]_]_I_M_G SRC="pics/${src}" $*> │ │ │ │ │ + <_[_[_r_e_f_]_]_/_D_E_F> │ │ │ │ │ + │ │ │ │ │ + <MYIMG SRC="logo.gif" ALT="Our logo"> │ │ │ │ │ Macros named "name" and "email" are set, and │ │ │ │ │ available inside the included file. They are not │ │ │ │ │ available, however, past the tag (which is why the │ │ │ │ │ second statement will fail.) │ │ │ │ │ ******** TTEEMMPPLLAATTEE ******** │ │ │ │ │ A template file is nothing more than a default │ │ │ │ │ include file, one that is included once the input │ │ │ ├── ./usr/share/doc/htp/if.html │ │ │ │ @@ -114,27 +114,55 @@ │ │ │ │ <a class="noline" href="bugs.html">Bugs</a></td></tr> │ │ │ │ </table> │ │ │ │ </div> │ │ │ │ </td> │ │ │ │ <td bgcolor="#f0f0d0" rowspan="2" valign="top"> │ │ │ │ <h2>syntax</h2> │ │ │ │ <p><code> │ │ │ │ +<span class="htp-tag"><<a href="output.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">OUTPUT</a> <span class="htp-attrib">FILE</span>=<span class="htp-string">"outputfilename"</span> <span class="ebnf">[</span><span class="htp-attrib">APPEND</span><span class="ebnf">]</span> <span class="ebnf">[</span><span class="htp-attrib">EXPAND</span><span class="ebnf">]</span>></span><br> │ │ │ │ +text block<br> │ │ │ │ +<span class="htp-tag"><<a href="output.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/OUTPUT</a>></span><br> │ │ │ │ +<br> │ │ │ │ </code></p> │ │ │ │ <h2>synopsis</h2> │ │ │ │ <STRONG>IF, NOT, ELSEIF, ELSE, and /IF</STRONG> are the building │ │ │ │ blocks for conditional processing. The basic form is shown above. │ │ │ │ <P> "Conditional" is either a "compare" or "is defined" operation. A │ │ │ │ compare operator is a test of the value of a macro against a literal │ │ │ │ string: │ │ │ │ <p><code> │ │ │ │ </code></p> │ │ │ │ <P> │ │ │ │ and a defined operator is a test of a macro's existance: │ │ │ │ <P> │ │ │ │ <p><code> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">DEF</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"HEADERIMG"</span> <span class="htp-attrib">OPTION</span>=<span class="htp-string">"SRC TITLE SIZE"</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IF</a> <span class="htp-attrib">size</span>></span><br> │ │ │ │ + <span class="htp-tag"><FONT <span class="htp-attrib">SIZE</span>=<span class="htp-value"><span class="htp-macro">${size}</span></span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/IF</a>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IMG</a> <span class="htp-attrib">SRC</span>=<span class="htp-value">pics/<span class="htp-macro">${src}</span></span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="use.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">USE</a> <span class="htp-attrib">title</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IF</a> <span class="htp-attrib">size</span>></span><br> │ │ │ │ + <span class="htp-tag"></FONT></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/IF</a>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/DEF</a>></span><br> │ │ │ │ +<br> │ │ │ │ + <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">SIZE</span>=<span class="htp-string">"+2"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"A title"</span>></span><br> │ │ │ │ +<br> │ │ │ │ + <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"Normal sized title"</span>></span><br> │ │ │ │ +<br> │ │ │ │ + This will fail:<br> │ │ │ │ + <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">ALT</span>=<span class="htp-string">"Our logo"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"Another title"</span>></span><br> │ │ │ │ +<br> │ │ │ │ + Instead, use * like this:<br> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">DEF</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"MYIMG"</span> <span class="htp-attrib">OPTION</span>=<span class="htp-string">"SRC *"</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IMG</a> <span class="htp-attrib">SRC</span>=<span class="htp-string">"pics/<span class="htp-macro">${src}</span>"</span> <span class="htp-attrib"><span class="htp-macro">$*</span></span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/DEF</a>></span><br> │ │ │ │ + <br> │ │ │ │ + <span class="htp-tag"><MYIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">ALT</span>=<span class="htp-string">"Our logo"</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <P> │ │ │ │ If the NOT tag is present in the IF markup, the evaluation of the │ │ │ │ conditional is reversed. The first IF or ELSEIF condition that │ │ │ │ evaluates to true is chosen. If none of the conditions is true the │ │ │ │ ELSE block is taken if it is present. A conditional block │ │ │ │ <EM>must</EM> be closed with the /IF tag. IF tags can be nested. │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,36 +1,69 @@ │ │ │ │ │ [HTP] │ │ │ │ │ ************ hhttpp oonn--lliinnee rreeffeerreennccee :: IIFF,, EELLSSEEIIFF,, EELLSSEE,, //IIFF ************ │ │ │ │ │ _T_a_b_l_e_ _o_f_ _C_o_n_t_e_n_t_s ********** ssyynnttaaxx ********** │ │ │ │ │ - _I_n_t_r_o_d_u_c_t_i_o_n ********** ssyynnooppssiiss ********** │ │ │ │ │ - _L_i_c_e_n_s_e IIFF,, NNOOTT,, EELLSSEEIIFF,, EELLSSEE,, aanndd //IIFF are the building │ │ │ │ │ - _T_u_t_o_r_i_a_l blocks for conditional processing. The basic form │ │ │ │ │ - _U_s_a_g_e is shown above. │ │ │ │ │ - HTP Tags "Conditional" is either a "compare" or "is defined" │ │ │ │ │ - _A_L_T_T_E_X_T operation. A compare operator is a test of the │ │ │ │ │ - _B_L_O_C_K value of a macro against a literal string: │ │ │ │ │ - _B_L_O_C_K_D_E_F and a defined operator is a test of a macro's │ │ │ │ │ - _D_E_F existance: │ │ │ │ │ - _F_I_L_E If the NOT tag is present in the IF markup, the │ │ │ │ │ - [>] _I_F evaluation of the conditional is reversed. The │ │ │ │ │ - _I_N_C first IF or ELSEIF condition that evaluates to true │ │ │ │ │ - _I_M_G is chosen. If none of the conditions is true the │ │ │ │ │ - _I_M_A_G_E_U_R_L ELSE block is taken if it is present. A conditional │ │ │ │ │ - _O_P_T block mmuusstt be closed with the /IF tag. IF tags can │ │ │ │ │ - _O_U_T_P_U_T be nested. │ │ │ │ │ - _Q_U_O_T_E │ │ │ │ │ - _S_E_T │ │ │ │ │ - _U_N_D_E_F │ │ │ │ │ - _U_N_S_E_T │ │ │ │ │ - _U_S_E_,_ _$ │ │ │ │ │ - _W_H_I_L_E │ │ │ │ │ - _<_!_-_-_- │ │ │ │ │ - _H_i_s_t_o_r_y │ │ │ │ │ - _W_i_s_h_ _l_i_s_t │ │ │ │ │ + _I_n_t_r_o_d_u_c_t_i_o_n <_[_[_r_e_f_]_]_O_U_T_P_U_T FILE="outputfilename" [APPEND] │ │ │ │ │ + _L_i_c_e_n_s_e [EXPAND]> │ │ │ │ │ + _T_u_t_o_r_i_a_l text block │ │ │ │ │ + _U_s_a_g_e <_[_[_r_e_f_]_]_/_O_U_T_P_U_T> │ │ │ │ │ + HTP Tags │ │ │ │ │ + _A_L_T_T_E_X_T ********** ssyynnooppssiiss ********** │ │ │ │ │ + _B_L_O_C_K IIFF,, NNOOTT,, EELLSSEEIIFF,, EELLSSEE,, aanndd //IIFF are the building │ │ │ │ │ + _B_L_O_C_K_D_E_F blocks for conditional processing. The basic form │ │ │ │ │ + _D_E_F is shown above. │ │ │ │ │ + _F_I_L_E "Conditional" is either a "compare" or "is defined" │ │ │ │ │ + [>] _I_F operation. A compare operator is a test of the │ │ │ │ │ + _I_N_C value of a macro against a literal string: │ │ │ │ │ + _I_M_G and a defined operator is a test of a macro's │ │ │ │ │ + _I_M_A_G_E_U_R_L existance: │ │ │ │ │ + _O_P_T <_[_[_r_e_f_]_]_D_E_F NAME="HEADERIMG" OPTION="SRC TITLE │ │ │ │ │ + _O_U_T_P_U_T SIZE"> │ │ │ │ │ + _Q_U_O_T_E <_[_[_r_e_f_]_]_I_F size> │ │ │ │ │ + _S_E_T <FONT SIZE=${size}> │ │ │ │ │ + _U_N_D_E_F <_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ + _U_N_S_E_T <_[_[_r_e_f_]_]_I_M_G SRC=pics/${src}> │ │ │ │ │ + _U_S_E_,_ _$ <_[_[_r_e_f_]_]_U_S_E title> │ │ │ │ │ + _W_H_I_L_E <_[_[_r_e_f_]_]_I_F size> │ │ │ │ │ + _<_!_-_-_- </FONT> │ │ │ │ │ + _H_i_s_t_o_r_y <_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ + _W_i_s_h_ _l_i_s_t <_[_[_r_e_f_]_]_/_D_E_F> │ │ │ │ │ _B_u_g_s │ │ │ │ │ + <HEADERIMG SRC="logo.gif" SIZE="+2" TITLE="A │ │ │ │ │ + title"> │ │ │ │ │ + │ │ │ │ │ + <HEADERIMG SRC="logo.gif" TITLE="Normal sized │ │ │ │ │ + title"> │ │ │ │ │ + │ │ │ │ │ + This will fail: │ │ │ │ │ + <HEADERIMG SRC="logo.gif" ALT="Our logo" │ │ │ │ │ + TITLE="Another title"> │ │ │ │ │ + │ │ │ │ │ + Instead, use * like this: │ │ │ │ │ + <_[_[_r_e_f_]_]_D_E_F NAME="MYIMG" OPTION="SRC *"> │ │ │ │ │ + <_[_[_r_e_f_]_]_I_M_G SRC="pics/${src}" $*> │ │ │ │ │ + <_[_[_r_e_f_]_]_/_D_E_F> │ │ │ │ │ + │ │ │ │ │ + <MYIMG SRC="logo.gif" ALT="Our logo"> │ │ │ │ │ + If the NOT tag is present in the IF markup, the │ │ │ │ │ + evaluation of the conditional is reversed. The │ │ │ │ │ + first IF or ELSEIF condition that evaluates to true │ │ │ │ │ + is chosen. If none of the conditions is true the │ │ │ │ │ + ELSE block is taken if it is present. A conditional │ │ │ │ │ + block mmuusstt be closed with the /IF tag. IF tags can │ │ │ │ │ + be nested. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ ├── ./usr/share/doc/htp/imageurl.html │ │ │ │ @@ -135,16 +135,14 @@ │ │ │ │ checks (case-insensitive) if it is a prefix of the image's SRC │ │ │ │ attribute. If it matches this prefix is replaced by the given PATH. │ │ │ │ If no IMAGEURL matches the SRC is considered as relative link and │ │ │ │ looked up in the current directory.</P> │ │ │ │ <P> │ │ │ │ For example:</P> │ │ │ │ <p><code> │ │ │ │ - <span class="htp-tag"><<a href="unset.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">unset</a> <span class="htp-attrib">email_addr</span> <span class="htp-attrib">home_url</span> <span class="htp-attrib">login_name</span>></span><br> │ │ │ │ -LE TIME>, <span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">FILE</a> <span class="htp-attrib">DATE</span>></span><span class="htp-tag"></EM></span><br> │ │ │ │ </code></p> │ │ │ │ <P> │ │ │ │ If IMAGEURL is specified with a URL but no PATH attribute, it is treated as │ │ │ │ an undefine, and is removed.</P> │ │ │ │ <P> │ │ │ │ Since you usually need the url mapping for a number of images used throughout │ │ │ │ a set of documents, IMAGEURL is most appropriately put into an │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -16,23 +16,21 @@ │ │ │ │ │ _I_M_G defined imageurl it checks (case-insensitive) if it │ │ │ │ │ [>] _I_M_A_G_E_U_R_L is a prefix of the image's SRC attribute. If it │ │ │ │ │ _O_P_T matches this prefix is replaced by the given PATH. │ │ │ │ │ _O_U_T_P_U_T If no IMAGEURL matches the SRC is considered as │ │ │ │ │ _Q_U_O_T_E relative link and looked up in the current │ │ │ │ │ _S_E_T directory. │ │ │ │ │ _U_N_D_E_F For example: │ │ │ │ │ - _U_N_S_E_T <_[_[_r_e_f_]_]_u_n_s_e_t email_addr home_url login_name> │ │ │ │ │ - _U_S_E_,_ _$ LE TIME>, <_[_[_r_e_f_]_]_F_I_L_E DATE></EM> │ │ │ │ │ - _W_H_I_L_E If IMAGEURL is specified with a URL but no PATH │ │ │ │ │ - _<_!_-_-_- attribute, it is treated as an undefine, and is │ │ │ │ │ - _H_i_s_t_o_r_y removed. │ │ │ │ │ - _W_i_s_h_ _l_i_s_t Since you usually need the url mapping for a number │ │ │ │ │ - _B_u_g_s of images used throughout a set of documents, │ │ │ │ │ - IMAGEURL is most appropriately put into an _i_n_c_l_u_d_e │ │ │ │ │ - _f_i_l_e or the _h_t_p_._d_e_f file. │ │ │ │ │ + _U_N_S_E_T If IMAGEURL is specified with a URL but no PATH │ │ │ │ │ + _U_S_E_,_ _$ attribute, it is treated as an undefine, and is │ │ │ │ │ + _W_H_I_L_E removed. │ │ │ │ │ + _<_!_-_-_- Since you usually need the url mapping for a number │ │ │ │ │ + _H_i_s_t_o_r_y of images used throughout a set of documents, │ │ │ │ │ + _W_i_s_h_ _l_i_s_t IMAGEURL is most appropriately put into an _i_n_c_l_u_d_e │ │ │ │ │ + _B_u_g_s _f_i_l_e or the _h_t_p_._d_e_f file. │ │ │ │ │ In addition to WIDTH and HEIGHT, htp can also │ │ │ │ │ (semi-)automatically add an _A_L_T_ _t_e_x_t attribute to │ │ │ │ │ _I_M_G tags. │ │ │ ├── ./usr/share/doc/htp/inc.html │ │ │ │ @@ -128,36 +128,14 @@ │ │ │ │ macroname must be the name of a defined macro that contains an │ │ │ │ integer. If the increment is ommitted it defaults to 1. │ │ │ │ The effect of this operation is that the macro is redefined │ │ │ │ to contain the sum of its previous value and its increment. │ │ │ │ <P> │ │ │ │ To increment or decrement a variable you can use this form: │ │ │ │ <p><code> │ │ │ │ - <span class="htp-tag"><<a href="imageurl.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">imageurl</a> <span class="htp-attrib">url</span>=<span class="htp-string">"http://my.domain.org/"</span> <span class="htp-attrib">path</span>=<span class="htp-string">"/var/www/my.domain/"</span>></span><br> │ │ │ │ - <span class="htp-tag"><<a href="imageurl.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">imageurl</a> <span class="htp-attrib">url</span>=<span class="htp-string">"other.domain.org/"</span> <span class="htp-attrib">path</span>=<span class="htp-string">"/var/www/other.domain/"</span>></span><br> │ │ │ │ -<br> │ │ │ │ - For this line: <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"logo.gif"</span>></span><br> │ │ │ │ - the local filename "logo.gif" will be used to determine image dimensions<br> │ │ │ │ - (no URL replacement).<br> │ │ │ │ -<br> │ │ │ │ - For this line: <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"http://my.domain.org/logo.gif"</span>></span><br> │ │ │ │ - the local filename "/var/www/my.domain/logo.gif" will be used.<br> │ │ │ │ -<br> │ │ │ │ - But for this line: <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"http://other.domain.org/logo.gif"</span>></span><br> │ │ │ │ - the local file cannot be found (no prefix match), so the image dimensions<br> │ │ │ │ - will not be added.<br> │ │ │ │ -<br> │ │ │ │ - Order is important; last IMAGEURL tag takes precedence:<br> │ │ │ │ - <span class="htp-tag"><<a href="imageurl.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">imageurl</a> <span class="htp-attrib">url</span>=<span class="htp-string">"/"</span> <span class="htp-attrib">path</span>=<span class="htp-string">"/var/www/htdocs/"</span>></span><br> │ │ │ │ - <span class="htp-tag"><<a href="imageurl.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">imageurl</a> <span class="htp-attrib">url</span>=<span class="htp-string">"/test/"</span> <span class="htp-attrib">path</span>=<span class="htp-string">"/var/www/test/"</span>></span><br> │ │ │ │ -<br> │ │ │ │ - <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"/image.gif"</span>></span> and <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"/test/image.gif"</span>></span> are mapped to<br> │ │ │ │ - /var/www/htdocs/image.gif and /var/www/test/image.gif, resp.<br> │ │ │ │ - If the order of the imageurl lines would be swapped, the second <br> │ │ │ │ - image would be mapped to /var/www/htdocs/test/image.gif.<br> │ │ │ │ </code></p> │ │ │ │ <p> │ │ │ │ Note that INC doesn't check if the strings really denote integers. It │ │ │ │ may give weired results when used on arbitrary strings. The integer │ │ │ │ values are limited to the range -2^31..2^31. │ │ │ │ <P> │ │ │ │ Note further that htp wasn't designed to do extensive calculations. │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -11,61 +11,26 @@ │ │ │ │ │ _B_L_O_C_K_D_E_F be the name of a defined macro that contains an │ │ │ │ │ _D_E_F integer. If the increment is ommitted it defaults │ │ │ │ │ _F_I_L_E to 1. The effect of this operation is that the │ │ │ │ │ _I_F macro is redefined to contain the sum of its │ │ │ │ │ [>] _I_N_C previous value and its increment. │ │ │ │ │ _I_M_G To increment or decrement a variable you can use │ │ │ │ │ _I_M_A_G_E_U_R_L this form: │ │ │ │ │ - _O_P_T <_[_[_r_e_f_]_]_i_m_a_g_e_u_r_l url="http://my.domain.org/ │ │ │ │ │ - _O_U_T_P_U_T " path="/var/www/my.domain/"> │ │ │ │ │ - _Q_U_O_T_E <_[_[_r_e_f_]_]_i_m_a_g_e_u_r_l url="other.domain.org/" path="/ │ │ │ │ │ - _S_E_T var/www/other.domain/"> │ │ │ │ │ - _U_N_D_E_F │ │ │ │ │ - _U_N_S_E_T For this line: <_[_[_r_e_f_]_]_i_m_g src="logo.gif"> │ │ │ │ │ - _U_S_E_,_ _$ the local filename "logo.gif" will be used to │ │ │ │ │ - _W_H_I_L_E determine image dimensions │ │ │ │ │ - _<_!_-_-_- (no URL replacement). │ │ │ │ │ + _O_P_T Note that INC doesn't check if the strings really │ │ │ │ │ + _O_U_T_P_U_T denote integers. It may give weired results when │ │ │ │ │ + _Q_U_O_T_E used on arbitrary strings. The integer values are │ │ │ │ │ + _S_E_T limited to the range -2^31..2^31. │ │ │ │ │ + _U_N_D_E_F Note further that htp wasn't designed to do │ │ │ │ │ + _U_N_S_E_T extensive calculations. The INC tag is useful in │ │ │ │ │ + _U_S_E_,_ _$ conjunction with WHILE to iterate over the defined │ │ │ │ │ + _W_H_I_L_E blocks. │ │ │ │ │ + _<_!_-_-_- │ │ │ │ │ _H_i_s_t_o_r_y │ │ │ │ │ - _W_i_s_h_ _l_i_s_t For this line: <_[_[_r_e_f_]_]_i_m_g src="http:// │ │ │ │ │ - _B_u_g_s my.domain.org/logo.gif"> │ │ │ │ │ - the local filename "/var/www/my.domain/logo.gif" │ │ │ │ │ - will be used. │ │ │ │ │ - │ │ │ │ │ - But for this line: <_[_[_r_e_f_]_]_i_m_g src="http:// │ │ │ │ │ - other.domain.org/logo.gif"> │ │ │ │ │ - the local file cannot be found (no prefix match), │ │ │ │ │ - so the image dimensions │ │ │ │ │ - will not be added. │ │ │ │ │ - │ │ │ │ │ - Order is important; last IMAGEURL tag takes │ │ │ │ │ - precedence: │ │ │ │ │ - <_[_[_r_e_f_]_]_i_m_a_g_e_u_r_l url="/" path="/var/www/htdocs/"> │ │ │ │ │ - <_[_[_r_e_f_]_]_i_m_a_g_e_u_r_l url="/test/" path="/var/www/ │ │ │ │ │ - test/"> │ │ │ │ │ - │ │ │ │ │ - <_[_[_r_e_f_]_]_i_m_g src="/image.gif"> and <_[_[_r_e_f_]_]_i_m_g │ │ │ │ │ - src="/test/image.gif"> are mapped to │ │ │ │ │ - /var/www/htdocs/image.gif and /var/www/test/ │ │ │ │ │ - image.gif, resp. │ │ │ │ │ - If the order of the imageurl lines would be │ │ │ │ │ - swapped, the second │ │ │ │ │ - image would be mapped to /var/www/htdocs/test/ │ │ │ │ │ - image.gif. │ │ │ │ │ - Note that INC doesn't check if the strings really │ │ │ │ │ - denote integers. It may give weired results when │ │ │ │ │ - used on arbitrary strings. The integer values are │ │ │ │ │ - limited to the range -2^31..2^31. │ │ │ │ │ - Note further that htp wasn't designed to do │ │ │ │ │ - extensive calculations. The INC tag is useful in │ │ │ │ │ - conjunction with WHILE to iterate over the defined │ │ │ │ │ - blocks. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + _W_i_s_h_ _l_i_s_t │ │ │ │ │ + _B_u_g_s │ │ │ ├── ./usr/share/doc/htp/metatag.html │ │ │ │ @@ -88,14 +88,17 @@ │ │ │ │ <P> Metatags are defined with the <a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10"><code>def</code></a> and <a href="blockdef.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10"><code>blockdef</code></a> tags and │ │ │ │ undefined with the <a href="undef.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10"><code>undef</code></a> tag. </P> │ │ │ │ <P> │ │ │ │ As an example we show how to define a tag that builds a │ │ │ │ fancy horizontal rule out of several images. │ │ │ │ </P> │ │ │ │ <p><code> │ │ │ │ +<font size="-2"> 1. </font> <span class="htp-tag"><<a href="set.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">SET</a> <span class="htp-attrib">emailaddr</span>=<span class="htp-string">"jnelson@crl.com"</span>></span><br> │ │ │ │ +<font size="-2"> 2. </font>if" SIZE=KBYTE> kilobytes<br> │ │ │ │ +<font size="-2"> 3. </font> Last modified <span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">FILE</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"image.gif"</span> <span class="htp-attrib">TIME</span>></span>, <span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">FILE</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"image.gif"</span> <span class="htp-attrib">DATE</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <P> In line 1 of the above example a new tag named imghr is defined. │ │ │ │ The html code which implements this rule is following in lines 2-8. │ │ │ │ between the <a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10"><code>def</code> and │ │ │ │ <code>/def</code></a> tags. You don't have to understand this │ │ │ │ html code, but you should understand that this is just pure html to │ │ │ │ draw the fancy rule. Every time you write <code><imghr></code> │ │ │ │ @@ -105,55 +108,40 @@ │ │ │ │ file</a>. </p> │ │ │ │ <P> Often you want to define tags that have an opening and a closing │ │ │ │ variant. For this purpose you should use the <a href="blockdef.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10"><code>blockdef</code></a> tag. When htp │ │ │ │ encounters a blockdef tag it will automatically search for the │ │ │ │ matching closing tag and put everything between these tags in a block │ │ │ │ macro named <code>block</code>. Here is an example for this. </P> │ │ │ │ <p><code> │ │ │ │ +<font size="-2"> 1. </font><span class="htp-tag"><a <span class="htp-attrib">href</span>=<span class="htp-string">"mailto:<span class="htp-macro">$email</span>"</span>></span>mailto hyperlink<span class="htp-tag"></a></span><br> │ │ │ │ +<font size="-2"> 2. </font><span class="htp-tag"><a <span class="htp-attrib">href</span>=<span class="htp-string">"http://<span class="htp-macro">$domain</span>/~<span class="htp-macro">${username}</span>/"</span>></span>another hyperlink<span class="htp-tag"></a></span><br> │ │ │ │ </code></p> │ │ │ │ <h2>Using parameters</h2> │ │ │ │ <p> More sophisticated tags accept parameters. The │ │ │ │ <code>option</code> parameter lets multiple metatag parameters be │ │ │ │ named and expanded inside the <code>def</code> or │ │ │ │ <code>blockdef</code> block: </p> │ │ │ │ <p><code> │ │ │ │ -<font size="-2"> 1. </font> <span class="htp-tag"><<a href="imageurl.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">imageurl</a> <span class="htp-attrib">url</span>=<span class="htp-string">"http://my.domain.org/"</span> <span class="htp-attrib">path</span>=<span class="htp-string">"/var/www/my.domain/"</span>></span><br> │ │ │ │ -<font size="-2"> 2. </font> <span class="htp-tag"><<a href="imageurl.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">imageurl</a> <span class="htp-attrib">url</span>=<span class="htp-string">"other.domain.org/"</span> <span class="htp-attrib">path</span>=<span class="htp-string">"/var/www/other.domain/"</span>></span><br> │ │ │ │ -<font size="-2"> 3. </font><br> │ │ │ │ -<font size="-2"> 4. </font> For this line: <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"logo.gif"</span>></span><br> │ │ │ │ -<font size="-2"> 5. </font> the local filename "logo.gif" will be used to determine image dimensions<br> │ │ │ │ -<font size="-2"> 6. </font> (no URL replacement).<br> │ │ │ │ -<font size="-2"> 7. </font><br> │ │ │ │ -<font size="-2"> 8. </font> For this line: <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"http://my.domain.org/logo.gif"</span>></span><br> │ │ │ │ -<font size="-2"> 9. </font> the local filename "/var/www/my.domain/logo.gif" will be used.<br> │ │ │ │ -<font size="-2">10. </font><br> │ │ │ │ -<font size="-2">11. </font> But for this line: <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"http://other.domain.org/logo.gif"</span>></span><br> │ │ │ │ -<font size="-2">12. </font> the local file cannot be found (no prefix match), so the image dimensions<br> │ │ │ │ -<font size="-2">13. </font> will not be added.<br> │ │ │ │ -<font size="-2">14. </font><br> │ │ │ │ -<font size="-2">15. </font> Order is important; last IMAGEURL tag takes precedence:<br> │ │ │ │ -<font size="-2">16. </font> <span class="htp-tag"><<a href="imageurl.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">imageurl</a> <span class="htp-attrib">url</span>=<span class="htp-string">"/"</span> <span class="htp-attrib">path</span>=<span class="htp-string">"/var/www/htdocs/"</span>></span><br> │ │ │ │ -<font size="-2">17. </font> <span class="htp-tag"><<a href="imageurl.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">imageurl</a> <span class="htp-attrib">url</span>=<span class="htp-string">"/test/"</span> <span class="htp-attrib">path</span>=<span class="htp-string">"/var/www/test/"</span>></span><br> │ │ │ │ -<font size="-2">18. </font><br> │ │ │ │ -<font size="-2">19. </font> <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"/image.gif"</span>></span> and <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">img</a> <span class="htp-attrib">src</span>=<span class="htp-string">"/test/image.gif"</span>></span> are mapped to<br> │ │ │ │ -<font size="-2">20. </font> /var/www/htdocs/image.gif and /var/www/test/image.gif, resp.<br> │ │ │ │ -<font size="-2">21. </font> If the order of the imageurl lines would be swapped, the second <br> │ │ │ │ -<font size="-2">22. </font> image would be mapped to /var/www/htdocs/test/image.gif.<br> │ │ │ │ +<font size="-2"> 1. </font> <span class="htp-tag"><<span class="htp-macro">${tagName}</span> <span class="htp-attrib"><span class="htp-macro">${attrName}</span></span>=<span class="htp-value"><span class="htp-macro">${value$ctr}</span></span>></span><br> │ │ │ │ </code></p> │ │ │ │ <h2>Saving blocks for later</h2> │ │ │ │ <p>When you are using templates, the html should only be written by │ │ │ │ the template file. The normal htp files should just define macros │ │ │ │ that are used later in the template. So you may want to write block │ │ │ │ tags that just save the block in a macro for later use. Although this │ │ │ │ is possible with htp it is quite tricky, so here we present the way to │ │ │ │ do this:</p> │ │ │ │ <p><code> │ │ │ │ -<font size="-2"> 1. </font><span class="htp-tag"><a <span class="htp-attrib">href</span>=<span class="htp-string">"mailto:<span class="htp-macro">$email</span>"</span>></span>mailto hyperlink<span class="htp-tag"></a></span><br> │ │ │ │ -<font size="-2"> 2. </font><span class="htp-tag"><a <span class="htp-attrib">href</span>=<span class="htp-string">"http://<span class="htp-macro">$domain</span>/~<span class="htp-macro">${username}</span>/"</span>></span>another hyperlink<span class="htp-tag"></a></span><br> │ │ │ │ -<font size="-2"> 3. </font>IME>, <span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">FILE</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"image.gif"</span> <span class="htp-attrib">DATE</span>></span><br> │ │ │ │ +<font size="-2"> 1. </font> <span class="htp-tag"><<a href="set.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">set</a> <span class="htp-attrib">sect-ctr</span>=<span class="htp-string">"0"</span>></span><br> │ │ │ │ +<font size="-2"> 2. </font> <span class="htp-tag"><<a href="blockdef.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">blockdef</a> <span class="htp-attrib">name</span>=<span class="htp-string">"section"</span>></span><br> │ │ │ │ +<font size="-2"> 3. </font> <span class="htp-tag"><<a href="inc.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">inc</a> <span class="htp-attrib">sect-ctr</span>></span><br> │ │ │ │ +<font size="-2"> 4. </font> <span class="htp-tag"><<a href="block.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">block</a> <span class="htp-attrib">name</span>=<span class="htp-string">"sect-<span class="htp-macro">${sect-ctr}</span>"</span> <span class="htp-attrib">expand</span> <span class="htp-attrib">global</span>></span><br> │ │ │ │ +<font size="-2"> 5. </font> <span class="htp-tag"><<a href="use.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">use</a> <span class="htp-attrib">block</span> <span class="htp-attrib">noexpand</span>></span><br> │ │ │ │ +<font size="-2"> 6. </font> <span class="htp-tag"><<a href="block.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/block</a>></span><br> │ │ │ │ +<font size="-2"> 7. </font> <span class="htp-tag"><<a href="blockdef.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/blockdef</a>></span><br> │ │ │ │ </code></p> │ │ │ │ <p> This defines a block macro named section. This macro uses a │ │ │ │ counter <code>sect-ctr</code> that enumerates the sections. It is │ │ │ │ increased for every section (line 3) and then the block macro name is │ │ │ │ build from this counter. So the first section is stored in block │ │ │ │ sect-1, the second in sect-2 and so on. The <a href="expand.html#global" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10"><code>global</code></a> flag │ │ │ │ in line 4 tells htp that these macros should be defined globally │ │ │ │ @@ -172,14 +160,21 @@ │ │ │ │ contents of block to be expanded twice. If you omit it, it would be │ │ │ │ expanded when defining the sect-1 macro and when using it later in the │ │ │ │ template. Generally it is a good idea to use noexpand whenever you │ │ │ │ use expand in a block around it.</p> │ │ │ │ <p>To close this example we show how to expand the │ │ │ │ <code>sect-${sect-ctr}</code> blocks in the template:</p> │ │ │ │ <p><code> │ │ │ │ +<font size="-2"> 1. </font><span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">file</a> <span class="htp-attrib">include</span>=<span class="htp-string">"header.hti"</span>></span><br> │ │ │ │ +<font size="-2"> 2. </font> <span class="htp-tag"><<a href="set.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">set</a> <span class="htp-attrib">sect-ctr</span>=<span class="htp-string">"1"</span>></span><br> │ │ │ │ +<font size="-2"> 3. </font> <span class="htp-tag"><<a href="while.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">while</a> <span class="htp-attrib">sect-<span class="htp-macro">${sect-ctr}</span></span>></span><br> │ │ │ │ +<font size="-2"> 4. </font> <span class="htp-tag"><<a href="use.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">use</a> <span class="htp-attrib">sect-<span class="htp-macro">${sect-ctr}</span></span>></span><br> │ │ │ │ +<font size="-2"> 5. </font> <span class="htp-tag"><<a href="inc.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">inc</a> <span class="htp-attrib">sect-ctr</span>></span><br> │ │ │ │ +<font size="-2"> 6. </font> <span class="htp-tag"><<a href="while.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/while</a>></span><br> │ │ │ │ +<font size="-2"> 7. </font><span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">file</a> <span class="htp-attrib">include</span>=<span class="htp-string">"footer.hti"</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <p> │ │ │ │ The <a href="while.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">while</a> tag in line 3 checks whether │ │ │ │ the macro sect-${sect-ctr} is defined. If it is defined the body is │ │ │ │ evaluated, which expands the macro and increases sect-ctr. Afterwards │ │ │ │ the while condition is checked again to check for sect-2 macro. This │ │ │ │ repeats until sect-${sect-ctr} is not defined. │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -9,15 +9,19 @@ │ │ │ │ │ _T_e_m_p_l_a_t_e_s functionality. │ │ │ │ │ _F_i_l_e_s Metatags are defined with the _[_[_r_e_f_]_]_d_e_f and _[ │ │ │ │ │ [>] _M_e_t_a_t_a_g_s _[_r_e_f_]_]_b_l_o_c_k_d_e_f tags and undefined with the _[ │ │ │ │ │ _U_s_a_g_e _[_r_e_f_]_]_u_n_d_e_f tag. │ │ │ │ │ _H_T_P_ _T_a_g_s As an example we show how to define a tag that │ │ │ │ │ _H_i_s_t_o_r_y builds a fancy horizontal rule out of several │ │ │ │ │ _W_i_s_h_ _l_i_s_t images. │ │ │ │ │ - _B_u_g_s In line 1 of the above example a new tag named │ │ │ │ │ + _B_u_g_s 1. <_[_[_r_e_f_]_]_S_E_T emailaddr="jnelson@crl.com"> │ │ │ │ │ + 2. if" SIZE=KBYTE> kilobytes │ │ │ │ │ + 3. Last modified <_[_[_r_e_f_]_]_F_I_L_E NAME="image.gif" │ │ │ │ │ + TIME>, <_[_[_r_e_f_]_]_F_I_L_E NAME="image.gif" DATE> │ │ │ │ │ + In line 1 of the above example a new tag named │ │ │ │ │ imghr is defined. The html code which implements │ │ │ │ │ this rule is following in lines 2-8. between the _[ │ │ │ │ │ _[_r_e_f_]_]_d_e_f_ _a_n_d_ _/_d_e_f tags. You don't have to │ │ │ │ │ understand this html code, but you should │ │ │ │ │ understand that this is just pure html to draw the │ │ │ │ │ fancy rule. Every time you write <imghr> as in line │ │ │ │ │ 12 htp will replace this tag with the corresponding │ │ │ │ │ @@ -27,67 +31,39 @@ │ │ │ │ │ Often you want to define tags that have an opening │ │ │ │ │ and a closing variant. For this purpose you should │ │ │ │ │ use the _[_[_r_e_f_]_]_b_l_o_c_k_d_e_f tag. When htp encounters a │ │ │ │ │ blockdef tag it will automatically search for the │ │ │ │ │ matching closing tag and put everything between │ │ │ │ │ these tags in a block macro named block. Here is an │ │ │ │ │ example for this. │ │ │ │ │ + 1. <a href="mailto:$email">mailto hyperlink</a> │ │ │ │ │ + 2. <a href="http://$domain/~${username}/">another │ │ │ │ │ + hyperlink</a> │ │ │ │ │ ********** UUssiinngg ppaarraammeetteerrss ********** │ │ │ │ │ More sophisticated tags accept parameters. The │ │ │ │ │ option parameter lets multiple metatag parameters │ │ │ │ │ be named and expanded inside the def or blockdef │ │ │ │ │ block: │ │ │ │ │ - 1. <_[_[_r_e_f_]_]_i_m_a_g_e_u_r_l url="http://my.domain.org/ │ │ │ │ │ - " path="/var/www/my.domain/"> │ │ │ │ │ - 2. <_[_[_r_e_f_]_]_i_m_a_g_e_u_r_l url="other.domain.org/ │ │ │ │ │ - " path="/var/www/other.domain/"> │ │ │ │ │ - 3. │ │ │ │ │ - 4. For this line: <_[_[_r_e_f_]_]_i_m_g src="logo.gif"> │ │ │ │ │ - 5. the local filename "logo.gif" will be used to │ │ │ │ │ - determine image dimensions │ │ │ │ │ - 6. (no URL replacement). │ │ │ │ │ - 7. │ │ │ │ │ - 8. For this line: <_[_[_r_e_f_]_]_i_m_g src="http:// │ │ │ │ │ - my.domain.org/logo.gif"> │ │ │ │ │ - 9. the local filename "/var/www/my.domain/ │ │ │ │ │ - logo.gif" will be used. │ │ │ │ │ - 10. │ │ │ │ │ - 11. But for this line: <_[_[_r_e_f_]_]_i_m_g src="http:// │ │ │ │ │ - other.domain.org/logo.gif"> │ │ │ │ │ - 12. the local file cannot be found (no prefix │ │ │ │ │ - match), so the image dimensions │ │ │ │ │ - 13. will not be added. │ │ │ │ │ - 14. │ │ │ │ │ - 15. Order is important; last IMAGEURL tag takes │ │ │ │ │ - precedence: │ │ │ │ │ - 16. <_[_[_r_e_f_]_]_i_m_a_g_e_u_r_l url="/" path="/var/www/ │ │ │ │ │ - htdocs/"> │ │ │ │ │ - 17. <_[_[_r_e_f_]_]_i_m_a_g_e_u_r_l url="/test/" path="/var/www/ │ │ │ │ │ - test/"> │ │ │ │ │ - 18. │ │ │ │ │ - 19. <_[_[_r_e_f_]_]_i_m_g src="/image.gif"> and <_[_[_r_e_f_]_]_i_m_g │ │ │ │ │ - src="/test/image.gif"> are mapped to │ │ │ │ │ - 20. /var/www/htdocs/image.gif and /var/www/test/ │ │ │ │ │ - image.gif, resp. │ │ │ │ │ - 21. If the order of the imageurl lines would be │ │ │ │ │ - swapped, the second │ │ │ │ │ - 22. image would be mapped to /var/www/htdocs/ │ │ │ │ │ - test/image.gif. │ │ │ │ │ + 1. <${tagName} ${attrName}=${value$ctr}> │ │ │ │ │ ********** SSaavviinngg bblloocckkss ffoorr llaatteerr ********** │ │ │ │ │ When you are using templates, the html should only │ │ │ │ │ be written by the template file. The normal htp │ │ │ │ │ files should just define macros that are used later │ │ │ │ │ in the template. So you may want to write block │ │ │ │ │ tags that just save the block in a macro for later │ │ │ │ │ use. Although this is possible with htp it is quite │ │ │ │ │ tricky, so here we present the way to do this: │ │ │ │ │ - 1. <a href="mailto:$email">mailto hyperlink</a> │ │ │ │ │ - 2. <a href="http://$domain/~${username}/">another │ │ │ │ │ - hyperlink</a> │ │ │ │ │ - 3. IME>, <_[_[_r_e_f_]_]_F_I_L_E NAME="image.gif" DATE> │ │ │ │ │ + 1. <_[_[_r_e_f_]_]_s_e_t sect-ctr="0"> │ │ │ │ │ + 2. <_[_[_r_e_f_]_]_b_l_o_c_k_d_e_f name="section"> │ │ │ │ │ + 3. <_[_[_r_e_f_]_]_i_n_c sect-ctr> │ │ │ │ │ + 4. <_[_[_r_e_f_]_]_b_l_o_c_k name="sect-${sect-ctr}" │ │ │ │ │ + expand global> │ │ │ │ │ + 5. <_[_[_r_e_f_]_]_u_s_e block noexpand> │ │ │ │ │ + 6. <_[_[_r_e_f_]_]_/_b_l_o_c_k> │ │ │ │ │ + 7. <_[_[_r_e_f_]_]_/_b_l_o_c_k_d_e_f> │ │ │ │ │ This defines a block macro named section. This │ │ │ │ │ macro uses a counter sect-ctr that enumerates the │ │ │ │ │ sections. It is increased for every section (line │ │ │ │ │ 3) and then the block macro name is build from this │ │ │ │ │ counter. So the first section is stored in block │ │ │ │ │ sect-1, the second in sect-2 and so on. The _[ │ │ │ │ │ _[_r_e_f_]_]_g_l_o_b_a_l flag in line 4 tells htp that these │ │ │ │ │ @@ -110,14 +86,21 @@ │ │ │ │ │ block to be expanded twice. If you omit it, it │ │ │ │ │ would be expanded when defining the sect-1 macro │ │ │ │ │ and when using it later in the template. Generally │ │ │ │ │ it is a good idea to use noexpand whenever you use │ │ │ │ │ expand in a block around it. │ │ │ │ │ To close this example we show how to expand the │ │ │ │ │ sect-${sect-ctr} blocks in the template: │ │ │ │ │ + 1. <_[_[_r_e_f_]_]_f_i_l_e include="header.hti"> │ │ │ │ │ + 2. <_[_[_r_e_f_]_]_s_e_t sect-ctr="1"> │ │ │ │ │ + 3. <_[_[_r_e_f_]_]_w_h_i_l_e sect-${sect-ctr}> │ │ │ │ │ + 4. <_[_[_r_e_f_]_]_u_s_e sect-${sect-ctr}> │ │ │ │ │ + 5. <_[_[_r_e_f_]_]_i_n_c sect-ctr> │ │ │ │ │ + 6. <_[_[_r_e_f_]_]_/_w_h_i_l_e> │ │ │ │ │ + 7. <_[_[_r_e_f_]_]_f_i_l_e include="footer.hti"> │ │ │ │ │ The _[_[_r_e_f_]_]_w_h_i_l_e tag in line 3 checks whether the │ │ │ │ │ macro sect-${sect-ctr} is defined. If it is defined │ │ │ │ │ the body is evaluated, which expands the macro and │ │ │ │ │ increases sect-ctr. Afterwards the while condition │ │ │ │ │ is checked again to check for sect-2 macro. This │ │ │ │ │ repeats until sect-${sect-ctr} is not defined. │ │ │ │ │ ********** CCoonncclluussiioonnss ********** │ │ │ ├── ./usr/share/doc/htp/opt.html │ │ │ │ @@ -114,14 +114,15 @@ │ │ │ │ <a class="noline" href="bugs.html">Bugs</a></td></tr> │ │ │ │ </table> │ │ │ │ </div> │ │ │ │ </td> │ │ │ │ <td bgcolor="#f0f0d0" rowspan="2" valign="top"> │ │ │ │ <h2>syntax</h2> │ │ │ │ <p><code> │ │ │ │ + <span class="htp-tag"><<a href="inc.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">INC</a> <span class="htp-attrib">i</span>=<span class="htp-string">"1"</span> <span class="htp-attrib">j</span>=<span class="htp-string">"-1"</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <h2>synopsis</h2> │ │ │ │ <STRONG>OPT</STRONG> is an htp tag that can be used to specify processing │ │ │ │ options inside the actual document being processed. The options are │ │ │ │ used exactly as they would be on the command-line, although they are not │ │ │ │ preceded by a ‘-’ character. │ │ │ │ <P> │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,19 +1,19 @@ │ │ │ │ │ [HTP] │ │ │ │ │ ************ hhttpp oonn--lliinnee rreeffeerreennccee :: OOPPTT ************ │ │ │ │ │ _T_a_b_l_e_ _o_f_ _C_o_n_t_e_n_t_s ********** ssyynnttaaxx ********** │ │ │ │ │ - _I_n_t_r_o_d_u_c_t_i_o_n ********** ssyynnooppssiiss ********** │ │ │ │ │ - _L_i_c_e_n_s_e OOPPTT is an htp tag that can be used to specify │ │ │ │ │ - _T_u_t_o_r_i_a_l processing options inside the actual document being │ │ │ │ │ - _U_s_a_g_e processed. The options are used exactly as they │ │ │ │ │ - HTP Tags would be on the command-line, although they are not │ │ │ │ │ - _A_L_T_T_E_X_T preceded by a ‘-’ character. │ │ │ │ │ - _B_L_O_C_K Click here for _m_o_r_e_ _i_n_f_o_r_m_a_t_i_o_n_ _o_n_ _u_s_i_n_g │ │ │ │ │ - _B_L_O_C_K_D_E_F _c_u_s_t_o_m_i_z_a_t_i_o_n_ _o_p_t_i_o_n_s_ _w_i_t_h_ _h_t_p. │ │ │ │ │ - _D_E_F │ │ │ │ │ + _I_n_t_r_o_d_u_c_t_i_o_n <_[_[_r_e_f_]_]_I_N_C i="1" j="-1"> │ │ │ │ │ + _L_i_c_e_n_s_e ********** ssyynnooppssiiss ********** │ │ │ │ │ + _T_u_t_o_r_i_a_l OOPPTT is an htp tag that can be used to specify │ │ │ │ │ + _U_s_a_g_e processing options inside the actual document being │ │ │ │ │ + HTP Tags processed. The options are used exactly as they │ │ │ │ │ + _A_L_T_T_E_X_T would be on the command-line, although they are not │ │ │ │ │ + _B_L_O_C_K preceded by a ‘-’ character. │ │ │ │ │ + _B_L_O_C_K_D_E_F Click here for _m_o_r_e_ _i_n_f_o_r_m_a_t_i_o_n_ _o_n_ _u_s_i_n_g │ │ │ │ │ + _D_E_F _c_u_s_t_o_m_i_z_a_t_i_o_n_ _o_p_t_i_o_n_s_ _w_i_t_h_ _h_t_p. │ │ │ │ │ _F_I_L_E │ │ │ │ │ _I_F │ │ │ │ │ _I_N_C │ │ │ │ │ _I_M_G │ │ │ │ │ _I_M_A_G_E_U_R_L │ │ │ │ │ [>] _O_P_T │ │ │ │ │ _O_U_T_P_U_T │ │ │ │ │ @@ -25,14 +25,15 @@ │ │ │ │ │ _W_H_I_L_E │ │ │ │ │ _<_!_-_-_- │ │ │ │ │ _H_i_s_t_o_r_y │ │ │ │ │ _W_i_s_h_ _l_i_s_t │ │ │ │ │ _B_u_g_s │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ _p_a_g_e_ _s_o_u_r_c_e │ │ │ │ │ _h_t_p_ _p_r_o_j_e_c_t │ │ │ │ │ _h_t_p_ _h_o_m_e_p_a_g_e │ │ │ │ │ hosted by │ │ │ │ │ _S_o_u_r_c_e_f_o_r_g_e │ │ │ │ │ HTML coding_[_P_o_w_e_r_e_d_ _b_y │ │ │ │ │ _h_t_p_] │ │ │ ├── ./usr/share/doc/htp/output.html │ │ │ │ @@ -114,14 +114,15 @@ │ │ │ │ <a class="noline" href="bugs.html">Bugs</a></td></tr> │ │ │ │ </table> │ │ │ │ </div> │ │ │ │ </td> │ │ │ │ <td bgcolor="#f0f0d0" rowspan="2" valign="top"> │ │ │ │ <h2>syntax</h2> │ │ │ │ <p><code> │ │ │ │ + <span class="htp-tag"><<a href="inc.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">INC</a> <span class="htp-attrib">i</span>=<span class="htp-string">"1"</span> <span class="htp-attrib">j</span>=<span class="htp-string">"-1"</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <h2>synopsis</h2> │ │ │ │ <P> The <STRONG>OUTPUT</STRONG> tag can be used to create auxillary │ │ │ │ files besides the main HTML file. The text between this tag and the │ │ │ │ corresponding </OUTPUT> tag is written to output file. </P> │ │ │ │ <P> Normally the outputfile is cleared before writing to it, but you │ │ │ │ can use the APPEND attribute to extend an existing file. The text │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,23 +1,23 @@ │ │ │ │ │ [HTP] │ │ │ │ │ ************ hhttpp oonn--lliinnee rreeffeerreennccee :: OOUUTTPPUUTT ************ │ │ │ │ │ _T_a_b_l_e_ _o_f_ _C_o_n_t_e_n_t_s ********** ssyynnttaaxx ********** │ │ │ │ │ - _I_n_t_r_o_d_u_c_t_i_o_n ********** ssyynnooppssiiss ********** │ │ │ │ │ - _L_i_c_e_n_s_e The OOUUTTPPUUTT tag can be used to create auxillary │ │ │ │ │ - _T_u_t_o_r_i_a_l files besides the main HTML file. The text between │ │ │ │ │ - _U_s_a_g_e this tag and the corresponding </OUTPUT> tag is │ │ │ │ │ - HTP Tags written to output file. │ │ │ │ │ - _A_L_T_T_E_X_T Normally the outputfile is cleared before writing │ │ │ │ │ - _B_L_O_C_K to it, but you can use the APPEND attribute to │ │ │ │ │ - _B_L_O_C_K_D_E_F extend an existing file. The text written to the │ │ │ │ │ - _D_E_F file is normally not expanded, i.e. all tags inside │ │ │ │ │ - _F_I_L_E this block are not executed but written unmodified │ │ │ │ │ - _I_F to the file. However, you can use the _E_X_P_A_N_D │ │ │ │ │ - _I_N_C attribute to override this behaviour. │ │ │ │ │ - _I_M_G │ │ │ │ │ + _I_n_t_r_o_d_u_c_t_i_o_n <_[_[_r_e_f_]_]_I_N_C i="1" j="-1"> │ │ │ │ │ + _L_i_c_e_n_s_e ********** ssyynnooppssiiss ********** │ │ │ │ │ + _T_u_t_o_r_i_a_l The OOUUTTPPUUTT tag can be used to create auxillary │ │ │ │ │ + _U_s_a_g_e files besides the main HTML file. The text between │ │ │ │ │ + HTP Tags this tag and the corresponding </OUTPUT> tag is │ │ │ │ │ + _A_L_T_T_E_X_T written to output file. │ │ │ │ │ + _B_L_O_C_K Normally the outputfile is cleared before writing │ │ │ │ │ + _B_L_O_C_K_D_E_F to it, but you can use the APPEND attribute to │ │ │ │ │ + _D_E_F extend an existing file. The text written to the │ │ │ │ │ + _F_I_L_E file is normally not expanded, i.e. all tags inside │ │ │ │ │ + _I_F this block are not executed but written unmodified │ │ │ │ │ + _I_N_C to the file. However, you can use the _E_X_P_A_N_D │ │ │ │ │ + _I_M_G attribute to override this behaviour. │ │ │ │ │ _I_M_A_G_E_U_R_L │ │ │ │ │ _O_P_T │ │ │ │ │ [>] _O_U_T_P_U_T │ │ │ │ │ _Q_U_O_T_E │ │ │ │ │ _S_E_T │ │ │ │ │ _U_N_D_E_F │ │ │ │ │ _U_N_S_E_T │ │ │ │ │ @@ -29,14 +29,15 @@ │ │ │ │ │ _B_u_g_s │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ _p_a_g_e_ _s_o_u_r_c_e │ │ │ │ │ _h_t_p_ _p_r_o_j_e_c_t │ │ │ │ │ _h_t_p_ _h_o_m_e_p_a_g_e │ │ │ │ │ hosted by │ │ │ │ │ _S_o_u_r_c_e_f_o_r_g_e │ │ │ │ │ HTML coding_[_P_o_w_e_r_e_d_ _b_y │ │ │ │ │ _h_t_p_] │ │ │ ├── ./usr/share/doc/htp/set.html │ │ │ │ @@ -114,19 +114,24 @@ │ │ │ │ <a class="noline" href="bugs.html">Bugs</a></td></tr> │ │ │ │ </table> │ │ │ │ </div> │ │ │ │ </td> │ │ │ │ <td bgcolor="#f0f0d0" rowspan="2" valign="top"> │ │ │ │ <h2>syntax</h2> │ │ │ │ <p><code> │ │ │ │ + <span class="htp-tag"><<a href="inc.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">INC</a> <span class="htp-attrib">i</span>=<span class="htp-string">"1"</span> <span class="htp-attrib">j</span>=<span class="htp-string">"-1"</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <h2>synopsis</h2> │ │ │ │ <STRONG>SET</STRONG> creates a macro definition that can later be expanded │ │ │ │ anywhere in the HTML document. To create a macro: │ │ │ │ <p><code> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IF</a> <span class="htp-attrib">name</span>></span>...<span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/IF</a>></span><br> │ │ │ │ +yz><br> │ │ │ │ + ...<br> │ │ │ │ +<span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/if</a>></span><br> │ │ │ │ </code></p> │ │ │ │ <P> │ │ │ │ The macro "emailaddr" can then be expanded later. The <A HREF="use.html"> │ │ │ │ USE</A> tag is used to expand the macro outside a tag (i.e., into the regular │ │ │ │ text). If the macro needs to be expanded inside a markup tag, use the │ │ │ │ <A HREF="use.html">'$'</A> operator. │ │ │ │ <P> │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,36 +1,41 @@ │ │ │ │ │ [HTP] │ │ │ │ │ ************ hhttpp oonn--lliinnee rreeffeerreennccee :: SSEETT ************ │ │ │ │ │ _T_a_b_l_e_ _o_f_ _C_o_n_t_e_n_t_s ********** ssyynnttaaxx ********** │ │ │ │ │ - _I_n_t_r_o_d_u_c_t_i_o_n ********** ssyynnooppssiiss ********** │ │ │ │ │ - _L_i_c_e_n_s_e SSEETT creates a macro definition that can later be │ │ │ │ │ - _T_u_t_o_r_i_a_l expanded anywhere in the HTML document. To create a │ │ │ │ │ - _U_s_a_g_e macro: │ │ │ │ │ - HTP Tags The macro "emailaddr" can then be expanded later. │ │ │ │ │ - _A_L_T_T_E_X_T The _U_S_E tag is used to expand the macro outside a │ │ │ │ │ - _B_L_O_C_K tag (i.e., into the regular text). If the macro │ │ │ │ │ - _B_L_O_C_K_D_E_F needs to be expanded inside a markup tag, use the │ │ │ │ │ - _D_E_F _'_$_' operator. │ │ │ │ │ - _F_I_L_E Multiple macros can be declared in a single markup │ │ │ │ │ - _I_F tag, as the second syntax line shows. │ │ │ │ │ - _I_N_C SET should only be used for a single line's worth │ │ │ │ │ - _I_M_G of text. Multi-line macros can be defined with the │ │ │ │ │ - _I_M_A_G_E_U_R_L _B_L_O_C_K tag. The _B_L_O_C_K tag is also useful if the │ │ │ │ │ - _O_P_T macro contains a quotation character and you don't │ │ │ │ │ - _O_U_T_P_U_T want to fool around with special escape characters. │ │ │ │ │ - _Q_U_O_T_E Macros can be redefined by using another SET │ │ │ │ │ - [>] _S_E_T command with the same macro name. The prior │ │ │ │ │ - _U_N_D_E_F definition will be destroyed, however. Also, the │ │ │ │ │ - _U_N_S_E_T macro can be removed (destroyed) with the _U_N_S_E_T │ │ │ │ │ - _U_S_E_,_ _$ tag. │ │ │ │ │ - _W_H_I_L_E │ │ │ │ │ - _<_!_-_-_- │ │ │ │ │ - _H_i_s_t_o_r_y │ │ │ │ │ - _W_i_s_h_ _l_i_s_t │ │ │ │ │ - _B_u_g_s │ │ │ │ │ + _I_n_t_r_o_d_u_c_t_i_o_n <_[_[_r_e_f_]_]_I_N_C i="1" j="-1"> │ │ │ │ │ + _L_i_c_e_n_s_e ********** ssyynnooppssiiss ********** │ │ │ │ │ + _T_u_t_o_r_i_a_l SSEETT creates a macro definition that can later be │ │ │ │ │ + _U_s_a_g_e expanded anywhere in the HTML document. To create a │ │ │ │ │ + HTP Tags macro: │ │ │ │ │ + _A_L_T_T_E_X_T <_[_[_r_e_f_]_]_I_F name>...<_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ + _B_L_O_C_K yz> │ │ │ │ │ + _B_L_O_C_K_D_E_F ... │ │ │ │ │ + _D_E_F <_[_[_r_e_f_]_]_/_i_f> │ │ │ │ │ + _F_I_L_E The macro "emailaddr" can then be expanded later. │ │ │ │ │ + _I_F The _U_S_E tag is used to expand the macro outside a │ │ │ │ │ + _I_N_C tag (i.e., into the regular text). If the macro │ │ │ │ │ + _I_M_G needs to be expanded inside a markup tag, use the │ │ │ │ │ + _I_M_A_G_E_U_R_L _'_$_' operator. │ │ │ │ │ + _O_P_T Multiple macros can be declared in a single markup │ │ │ │ │ + _O_U_T_P_U_T tag, as the second syntax line shows. │ │ │ │ │ + _Q_U_O_T_E SET should only be used for a single line's worth │ │ │ │ │ + [>] _S_E_T of text. Multi-line macros can be defined with the │ │ │ │ │ + _U_N_D_E_F _B_L_O_C_K tag. The _B_L_O_C_K tag is also useful if the │ │ │ │ │ + _U_N_S_E_T macro contains a quotation character and you don't │ │ │ │ │ + _U_S_E_,_ _$ want to fool around with special escape characters. │ │ │ │ │ + _W_H_I_L_E Macros can be redefined by using another SET │ │ │ │ │ + _<_!_-_-_- command with the same macro name. The prior │ │ │ │ │ + _H_i_s_t_o_r_y definition will be destroyed, however. Also, the │ │ │ │ │ + _W_i_s_h_ _l_i_s_t macro can be removed (destroyed) with the _U_N_S_E_T │ │ │ │ │ + _B_u_g_s tag. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ ├── ./usr/share/doc/htp/tut/jh.html │ │ │ │ @@ -16,10 +16,10 @@ │ │ │ │ <tr><td><b>Phone:</b></td><td>+49 761 203-8243</td></tr> │ │ │ │ <tr><td><b>Fax:</b></td><td>+49 761 203-8242</td></tr> │ │ │ │ </table> │ │ │ │ </td></tr> │ │ │ │ </table> │ │ │ │ <hr> │ │ │ │ Copyright by <a href="mailto:webmaster@domain.com">Joe Doe</a>.<br> │ │ │ │ - last updated Sun Mar 09, 2025 │ │ │ │ + last updated Sat Apr 11, 2026 │ │ │ │ </body> │ │ │ │ </html> │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,8 +1,8 @@ │ │ │ │ │ ************ JJoocchheenn HHooeenniicckkee ************ │ │ │ │ │ Navigation bar [Photo] │ │ │ │ │ _M_a_i_n RRoooomm:: Bld.52 00-020 │ │ │ │ │ _E_x_a_m_p_l_e PPhhoonnee:: +49 761 203-8243 │ │ │ │ │ FFaaxx:: +49 761 203-8242 │ │ │ │ │ =============================================================================== │ │ │ │ │ Copyright by _J_o_e_ _D_o_e. │ │ │ │ │ -last updated Sun Mar 09, 2025 │ │ │ │ │ +last updated Sat Apr 11, 2026 │ │ │ ├── ./usr/share/doc/htp/tut/tut1.html │ │ │ │ @@ -5,9 +5,9 @@ │ │ │ │ <meta name="Generator" content="htp 1.19"> │ │ │ │ </head> │ │ │ │ <body> │ │ │ │ This page was produced by htp. │ │ │ │ <hr> │ │ │ │ Copyright by Joe Doe, │ │ │ │ <a href="mailto:webmaster@domain.com">webmaster@domain.com</a>, │ │ │ │ -last updated Sun Mar 09, 2025 │ │ │ │ +last updated Sat Apr 11, 2026 │ │ │ │ </body> │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,3 +1,3 @@ │ │ │ │ │ This page was produced by htp. │ │ │ │ │ =============================================================================== │ │ │ │ │ -Copyright by Joe Doe, _w_e_b_m_a_s_t_e_r_@_d_o_m_a_i_n_._c_o_m, last updated Sun Mar 09, 2025 │ │ │ │ │ +Copyright by Joe Doe, _w_e_b_m_a_s_t_e_r_@_d_o_m_a_i_n_._c_o_m, last updated Sat Apr 11, 2026 │ │ │ ├── ./usr/share/doc/htp/tut/tut2.html │ │ │ │ @@ -13,10 +13,10 @@ │ │ │ │ <p> │ │ │ │ As you can see the file contains almost only the contents. │ │ │ │ </p> │ │ │ │ </td></tr> │ │ │ │ </table> │ │ │ │ <hr> │ │ │ │ Copyright by <a href="mailto:webmaster@domain.com">Joe Doe</a>.<br> │ │ │ │ - last updated Sun Mar 09, 2025 │ │ │ │ + last updated Sat Apr 11, 2026 │ │ │ │ </body> │ │ │ │ </html> │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,6 +1,6 @@ │ │ │ │ │ Navigation bar ********** HHeerree iiss tthhee ccoonntteenntt ********** │ │ │ │ │ _M_a_i_n As you can see the file contains almost only the contents. │ │ │ │ │ _E_x_a_m_p_l_e │ │ │ │ │ =============================================================================== │ │ │ │ │ Copyright by _J_o_e_ _D_o_e. │ │ │ │ │ -last updated Sun Mar 09, 2025 │ │ │ │ │ +last updated Sat Apr 11, 2026 │ │ │ ├── ./usr/share/doc/htp/tut/tut3.html │ │ │ │ @@ -13,10 +13,10 @@ │ │ │ │ <p> │ │ │ │ As you can see the file contains almost only the contents. │ │ │ │ </p> │ │ │ │ </td></tr> │ │ │ │ </table> │ │ │ │ <hr> │ │ │ │ Copyright by <a href="webmaster@domain.com">Joe Doe</a>.<br> │ │ │ │ - last updated Sun Mar 09, 2025 │ │ │ │ + last updated Sat Apr 11, 2026 │ │ │ │ </body> │ │ │ │ </html> │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,6 +1,6 @@ │ │ │ │ │ Navigation bar ********** HHeerree aarree tthhee ccoonntteennttss ********** │ │ │ │ │ _M_a_i_n As you can see the file contains almost only the contents. │ │ │ │ │ _E_x_a_m_p_l_e │ │ │ │ │ =============================================================================== │ │ │ │ │ Copyright by _J_o_e_ _D_o_e. │ │ │ │ │ -last updated Sun Mar 09, 2025 │ │ │ │ │ +last updated Sat Apr 11, 2026 │ │ │ ├── ./usr/share/doc/htp/undef.html │ │ │ │ @@ -114,14 +114,15 @@ │ │ │ │ <a class="noline" href="bugs.html">Bugs</a></td></tr> │ │ │ │ </table> │ │ │ │ </div> │ │ │ │ </td> │ │ │ │ <td bgcolor="#f0f0d0" rowspan="2" valign="top"> │ │ │ │ <h2>syntax</h2> │ │ │ │ <p><code> │ │ │ │ + <span class="htp-tag"><<a href="inc.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">INC</a> <span class="htp-attrib">i</span>=<span class="htp-string">"1"</span> <span class="htp-attrib">j</span>=<span class="htp-string">"-1"</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <h2>synopsis</h2> │ │ │ │ <P><STRONG>UNDEF</STRONG> removes a metatag definition. Metatags │ │ │ │ created by <A HREF="def.html">DEF</A> and <A │ │ │ │ HREF="blockdef.html">BLOCKDEF</A> can be removed with the UNDEF │ │ │ │ command. Once removed, the metatag will no longer be recognized by │ │ │ │ htp until it is reassigned. </P> │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,18 +1,18 @@ │ │ │ │ │ [HTP] │ │ │ │ │ ************ hhttpp oonn--lliinnee rreeffeerreennccee :: UUNNDDEEFF ************ │ │ │ │ │ _T_a_b_l_e_ _o_f_ _C_o_n_t_e_n_t_s ********** ssyynnttaaxx ********** │ │ │ │ │ - _I_n_t_r_o_d_u_c_t_i_o_n ********** ssyynnooppssiiss ********** │ │ │ │ │ - _L_i_c_e_n_s_e UUNNDDEEFF removes a metatag definition. Metatags │ │ │ │ │ - _T_u_t_o_r_i_a_l created by _D_E_F and _B_L_O_C_K_D_E_F can be removed with the │ │ │ │ │ - _U_s_a_g_e UNDEF command. Once removed, the metatag will no │ │ │ │ │ - HTP Tags longer be recognized by htp until it is reassigned. │ │ │ │ │ - _A_L_T_T_E_X_T Multiple metatags can be removed by placing each │ │ │ │ │ - _B_L_O_C_K name as an attribute. │ │ │ │ │ - _B_L_O_C_K_D_E_F │ │ │ │ │ + _I_n_t_r_o_d_u_c_t_i_o_n <_[_[_r_e_f_]_]_I_N_C i="1" j="-1"> │ │ │ │ │ + _L_i_c_e_n_s_e ********** ssyynnooppssiiss ********** │ │ │ │ │ + _T_u_t_o_r_i_a_l UUNNDDEEFF removes a metatag definition. Metatags │ │ │ │ │ + _U_s_a_g_e created by _D_E_F and _B_L_O_C_K_D_E_F can be removed with the │ │ │ │ │ + HTP Tags UNDEF command. Once removed, the metatag will no │ │ │ │ │ + _A_L_T_T_E_X_T longer be recognized by htp until it is reassigned. │ │ │ │ │ + _B_L_O_C_K Multiple metatags can be removed by placing each │ │ │ │ │ + _B_L_O_C_K_D_E_F name as an attribute. │ │ │ │ │ _D_E_F │ │ │ │ │ _F_I_L_E │ │ │ │ │ _I_F │ │ │ │ │ _I_N_C │ │ │ │ │ _I_M_G │ │ │ │ │ _I_M_A_G_E_U_R_L │ │ │ │ │ _O_P_T │ │ │ │ │ @@ -24,14 +24,15 @@ │ │ │ │ │ _U_S_E_,_ _$ │ │ │ │ │ _W_H_I_L_E │ │ │ │ │ _<_!_-_-_- │ │ │ │ │ _H_i_s_t_o_r_y │ │ │ │ │ _W_i_s_h_ _l_i_s_t │ │ │ │ │ _B_u_g_s │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ _p_a_g_e_ _s_o_u_r_c_e │ │ │ │ │ _h_t_p_ _p_r_o_j_e_c_t │ │ │ │ │ _h_t_p_ _h_o_m_e_p_a_g_e │ │ │ │ │ hosted by │ │ │ │ │ _S_o_u_r_c_e_f_o_r_g_e │ │ │ │ │ HTML coding_[_P_o_w_e_r_e_d_ _b_y │ │ │ │ │ _h_t_p_] │ │ │ ├── ./usr/share/doc/htp/unset.html │ │ │ │ @@ -114,30 +114,57 @@ │ │ │ │ <a class="noline" href="bugs.html">Bugs</a></td></tr> │ │ │ │ </table> │ │ │ │ </div> │ │ │ │ </td> │ │ │ │ <td bgcolor="#f0f0d0" rowspan="2" valign="top"> │ │ │ │ <h2>syntax</h2> │ │ │ │ <p><code> │ │ │ │ + <span class="htp-tag"><<a href="set.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">SET</a> <span class="htp-attrib">emailaddr</span>=<span class="htp-string">"jnelson@crl.com"</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <h2>synopsis</h2> │ │ │ │ <STRONG>UNSET</STRONG> removes (or deletes) a macro and it's definition. │ │ │ │ The macro is subsequently not available for use in the pre-processed files. │ │ │ │ (Note that simply redefining the macro with another <A HREF="set.html">SET</A> or │ │ │ │ <A HREF="block.html">BLOCK</A> definition with the same name is acceptable. The │ │ │ │ old macro definition will be removed automatically.) │ │ │ │ <P> │ │ │ │ For example: │ │ │ │ <p><code> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IF</a> <span class="htp-attrib">name</span>></span>...<span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/IF</a>></span><br> │ │ │ │ +yz><br> │ │ │ │ + ...<br> │ │ │ │ +<span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/if</a>></span><br> │ │ │ │ </code></p> │ │ │ │ <P> │ │ │ │ More than one macro may be removed in the same tag: │ │ │ │ <p><code> │ │ │ │ - <span class="htp-tag"><<a href="unset.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">unset</a> <span class="htp-attrib">email_addr</span> <span class="htp-attrib">home_url</span> <span class="htp-attrib">login_name</span>></span><br> │ │ │ │ -LE TIME>, <span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">FILE</a> <span class="htp-attrib">DATE</span>></span><span class="htp-tag"></EM></span><br> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">DEF</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"HEADERIMG"</span> <span class="htp-attrib">OPTION</span>=<span class="htp-string">"SRC TITLE SIZE"</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IF</a> <span class="htp-attrib">size</span>></span><br> │ │ │ │ + <span class="htp-tag"><FONT <span class="htp-attrib">SIZE</span>=<span class="htp-value"><span class="htp-macro">${size}</span></span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/IF</a>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IMG</a> <span class="htp-attrib">SRC</span>=<span class="htp-value">pics/<span class="htp-macro">${src}</span></span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="use.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">USE</a> <span class="htp-attrib">title</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IF</a> <span class="htp-attrib">size</span>></span><br> │ │ │ │ + <span class="htp-tag"></FONT></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/IF</a>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/DEF</a>></span><br> │ │ │ │ +<br> │ │ │ │ + <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">SIZE</span>=<span class="htp-string">"+2"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"A title"</span>></span><br> │ │ │ │ +<br> │ │ │ │ + <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"Normal sized title"</span>></span><br> │ │ │ │ +<br> │ │ │ │ + This will fail:<br> │ │ │ │ + <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">ALT</span>=<span class="htp-string">"Our logo"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"Another title"</span>></span><br> │ │ │ │ +<br> │ │ │ │ + Instead, use * like this:<br> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">DEF</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"MYIMG"</span> <span class="htp-attrib">OPTION</span>=<span class="htp-string">"SRC *"</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IMG</a> <span class="htp-attrib">SRC</span>=<span class="htp-string">"pics/<span class="htp-macro">${src}</span>"</span> <span class="htp-attrib"><span class="htp-macro">$*</span></span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/DEF</a>></span><br> │ │ │ │ + <br> │ │ │ │ + <span class="htp-tag"><MYIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">ALT</span>=<span class="htp-string">"Our logo"</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <p> │ │ │ │ </td> │ │ │ │ </tr> │ │ │ │ <tr> │ │ │ │ <td width="20%" bgcolor="white" valign="bottom"> │ │ │ │ <table border="0" cellspacing="0" cellpadding="0" width="100%"> │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,36 +1,67 @@ │ │ │ │ │ [HTP] │ │ │ │ │ ************ hhttpp oonn--lliinnee rreeffeerreennccee :: UUNNSSEETT ************ │ │ │ │ │ _T_a_b_l_e_ _o_f_ _C_o_n_t_e_n_t_s ********** ssyynnttaaxx ********** │ │ │ │ │ - _I_n_t_r_o_d_u_c_t_i_o_n ********** ssyynnooppssiiss ********** │ │ │ │ │ - _L_i_c_e_n_s_e UUNNSSEETT removes (or deletes) a macro and it's │ │ │ │ │ - _T_u_t_o_r_i_a_l definition. The macro is subsequently not available │ │ │ │ │ - _U_s_a_g_e for use in the pre-processed files. (Note that │ │ │ │ │ - HTP Tags simply redefining the macro with another _S_E_T or │ │ │ │ │ - _A_L_T_T_E_X_T _B_L_O_C_K definition with the same name is acceptable. │ │ │ │ │ - _B_L_O_C_K The old macro definition will be removed │ │ │ │ │ - _B_L_O_C_K_D_E_F automatically.) │ │ │ │ │ - _D_E_F For example: │ │ │ │ │ - _F_I_L_E More than one macro may be removed in the same tag: │ │ │ │ │ - _I_F <_[_[_r_e_f_]_]_u_n_s_e_t email_addr home_url login_name> │ │ │ │ │ - _I_N_C LE TIME>, <_[_[_r_e_f_]_]_F_I_L_E DATE></EM> │ │ │ │ │ - _I_M_G │ │ │ │ │ - _I_M_A_G_E_U_R_L │ │ │ │ │ - _O_P_T │ │ │ │ │ - _O_U_T_P_U_T │ │ │ │ │ - _Q_U_O_T_E │ │ │ │ │ - _S_E_T │ │ │ │ │ - _U_N_D_E_F │ │ │ │ │ - [>] _U_N_S_E_T │ │ │ │ │ - _U_S_E_,_ _$ │ │ │ │ │ - _W_H_I_L_E │ │ │ │ │ - _<_!_-_-_- │ │ │ │ │ - _H_i_s_t_o_r_y │ │ │ │ │ - _W_i_s_h_ _l_i_s_t │ │ │ │ │ - _B_u_g_s │ │ │ │ │ + _I_n_t_r_o_d_u_c_t_i_o_n <_[_[_r_e_f_]_]_S_E_T emailaddr="jnelson@crl.com"> │ │ │ │ │ + _L_i_c_e_n_s_e ********** ssyynnooppssiiss ********** │ │ │ │ │ + _T_u_t_o_r_i_a_l UUNNSSEETT removes (or deletes) a macro and it's │ │ │ │ │ + _U_s_a_g_e definition. The macro is subsequently not available │ │ │ │ │ + HTP Tags for use in the pre-processed files. (Note that │ │ │ │ │ + _A_L_T_T_E_X_T simply redefining the macro with another _S_E_T or │ │ │ │ │ + _B_L_O_C_K _B_L_O_C_K definition with the same name is acceptable. │ │ │ │ │ + _B_L_O_C_K_D_E_F The old macro definition will be removed │ │ │ │ │ + _D_E_F automatically.) │ │ │ │ │ + _F_I_L_E For example: │ │ │ │ │ + _I_F <_[_[_r_e_f_]_]_I_F name>...<_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ + _I_N_C yz> │ │ │ │ │ + _I_M_G ... │ │ │ │ │ + _I_M_A_G_E_U_R_L <_[_[_r_e_f_]_]_/_i_f> │ │ │ │ │ + _O_P_T More than one macro may be removed in the same tag: │ │ │ │ │ + _O_U_T_P_U_T <_[_[_r_e_f_]_]_D_E_F NAME="HEADERIMG" OPTION="SRC TITLE │ │ │ │ │ + _Q_U_O_T_E SIZE"> │ │ │ │ │ + _S_E_T <_[_[_r_e_f_]_]_I_F size> │ │ │ │ │ + _U_N_D_E_F <FONT SIZE=${size}> │ │ │ │ │ + [>] _U_N_S_E_T <_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ + _U_S_E_,_ _$ <_[_[_r_e_f_]_]_I_M_G SRC=pics/${src}> │ │ │ │ │ + _W_H_I_L_E <_[_[_r_e_f_]_]_U_S_E title> │ │ │ │ │ + _<_!_-_-_- <_[_[_r_e_f_]_]_I_F size> │ │ │ │ │ + _H_i_s_t_o_r_y </FONT> │ │ │ │ │ + _W_i_s_h_ _l_i_s_t <_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ + _B_u_g_s <_[_[_r_e_f_]_]_/_D_E_F> │ │ │ │ │ + │ │ │ │ │ + <HEADERIMG SRC="logo.gif" SIZE="+2" TITLE="A │ │ │ │ │ + title"> │ │ │ │ │ + │ │ │ │ │ + <HEADERIMG SRC="logo.gif" TITLE="Normal sized │ │ │ │ │ + title"> │ │ │ │ │ + │ │ │ │ │ + This will fail: │ │ │ │ │ + <HEADERIMG SRC="logo.gif" ALT="Our logo" │ │ │ │ │ + TITLE="Another title"> │ │ │ │ │ + │ │ │ │ │ + Instead, use * like this: │ │ │ │ │ + <_[_[_r_e_f_]_]_D_E_F NAME="MYIMG" OPTION="SRC *"> │ │ │ │ │ + <_[_[_r_e_f_]_]_I_M_G SRC="pics/${src}" $*> │ │ │ │ │ + <_[_[_r_e_f_]_]_/_D_E_F> │ │ │ │ │ + │ │ │ │ │ + <MYIMG SRC="logo.gif" ALT="Our logo"> │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ _p_a_g_e_ _s_o_u_r_c_e │ │ │ ├── ./usr/share/doc/htp/use.html │ │ │ │ @@ -114,14 +114,15 @@ │ │ │ │ <a class="noline" href="bugs.html">Bugs</a></td></tr> │ │ │ │ </table> │ │ │ │ </div> │ │ │ │ </td> │ │ │ │ <td bgcolor="#f0f0d0" rowspan="2" valign="top"> │ │ │ │ <h2>syntax</h2> │ │ │ │ <p><code> │ │ │ │ + <span class="htp-tag"><<a href="set.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">SET</a> <span class="htp-attrib">emailaddr</span>=<span class="htp-string">"jnelson@crl.com"</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <h2>synopsis</h2> │ │ │ │ <strong>USE</strong> will expand macros that have been previously │ │ │ │ declared with either <A HREF="set.html">SET</A> or <A │ │ │ │ HREF="block.html">BLOCK</A>. USE can only be used outside of other │ │ │ │ markup tags. │ │ │ │ <p> If you USE a block macro the value of expanded block macros will │ │ │ │ @@ -131,16 +132,14 @@ │ │ │ │ attribute to prevent further expansion. </p> │ │ │ │ <p> USE will accept additional parameters, which are "local" macros │ │ │ │ for the expanded macro. This is only valid for <A │ │ │ │ HREF="block.html">BLOCK</A> macros. Macros created using <A │ │ │ │ HREF="set.html">SET</A> cannot have parameters passed. For │ │ │ │ example:</p> │ │ │ │ <p><code> │ │ │ │ -<font size="-2"> 1. </font> <span class="htp-tag"><<a href="unset.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">unset</a> <span class="htp-attrib">email_addr</span> <span class="htp-attrib">home_url</span> <span class="htp-attrib">login_name</span>></span><br> │ │ │ │ -<font size="-2"> 2. </font>LE TIME>, <span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">FILE</a> <span class="htp-attrib">DATE</span>></span><span class="htp-tag"></EM></span><br> │ │ │ │ </code></p> │ │ │ │ <P> │ │ │ │ (See below for a description of the '$' operator.) The example on │ │ │ │ line 7 works because "stuff" has been declared as a block macro, and │ │ │ │ the tag is passing the "email" macro to the "stuff" macro. Line 8 │ │ │ │ fails because the "email" macro is unavailable once the block macro is │ │ │ │ completely expanded, and cannot be passed to a SET macro. │ │ │ │ @@ -151,21 +150,38 @@ │ │ │ │ Inside a markup tag, like <a href="img.html">IMG</a>, A (anchor), or │ │ │ │ any other standard HTML or htp tag, the '$' operator must be used. │ │ │ │ The '$' should be immediately followed by the macro name, which may or │ │ │ │ may not be surrounded by curly braces. When htp encounters this it │ │ │ │ replaces the macro name by the contents of the macro without further │ │ │ │ processing the contents. │ │ │ │ <p><code> │ │ │ │ -<font size="-2"> 1. </font><span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">file</a> <span class="htp-attrib">include</span>=<span class="htp-string">"header.hti"</span>></span><br> │ │ │ │ -<font size="-2"> 2. </font> <span class="htp-tag"><<a href="set.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">set</a> <span class="htp-attrib">sect-ctr</span>=<span class="htp-string">"1"</span>></span><br> │ │ │ │ -<font size="-2"> 3. </font> <span class="htp-tag"><<a href="while.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">while</a> <span class="htp-attrib">sect-<span class="htp-macro">${sect-ctr}</span></span>></span><br> │ │ │ │ -<font size="-2"> 4. </font> <span class="htp-tag"><<a href="use.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">use</a> <span class="htp-attrib">sect-<span class="htp-macro">${sect-ctr}</span></span>></span><br> │ │ │ │ -<font size="-2"> 5. </font> <span class="htp-tag"><<a href="inc.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">inc</a> <span class="htp-attrib">sect-ctr</span>></span><br> │ │ │ │ -<font size="-2"> 6. </font> <span class="htp-tag"><<a href="while.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/while</a>></span><br> │ │ │ │ -<font size="-2"> 7. </font><span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">file</a> <span class="htp-attrib">include</span>=<span class="htp-string">"footer.hti"</span>></span><br> │ │ │ │ +<font size="-2"> 1. </font> <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">DEF</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"HEADERIMG"</span> <span class="htp-attrib">OPTION</span>=<span class="htp-string">"SRC TITLE SIZE"</span>></span><br> │ │ │ │ +<font size="-2"> 2. </font> <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IF</a> <span class="htp-attrib">size</span>></span><br> │ │ │ │ +<font size="-2"> 3. </font> <span class="htp-tag"><FONT <span class="htp-attrib">SIZE</span>=<span class="htp-value"><span class="htp-macro">${size}</span></span>></span><br> │ │ │ │ +<font size="-2"> 4. </font> <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/IF</a>></span><br> │ │ │ │ +<font size="-2"> 5. </font> <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IMG</a> <span class="htp-attrib">SRC</span>=<span class="htp-value">pics/<span class="htp-macro">${src}</span></span>></span><br> │ │ │ │ +<font size="-2"> 6. </font> <span class="htp-tag"><<a href="use.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">USE</a> <span class="htp-attrib">title</span>></span><br> │ │ │ │ +<font size="-2"> 7. </font> <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IF</a> <span class="htp-attrib">size</span>></span><br> │ │ │ │ +<font size="-2"> 8. </font> <span class="htp-tag"></FONT></span><br> │ │ │ │ +<font size="-2"> 9. </font> <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/IF</a>></span><br> │ │ │ │ +<font size="-2">10. </font> <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/DEF</a>></span><br> │ │ │ │ +<font size="-2">11. </font><br> │ │ │ │ +<font size="-2">12. </font> <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">SIZE</span>=<span class="htp-string">"+2"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"A title"</span>></span><br> │ │ │ │ +<font size="-2">13. </font><br> │ │ │ │ +<font size="-2">14. </font> <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"Normal sized title"</span>></span><br> │ │ │ │ +<font size="-2">15. </font><br> │ │ │ │ +<font size="-2">16. </font> This will fail:<br> │ │ │ │ +<font size="-2">17. </font> <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">ALT</span>=<span class="htp-string">"Our logo"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"Another title"</span>></span><br> │ │ │ │ +<font size="-2">18. </font><br> │ │ │ │ +<font size="-2">19. </font> Instead, use * like this:<br> │ │ │ │ +<font size="-2">20. </font> <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">DEF</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"MYIMG"</span> <span class="htp-attrib">OPTION</span>=<span class="htp-string">"SRC *"</span>></span><br> │ │ │ │ +<font size="-2">21. </font> <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IMG</a> <span class="htp-attrib">SRC</span>=<span class="htp-string">"pics/<span class="htp-macro">${src}</span>"</span> <span class="htp-attrib"><span class="htp-macro">$*</span></span>></span><br> │ │ │ │ +<font size="-2">22. </font> <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/DEF</a>></span><br> │ │ │ │ +<font size="-2">23. </font> <br> │ │ │ │ +<font size="-2">24. </font> <span class="htp-tag"><MYIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">ALT</span>=<span class="htp-string">"Our logo"</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <P> │ │ │ │ The use of curly braces is encouraged, since it is more robust and │ │ │ │ should never cause confusion with surrounding text. If no curly │ │ │ │ braces are used the macro name consists either of a single punctuation │ │ │ │ character or the maximum sequence of letters, digits, "-" │ │ │ │ and "_" that follows it. │ │ │ │ @@ -179,15 +195,21 @@ │ │ │ │ delimiting the text as if it were additional markup attributes. │ │ │ │ If the '$' macro is surrounded by other text (as in the two examples above), │ │ │ │ quotation marks are not automatically supplied. │ │ │ │ <P> │ │ │ │ Note that a '$' macro can be placed anywhere in a markup tag and can │ │ │ │ be nested. This is valid: │ │ │ │ <p><code> │ │ │ │ - <span class="htp-tag"><<span class="htp-macro">${tagName}</span> <span class="htp-attrib"><span class="htp-macro">${attrName}</span></span>=<span class="htp-value"><span class="htp-macro">${value$ctr}</span></span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="set.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">set</a> <span class="htp-attrib">sect-ctr</span>=<span class="htp-string">"0"</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="blockdef.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">blockdef</a> <span class="htp-attrib">name</span>=<span class="htp-string">"section"</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="inc.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">inc</a> <span class="htp-attrib">sect-ctr</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="block.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">block</a> <span class="htp-attrib">name</span>=<span class="htp-string">"sect-<span class="htp-macro">${sect-ctr}</span>"</span> <span class="htp-attrib">expand</span> <span class="htp-attrib">global</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="use.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">use</a> <span class="htp-attrib">block</span> <span class="htp-attrib">noexpand</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="block.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/block</a>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="blockdef.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/blockdef</a>></span><br> │ │ │ │ </code></p> │ │ │ │ <P> The tagName macro can contain any tag name, even a self-defined │ │ │ │ metatag. Note that <code>$ctr</code> is expanded before the valueX │ │ │ │ macro is expanded, so assuming that ctr was set to 1 it will expand │ │ │ │ value1. │ │ │ │ <p> │ │ │ │ </td> │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,51 +1,70 @@ │ │ │ │ │ [HTP] │ │ │ │ │ ************ hhttpp oonn--lliinnee rreeffeerreennccee :: UUSSEE,, $$ ************ │ │ │ │ │ _T_a_b_l_e_ _o_f_ _C_o_n_t_e_n_t_s ********** ssyynnttaaxx ********** │ │ │ │ │ - _I_n_t_r_o_d_u_c_t_i_o_n ********** ssyynnooppssiiss ********** │ │ │ │ │ - _L_i_c_e_n_s_e UUSSEE will expand macros that have been previously │ │ │ │ │ - _T_u_t_o_r_i_a_l declared with either _S_E_T or _B_L_O_C_K. USE can only be │ │ │ │ │ - _U_s_a_g_e used outside of other markup tags. │ │ │ │ │ - HTP Tags If you USE a block macro the value of expanded │ │ │ │ │ - _A_L_T_T_E_X_T block macros will be further parsed by htp. This is │ │ │ │ │ - _B_L_O_C_K maybe not what you want, for example, if the use is │ │ │ │ │ - _B_L_O_C_K_D_E_F inside a block which _e_x_p_a_n_d_s itself. You can use │ │ │ │ │ - _D_E_F the noexpand attribute to prevent further │ │ │ │ │ - _F_I_L_E expansion. │ │ │ │ │ - _I_F USE will accept additional parameters, which are │ │ │ │ │ - _I_N_C "local" macros for the expanded macro. This is only │ │ │ │ │ - _I_M_G valid for _B_L_O_C_K macros. Macros created using _S_E_T │ │ │ │ │ - _I_M_A_G_E_U_R_L cannot have parameters passed. For example: │ │ │ │ │ - _O_P_T 1. <_[_[_r_e_f_]_]_u_n_s_e_t email_addr home_url │ │ │ │ │ - _O_U_T_P_U_T login_name> │ │ │ │ │ - _Q_U_O_T_E 2. LE TIME>, <_[_[_r_e_f_]_]_F_I_L_E DATE></EM> │ │ │ │ │ - _S_E_T (See below for a description of the '$' operator.) │ │ │ │ │ - _U_N_D_E_F The example on line 7 works because "stuff" has │ │ │ │ │ - _U_N_S_E_T been declared as a block macro, and the tag is │ │ │ │ │ - [>] _U_S_E_,_ _$ passing the "email" macro to the "stuff" macro. │ │ │ │ │ - _W_H_I_L_E Line 8 fails because the "email" macro is │ │ │ │ │ - _<_!_-_-_- unavailable once the block macro is completely │ │ │ │ │ - _H_i_s_t_o_r_y expanded, and cannot be passed to a SET macro. │ │ │ │ │ - _W_i_s_h_ _l_i_s_t Note that the "email" macro is available to other │ │ │ │ │ - _B_u_g_s macros or included files called within the "stuff" │ │ │ │ │ - block. │ │ │ │ │ - Inside a markup tag, like _I_M_G, A (anchor), or any │ │ │ │ │ + _I_n_t_r_o_d_u_c_t_i_o_n <_[_[_r_e_f_]_]_S_E_T emailaddr="jnelson@crl.com"> │ │ │ │ │ + _L_i_c_e_n_s_e ********** ssyynnooppssiiss ********** │ │ │ │ │ + _T_u_t_o_r_i_a_l UUSSEE will expand macros that have been previously │ │ │ │ │ + _U_s_a_g_e declared with either _S_E_T or _B_L_O_C_K. USE can only be │ │ │ │ │ + HTP Tags used outside of other markup tags. │ │ │ │ │ + _A_L_T_T_E_X_T If you USE a block macro the value of expanded │ │ │ │ │ + _B_L_O_C_K block macros will be further parsed by htp. This is │ │ │ │ │ + _B_L_O_C_K_D_E_F maybe not what you want, for example, if the use is │ │ │ │ │ + _D_E_F inside a block which _e_x_p_a_n_d_s itself. You can use │ │ │ │ │ + _F_I_L_E the noexpand attribute to prevent further │ │ │ │ │ + _I_F expansion. │ │ │ │ │ + _I_N_C USE will accept additional parameters, which are │ │ │ │ │ + _I_M_G "local" macros for the expanded macro. This is only │ │ │ │ │ + _I_M_A_G_E_U_R_L valid for _B_L_O_C_K macros. Macros created using _S_E_T │ │ │ │ │ + _O_P_T cannot have parameters passed. For example: │ │ │ │ │ + _O_U_T_P_U_T (See below for a description of the '$' operator.) │ │ │ │ │ + _Q_U_O_T_E The example on line 7 works because "stuff" has │ │ │ │ │ + _S_E_T been declared as a block macro, and the tag is │ │ │ │ │ + _U_N_D_E_F passing the "email" macro to the "stuff" macro. │ │ │ │ │ + _U_N_S_E_T Line 8 fails because the "email" macro is │ │ │ │ │ + [>] _U_S_E_,_ _$ unavailable once the block macro is completely │ │ │ │ │ + _W_H_I_L_E expanded, and cannot be passed to a SET macro. │ │ │ │ │ + _<_!_-_-_- Note that the "email" macro is available to other │ │ │ │ │ + _H_i_s_t_o_r_y macros or included files called within the "stuff" │ │ │ │ │ + _W_i_s_h_ _l_i_s_t block. │ │ │ │ │ + _B_u_g_s Inside a markup tag, like _I_M_G, A (anchor), or any │ │ │ │ │ other standard HTML or htp tag, the '$' operator │ │ │ │ │ must be used. The '$' should be immediately │ │ │ │ │ followed by the macro name, which may or may not be │ │ │ │ │ surrounded by curly braces. When htp encounters │ │ │ │ │ this it replaces the macro name by the contents of │ │ │ │ │ the macro without further processing the contents. │ │ │ │ │ - 1. <_[_[_r_e_f_]_]_f_i_l_e include="header.hti"> │ │ │ │ │ - 2. <_[_[_r_e_f_]_]_s_e_t sect-ctr="1"> │ │ │ │ │ - 3. <_[_[_r_e_f_]_]_w_h_i_l_e sect-${sect-ctr}> │ │ │ │ │ - 4. <_[_[_r_e_f_]_]_u_s_e sect-${sect-ctr}> │ │ │ │ │ - 5. <_[_[_r_e_f_]_]_i_n_c sect-ctr> │ │ │ │ │ - 6. <_[_[_r_e_f_]_]_/_w_h_i_l_e> │ │ │ │ │ - 7. <_[_[_r_e_f_]_]_f_i_l_e include="footer.hti"> │ │ │ │ │ + 1. <_[_[_r_e_f_]_]_D_E_F NAME="HEADERIMG" OPTION="SRC │ │ │ │ │ + TITLE SIZE"> │ │ │ │ │ + 2. <_[_[_r_e_f_]_]_I_F size> │ │ │ │ │ + 3. <FONT SIZE=${size}> │ │ │ │ │ + 4. <_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ + 5. <_[_[_r_e_f_]_]_I_M_G SRC=pics/${src}> │ │ │ │ │ + 6. <_[_[_r_e_f_]_]_U_S_E title> │ │ │ │ │ + 7. <_[_[_r_e_f_]_]_I_F size> │ │ │ │ │ + 8. </FONT> │ │ │ │ │ + 9. <_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ + 10. <_[_[_r_e_f_]_]_/_D_E_F> │ │ │ │ │ + 11. │ │ │ │ │ + 12. <HEADERIMG SRC="logo.gif" SIZE="+2" TITLE="A │ │ │ │ │ + title"> │ │ │ │ │ + 13. │ │ │ │ │ + 14. <HEADERIMG SRC="logo.gif" TITLE="Normal sized │ │ │ │ │ + title"> │ │ │ │ │ + 15. │ │ │ │ │ + 16. This will fail: │ │ │ │ │ + 17. <HEADERIMG SRC="logo.gif" ALT="Our logo" │ │ │ │ │ + TITLE="Another title"> │ │ │ │ │ + 18. │ │ │ │ │ + 19. Instead, use * like this: │ │ │ │ │ + 20. <_[_[_r_e_f_]_]_D_E_F NAME="MYIMG" OPTION="SRC *"> │ │ │ │ │ + 21. <_[_[_r_e_f_]_]_I_M_G SRC="pics/${src}" $*> │ │ │ │ │ + 22. <_[_[_r_e_f_]_]_/_D_E_F> │ │ │ │ │ + 23. │ │ │ │ │ + 24. <MYIMG SRC="logo.gif" ALT="Our logo"> │ │ │ │ │ The use of curly braces is encouraged, since it is │ │ │ │ │ more robust and should never cause confusion with │ │ │ │ │ surrounding text. If no curly braces are used the │ │ │ │ │ macro name consists either of a single punctuation │ │ │ │ │ character or the maximum sequence of letters, │ │ │ │ │ digits, "-" and "_" that follows it. │ │ │ │ │ If a '$' character needs to be kept in the final │ │ │ │ │ @@ -57,15 +76,22 @@ │ │ │ │ │ it with quotation marks to prevent spaces from │ │ │ │ │ delimiting the text as if it were additional markup │ │ │ │ │ attributes. If the '$' macro is surrounded by other │ │ │ │ │ text (as in the two examples above), quotation │ │ │ │ │ marks are not automatically supplied. │ │ │ │ │ Note that a '$' macro can be placed anywhere in a │ │ │ │ │ markup tag and can be nested. This is valid: │ │ │ │ │ - <${tagName} ${attrName}=${value$ctr}> │ │ │ │ │ + <_[_[_r_e_f_]_]_s_e_t sect-ctr="0"> │ │ │ │ │ + <_[_[_r_e_f_]_]_b_l_o_c_k_d_e_f name="section"> │ │ │ │ │ + <_[_[_r_e_f_]_]_i_n_c sect-ctr> │ │ │ │ │ + <_[_[_r_e_f_]_]_b_l_o_c_k name="sect-${sect-ctr}" expand │ │ │ │ │ + global> │ │ │ │ │ + <_[_[_r_e_f_]_]_u_s_e block noexpand> │ │ │ │ │ + <_[_[_r_e_f_]_]_/_b_l_o_c_k> │ │ │ │ │ + <_[_[_r_e_f_]_]_/_b_l_o_c_k_d_e_f> │ │ │ │ │ The tagName macro can contain any tag name, even a │ │ │ │ │ self-defined metatag. Note that $ctr is expanded │ │ │ │ │ before the valueX macro is expanded, so assuming │ │ │ │ │ that ctr was set to 1 it will expand value1. │ │ │ ├── ./usr/share/doc/htp/while.html │ │ │ │ @@ -114,29 +114,58 @@ │ │ │ │ <a class="noline" href="bugs.html">Bugs</a></td></tr> │ │ │ │ </table> │ │ │ │ </div> │ │ │ │ </td> │ │ │ │ <td bgcolor="#f0f0d0" rowspan="2" valign="top"> │ │ │ │ <h2>syntax</h2> │ │ │ │ <p><code> │ │ │ │ + <span class="htp-tag"><<a href="set.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">SET</a> <span class="htp-attrib">emailaddr</span>=<span class="htp-string">"jnelson@crl.com"</span>></span><br> │ │ │ │ +if" SIZE=KBYTE> kilobytes<br> │ │ │ │ + Last modified <span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">FILE</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"image.gif"</span> <span class="htp-attrib">TIME</span>></span>, <span class="htp-tag"><<a href="file.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">FILE</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"image.gif"</span> <span class="htp-attrib">DATE</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <h2>synopsis</h2> │ │ │ │ <STRONG>WHILE</STRONG> is the building block for repeated processing. │ │ │ │ The basic form is shown above. │ │ │ │ <P> │ │ │ │ "Conditional" is either a "compare" or "is defined" operation. │ │ │ │ A compare operator is a test of the value of a macro against a literal string. │ │ │ │ If the NOT tag is present in the WHILE markup, the evaluation of the │ │ │ │ conditional is reversed: │ │ │ │ <p><code> │ │ │ │ +<span class="htp-tag"><a <span class="htp-attrib">href</span>=<span class="htp-string">"mailto:<span class="htp-macro">$email</span>"</span>></span>mailto hyperlink<span class="htp-tag"></a></span><br> │ │ │ │ +<span class="htp-tag"><a <span class="htp-attrib">href</span>=<span class="htp-string">"http://<span class="htp-macro">$domain</span>/~<span class="htp-macro">${username}</span>/"</span>></span>another hyperlink<span class="htp-tag"></a></span><br> │ │ │ │ </code></p> │ │ │ │ <P> │ │ │ │ Just as with <a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IF</a> you can also check for a │ │ │ │ macro's existance: │ │ │ │ <p><code> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">DEF</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"HEADERIMG"</span> <span class="htp-attrib">OPTION</span>=<span class="htp-string">"SRC TITLE SIZE"</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IF</a> <span class="htp-attrib">size</span>></span><br> │ │ │ │ + <span class="htp-tag"><FONT <span class="htp-attrib">SIZE</span>=<span class="htp-value"><span class="htp-macro">${size}</span></span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/IF</a>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IMG</a> <span class="htp-attrib">SRC</span>=<span class="htp-value">pics/<span class="htp-macro">${src}</span></span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="use.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">USE</a> <span class="htp-attrib">title</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IF</a> <span class="htp-attrib">size</span>></span><br> │ │ │ │ + <span class="htp-tag"></FONT></span><br> │ │ │ │ + <span class="htp-tag"><<a href="if.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/IF</a>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/DEF</a>></span><br> │ │ │ │ +<br> │ │ │ │ + <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">SIZE</span>=<span class="htp-string">"+2"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"A title"</span>></span><br> │ │ │ │ +<br> │ │ │ │ + <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"Normal sized title"</span>></span><br> │ │ │ │ +<br> │ │ │ │ + This will fail:<br> │ │ │ │ + <span class="htp-tag"><HEADERIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">ALT</span>=<span class="htp-string">"Our logo"</span> <span class="htp-attrib">TITLE</span>=<span class="htp-string">"Another title"</span>></span><br> │ │ │ │ +<br> │ │ │ │ + Instead, use * like this:<br> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">DEF</a> <span class="htp-attrib">NAME</span>=<span class="htp-string">"MYIMG"</span> <span class="htp-attrib">OPTION</span>=<span class="htp-string">"SRC *"</span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="img.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">IMG</a> <span class="htp-attrib">SRC</span>=<span class="htp-string">"pics/<span class="htp-macro">${src}</span>"</span> <span class="htp-attrib"><span class="htp-macro">$*</span></span>></span><br> │ │ │ │ + <span class="htp-tag"><<a href="def.html" ><img src="pic/manual.png" border=0 alt="[ref]" width="10" height="10">/DEF</a>></span><br> │ │ │ │ + <br> │ │ │ │ + <span class="htp-tag"><MYIMG <span class="htp-attrib">SRC</span>=<span class="htp-string">"logo.gif"</span> <span class="htp-attrib">ALT</span>=<span class="htp-string">"Our logo"</span>></span><br> │ │ │ │ </code></p> │ │ │ │ <P> │ │ │ │ If the condition is true, the block is evaluated and afterwards the │ │ │ │ WHILE tag is evaluated again. If the '$'-operator is used in the │ │ │ │ WHILE tag it is also reevaluated on each iteration. │ │ │ │ <P> │ │ │ │ A loop block <EM>must</EM> be closed with the /WHILE tag. │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,36 +1,71 @@ │ │ │ │ │ [HTP] │ │ │ │ │ ************ hhttpp oonn--lliinnee rreeffeerreennccee :: WWHHIILLEE ************ │ │ │ │ │ _T_a_b_l_e_ _o_f_ _C_o_n_t_e_n_t_s ********** ssyynnttaaxx ********** │ │ │ │ │ - _I_n_t_r_o_d_u_c_t_i_o_n ********** ssyynnooppssiiss ********** │ │ │ │ │ - _L_i_c_e_n_s_e WWHHIILLEE is the building block for repeated │ │ │ │ │ - _T_u_t_o_r_i_a_l processing. The basic form is shown above. │ │ │ │ │ - _U_s_a_g_e "Conditional" is either a "compare" or "is defined" │ │ │ │ │ - HTP Tags operation. A compare operator is a test of the │ │ │ │ │ - _A_L_T_T_E_X_T value of a macro against a literal string. If the │ │ │ │ │ - _B_L_O_C_K NOT tag is present in the WHILE markup, the │ │ │ │ │ - _B_L_O_C_K_D_E_F evaluation of the conditional is reversed: │ │ │ │ │ - _D_E_F Just as with _[_[_r_e_f_]_]_I_F you can also check for a │ │ │ │ │ - _F_I_L_E macro's existance: │ │ │ │ │ - _I_F If the condition is true, the block is evaluated │ │ │ │ │ - _I_N_C and afterwards the WHILE tag is evaluated again. If │ │ │ │ │ - _I_M_G the '$'-operator is used in the WHILE tag it is │ │ │ │ │ - _I_M_A_G_E_U_R_L also reevaluated on each iteration. │ │ │ │ │ - _O_P_T A loop block mmuusstt be closed with the /WHILE tag. │ │ │ │ │ - _O_U_T_P_U_T │ │ │ │ │ - _Q_U_O_T_E │ │ │ │ │ - _S_E_T │ │ │ │ │ - _U_N_D_E_F │ │ │ │ │ - _U_N_S_E_T │ │ │ │ │ - _U_S_E_,_ _$ │ │ │ │ │ - [>] _W_H_I_L_E │ │ │ │ │ - _<_!_-_-_- │ │ │ │ │ - _H_i_s_t_o_r_y │ │ │ │ │ - _W_i_s_h_ _l_i_s_t │ │ │ │ │ - _B_u_g_s │ │ │ │ │ + _I_n_t_r_o_d_u_c_t_i_o_n <_[_[_r_e_f_]_]_S_E_T emailaddr="jnelson@crl.com"> │ │ │ │ │ + _L_i_c_e_n_s_e if" SIZE=KBYTE> kilobytes │ │ │ │ │ + _T_u_t_o_r_i_a_l Last modified <_[_[_r_e_f_]_]_F_I_L_E NAME="image.gif" │ │ │ │ │ + _U_s_a_g_e TIME>, <_[_[_r_e_f_]_]_F_I_L_E NAME="image.gif" DATE> │ │ │ │ │ + HTP Tags ********** ssyynnooppssiiss ********** │ │ │ │ │ + _A_L_T_T_E_X_T WWHHIILLEE is the building block for repeated │ │ │ │ │ + _B_L_O_C_K processing. The basic form is shown above. │ │ │ │ │ + _B_L_O_C_K_D_E_F "Conditional" is either a "compare" or "is defined" │ │ │ │ │ + _D_E_F operation. A compare operator is a test of the │ │ │ │ │ + _F_I_L_E value of a macro against a literal string. If the │ │ │ │ │ + _I_F NOT tag is present in the WHILE markup, the │ │ │ │ │ + _I_N_C evaluation of the conditional is reversed: │ │ │ │ │ + _I_M_G <a href="mailto:$email">mailto hyperlink</a> │ │ │ │ │ + _I_M_A_G_E_U_R_L <a href="http://$domain/~${username}/">another │ │ │ │ │ + _O_P_T hyperlink</a> │ │ │ │ │ + _O_U_T_P_U_T Just as with _[_[_r_e_f_]_]_I_F you can also check for a │ │ │ │ │ + _Q_U_O_T_E macro's existance: │ │ │ │ │ + _S_E_T <_[_[_r_e_f_]_]_D_E_F NAME="HEADERIMG" OPTION="SRC TITLE │ │ │ │ │ + _U_N_D_E_F SIZE"> │ │ │ │ │ + _U_N_S_E_T <_[_[_r_e_f_]_]_I_F size> │ │ │ │ │ + _U_S_E_,_ _$ <FONT SIZE=${size}> │ │ │ │ │ + [>] _W_H_I_L_E <_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ + _<_!_-_-_- <_[_[_r_e_f_]_]_I_M_G SRC=pics/${src}> │ │ │ │ │ + _H_i_s_t_o_r_y <_[_[_r_e_f_]_]_U_S_E title> │ │ │ │ │ + _W_i_s_h_ _l_i_s_t <_[_[_r_e_f_]_]_I_F size> │ │ │ │ │ + _B_u_g_s </FONT> │ │ │ │ │ + <_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ + <_[_[_r_e_f_]_]_/_D_E_F> │ │ │ │ │ + │ │ │ │ │ + <HEADERIMG SRC="logo.gif" SIZE="+2" TITLE="A │ │ │ │ │ + title"> │ │ │ │ │ + │ │ │ │ │ + <HEADERIMG SRC="logo.gif" TITLE="Normal sized │ │ │ │ │ + title"> │ │ │ │ │ + │ │ │ │ │ + This will fail: │ │ │ │ │ + <HEADERIMG SRC="logo.gif" ALT="Our logo" │ │ │ │ │ + TITLE="Another title"> │ │ │ │ │ + │ │ │ │ │ + Instead, use * like this: │ │ │ │ │ + <_[_[_r_e_f_]_]_D_E_F NAME="MYIMG" OPTION="SRC *"> │ │ │ │ │ + <_[_[_r_e_f_]_]_I_M_G SRC="pics/${src}" $*> │ │ │ │ │ + <_[_[_r_e_f_]_]_/_D_E_F> │ │ │ │ │ + │ │ │ │ │ + <MYIMG SRC="logo.gif" ALT="Our logo"> │ │ │ │ │ + If the condition is true, the block is evaluated │ │ │ │ │ + and afterwards the WHILE tag is evaluated again. If │ │ │ │ │ + the '$'-operator is used in the WHILE tag it is │ │ │ │ │ + also reevaluated on each iteration. │ │ │ │ │ + A loop block mmuusstt be closed with the /WHILE tag. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ +