--- /srv/reproducible-results/rbuild-debian/r-b-build.3f5NnDJZ/b1/htp_1.19-8_amd64.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.3f5NnDJZ/b2/htp_1.19-8_amd64.changes ├── Files │ @@ -1,3 +1,3 @@ │ │ 56df6718d2b8b982808a2f8cc3c798b2 71096 debug optional htp-dbgsym_1.19-8_amd64.deb │ - 8c1c8946d4df7ab4baae20232da90f55 115848 web optional htp_1.19-8_amd64.deb │ + f0730f124fae4281fe42ef117c10e9fc 116704 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 3612 2020-06-14 23:21:19.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 112044 2020-06-14 23:21:19.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 3616 2020-06-14 23:21:19.000000 control.tar.xz │ │ +-rw-r--r-- 0 0 0 112896 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 │ │ │ │ -Installed-Size: 612 │ │ │ │ +Installed-Size: 629 │ │ │ │ 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) 8581 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) 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) 7719 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) 10200 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/def.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 10884 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) 7909 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/expand.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 8037 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) 12223 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/file.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 13870 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) 932 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/if.htp │ │ │ │ -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) 9052 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) 8142 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/inc.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 8466 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) 12505 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/metatag.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 16854 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) 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) 8233 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) 9300 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 │ │ │ │ @@ -104,21 +104,21 @@ │ │ │ │ -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) 460 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/undef.htp │ │ │ │ --rw-r--r-- 0 root (0) root (0) 8164 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/unset.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 10194 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) 11459 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/use.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 13243 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) 10360 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,16 @@ │ │ │ │

│ │ │ │ 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. │ │ │ │

│ │ │ │ For example: │ │ │ │

│ │ │ │ +<[ref]SET macroname1="macrovalue1" [macroname2="macrovalue2" ...] [GLOBAL]>
│ │ │ │ +
│ │ │ │

│ │ │ │

│ │ │ │ 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. │ │ │ │

│ │ │ │ Since this is useful for an image used throughout a set of documents, │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -9,35 +9,38 @@ │ │ │ │ │   [>] _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_,_ _$ │ │ │ │ │ -    _W_H_I_L_E │ │ │ │ │ -    _<_!_-_-_- │ │ │ │ │ +    _I_M_G <_[_[_r_e_f_]_]_S_E_T macroname1="macrovalue1" │ │ │ │ │ +    _I_M_A_G_E_U_R_L [macroname2="macrovalue2" ...] [GLOBAL]> │ │ │ │ │ +    _O_P_T │ │ │ │ │ +    _O_U_T_P_U_T An ALTTEXT tag with a name but no text attribute │ │ │ │ │ +    _Q_U_O_T_E removes any ALT mapping for this image. Successing │ │ │ │ │ +    _S_E_T IMG tags with a matching SRC name are not changed. │ │ │ │ │ +    _U_N_D_E_F Since this is useful for an image used throughout a │ │ │ │ │ +    _U_N_S_E_T set of documents, ALTTEXT is most appropriate in an │ │ │ │ │ +    _U_S_E_,_ _$ _i_n_c_l_u_d_e_ _f_i_l_e or a _d_e_f_a_u_l_t_ _f_i_l_e. │ │ │ │ │ +    _W_H_I_L_E In addition to ALTTEXT, htp can also automatically │ │ │ │ │ +    _<_!_-_-_- add WIDTH and HEIGHT attributes to _I_M_G tags. │ │ │ │ │   _H_i_s_t_o_r_y │ │ │ │ │   _W_i_s_h_ _l_i_s_t │ │ │ │ │   _B_u_g_s │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ ├── ./usr/share/doc/htp/def.html │ │ │ │ @@ -124,14 +124,17 @@ │ │ │ │ DEF creates metatags, which is a │ │ │ │ fancy way of saying it creates new tags. The mechanism is very similar to │ │ │ │ BLOCK macros, except that the USE │ │ │ │ tag is not used to expand them. Instead, they are expanded by their own name. │ │ │ │ For example: │ │ │ │

│ │ │ │

│ │ │ │ +<[ref]unset macroname>
│ │ │ │ +<[ref]unset macroname1 macroname2 ... >
│ │ │ │ +
│ │ │ │

│ │ │ │

│ │ │ │ Some metatags will require an opening and closing tag (comparable to │ │ │ │ and ). In this case, you should use the BLOCKDEF macro. Another slightly faster │ │ │ │ alternative is to use two metatags, the opening tag and the closing │ │ │ │ tag with a preceding slash. For example: │ │ │ │ @@ -143,15 +146,16 @@ │ │ │ │

│ │ │ │ Options can be passed to a metatag, which can then expand as if it were │ │ │ │ a SET 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.) │ │ │ │

│ │ │ │

│ │ │ │ -    <${tagName} ${attrName}=${value$ctr}>
│ │ │ │ +<a href="mailto:$email">mailto hyperlink</a>
│ │ │ │ +<a href="http://$domain/~${username}/">another hyperlink</a>
│ │ │ │

│ │ │ │

│ │ │ │ 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 {} │ │ │ │ │ @@ -3,34 +3,39 @@ │ │ │ │ │ _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 DDEEFF creates _m_e_t_a_t_a_g_s, which is a fancy way of │ │ │ │ │   _T_u_t_o_r_i_a_l saying it creates new tags. The mechanism is very │ │ │ │ │   _U_s_a_g_e similar to _B_L_O_C_K macros, except that the _U_S_E tag is │ │ │ │ │   HTP Tags not used to expand them. Instead, they are expanded │ │ │ │ │     _A_L_T_T_E_X_T by their own name. For example: │ │ │ │ │ -    _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     <${tagName} ${attrName}=${value$ctr}> │ │ │ │ │ -    _<_!_-_-_- htp will do very specific checking of parameters │ │ │ │ │ -  _H_i_s_t_o_r_y when a metatag is invoked. htp assumes that all │ │ │ │ │ -  _W_i_s_h_ _l_i_s_t parameter options to the metatag are optional. This │ │ │ │ │ -  _B_u_g_s is why the HEADERIMG definition uses IF to verify │ │ │ │ │ +    _B_L_O_C_K <_[_[_r_e_f_]_]_u_n_s_e_t macroname> │ │ │ │ │ +    _B_L_O_C_K_D_E_F <_[_[_r_e_f_]_]_u_n_s_e_t macroname1 macroname2 ... > │ │ │ │ │ +  [>] _D_E_F │ │ │ │ │ +    _F_I_L_E Some metatags will require an opening and closing │ │ │ │ │ +    _I_F tag (comparable to │ │ │ │ │ +    _I_N_C and │ │ │ │ │ +    _I_M_G ). In this case, you should use the _B_L_O_C_K_D_E_F macro. │ │ │ │ │ +    _I_M_A_G_E_U_R_L Another slightly faster alternative is to use two │ │ │ │ │ +    _O_P_T metatags, the opening tag and the closing tag with │ │ │ │ │ +    _O_U_T_P_U_T a preceding slash. For example: │ │ │ │ │ +    _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 mailto hyperlink │ │ │ │ │ +  _B_u_g_s another │ │ │ │ │ + hyperlink │ │ │ │ │ + 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 │ │ │ │ │ allow parameters not listed in the OPTION attribute │ │ │ ├── ./usr/share/doc/htp/expand.html │ │ │ │ @@ -98,14 +98,15 @@ │ │ │ │

However, if the block tag is marked with the expand │ │ │ │ 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:

│ │ │ │

│ │ │ │ + 1. <!--- This comment doesn't appear in the HTML file --->
│ │ │ │

│ │ │ │ This produces the following: │ │ │ │

│ │ │ │

│ │ │ │

│ │ │ │ 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 │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -24,14 +24,16 @@ │ │ │ │ │ However, if the block tag is marked with the expand │ │ │ │ │ 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: │ │ │ │ │ +  1. │ │ │ │ │ This produces the following: │ │ │ │ │ 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. │ │ │ ├── ./usr/share/doc/htp/file.html │ │ │ │ @@ -124,14 +124,23 @@ │ │ │ │ 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. │ │ │ │

│ │ │ │ As with all HTML, these tags do not have to be on their own line, so the │ │ │ │ following is perfectly acceptable: │ │ │ │

│ │ │ │ +  <[ref]def name="bigfont">
│ │ │ │ +    <font size="+4">
│ │ │ │ +  <[ref]/def>
│ │ │ │ +
│ │ │ │ +  <[ref]def name="/bigfont">
│ │ │ │ +    </font>
│ │ │ │ +  <[ref]/def>
│ │ │ │ +
│ │ │ │ +  <bigfont>Some large text</bigfont>
│ │ │ │

│ │ │ │

│ │ │ │

NAME, TIME, SIZE

│ │ │ │

│ │ │ │ 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: │ │ │ │ @@ -168,14 +177,18 @@ │ │ │ │

│ │ │ │ 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: │ │ │ │

│ │ │ │ +  <[ref]WHILE sect-$i>
│ │ │ │ +    ...
│ │ │ │ +    <[ref]INC i>
│ │ │ │ +  <[ref]/WHILE>
│ │ │ │

│ │ │ │

│ │ │ │ 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.) │ │ │ │

│ │ │ │

TEMPLATE

│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -6,31 +6,40 @@ │ │ │ │ │   _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 ******** NNAAMMEE,, TTIIMMEE,, SSIIZZEE ******** │ │ │ │ │ -    _I_F To include information about another file, such as │ │ │ │ │ -    _I_N_C an archive file or graphic image, specify its name │ │ │ │ │ -    _I_M_G with the NAME attribute followed by the type of │ │ │ │ │ -    _I_M_A_G_E_U_R_L information to be displayed: │ │ │ │ │ -    _O_P_T For file size information, the value BYTE, KBYTE, │ │ │ │ │ -    _O_U_T_P_U_T etc. dictates how the information is displayed. In │ │ │ │ │ -    _Q_U_O_T_E anything other than byte format, the information is │ │ │ │ │ -    _S_E_T displayed in floating-point notation. The amount of │ │ │ │ │ -    _U_N_D_E_F precision (the number of digits to the right of the │ │ │ │ │ -    _U_N_S_E_T decimal point) can be set with the optional │ │ │ │ │ -    _U_S_E_,_ _$ PRECISION attribute. The default precision is zero │ │ │ │ │ -    _W_H_I_L_E (0), which means no fractional portion is │ │ │ │ │ -    _<_!_-_-_- displayed. │ │ │ │ │ -  _H_i_s_t_o_r_y At the request of many people, the TIME and DATE │ │ │ │ │ -  _W_i_s_h_ _l_i_s_t attributes will now accept formatting characters │ │ │ │ │ -  _B_u_g_s that are passed directly into the ANSI C library │ │ │ │ │ +  [>] _F_I_L_E   <_[_[_r_e_f_]_]_d_e_f name="bigfont"> │ │ │ │ │ +    _I_F     │ │ │ │ │ +    _I_N_C   <_[_[_r_e_f_]_]_/_d_e_f> │ │ │ │ │ +    _I_M_G │ │ │ │ │ +    _I_M_A_G_E_U_R_L   <_[_[_r_e_f_]_]_d_e_f name="/bigfont"> │ │ │ │ │ +    _O_P_T     │ │ │ │ │ +    _O_U_T_P_U_T   <_[_[_r_e_f_]_]_/_d_e_f> │ │ │ │ │ +    _Q_U_O_T_E │ │ │ │ │ +    _S_E_T   Some large text │ │ │ │ │ +    _U_N_D_E_F ******** NNAAMMEE,, TTIIMMEE,, SSIIZZEE ******** │ │ │ │ │ +    _U_N_S_E_T To include information about another file, such as │ │ │ │ │ +    _U_S_E_,_ _$ an archive file or graphic image, specify its name │ │ │ │ │ +    _W_H_I_L_E with the NAME attribute followed by the type of │ │ │ │ │ +    _<_!_-_-_- information to be displayed: │ │ │ │ │ +  _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 │ │ │ │ │ + (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 │ │ │ │ │ wishing to mess around with this should stick to │ │ │ │ │ the default format, which is used if no formatting │ │ │ │ │ value is specified (i.e., just using 05:04:11 PM). │ │ │ │ │ Consult any C programmer's guide discussing the │ │ │ │ │ standard C library function strftime() for │ │ │ │ │ @@ -49,14 +58,18 @@ │ │ │ │ │ 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: │ │ │ │ │ +   <_[_[_r_e_f_]_]_W_H_I_L_E sect-$i> │ │ │ │ │ +     ... │ │ │ │ │ +     <_[_[_r_e_f_]_]_I_N_C i> │ │ │ │ │ +   <_[_[_r_e_f_]_]_/_W_H_I_L_E> │ │ │ │ │ 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/img.html │ │ │ │ @@ -114,14 +114,21 @@ │ │ │ │ Bugs │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │

syntax

│ │ │ │

│ │ │ │ +    a is expanded at time 1.
│ │ │ │ +    b is expanded at time 0.
│ │ │ │ +  contents of a:   a is expanded at time <[ref]use time>.
│ │ │ │ +  contents of b:   b is expanded at time 0.
│ │ │ │ +    c is expanded at time 1;   a is expanded at time 1.
│ │ │ │ +    d is expanded at time 1;   a is expanded at time 2.
│ │ │ │ +    e is expanded at time 2;   a is defined for the 2nd time <[ref]use time>.
│ │ │ │

│ │ │ │

synopsis

│ │ │ │

img is a standard HTML tag. htp can add the specified │ │ │ │ image's width and height to the tag automatically. This has the advantage │ │ │ │ of not having to determine each image's size manually, which is especially │ │ │ │ useful if the image may change frequently.

│ │ │ │

htp adds this information with the WIDTH and HEIGHT markup │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,36 +1,47 @@ │ │ │ │ │ [HTP] │ │ │ │ │ ************ hhttpp oonn--lliinnee rreeffeerreennccee :: IIMMGG ************ │ │ │ │ │ _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 iimmgg is a standard HTML tag. htp can add the │ │ │ │ │ -  _T_u_t_o_r_i_a_l specified image's width and height to the tag │ │ │ │ │ -  _U_s_a_g_e automatically. This has the advantage of not having │ │ │ │ │ -  HTP Tags to determine each image's size manually, which is │ │ │ │ │ -    _A_L_T_T_E_X_T especially useful if the image may change │ │ │ │ │ -    _B_L_O_C_K frequently. │ │ │ │ │ -    _B_L_O_C_K_D_E_F htp adds this information with the WIDTH and HEIGHT │ │ │ │ │ -    _D_E_F markup attributes. If htp detects these attributes │ │ │ │ │ -    _F_I_L_E are already present in the tag, it will nnoott modify │ │ │ │ │ -    _I_F the values. If htp cannot find the image file, it │ │ │ │ │ -    _I_N_C will issue a warning but not halt processing. │ │ │ │ │ -  [>] _I_M_G At this time, GIF (Graphic Interchange Format), PNG │ │ │ │ │ -    _I_M_A_G_E_U_R_L (Portable Network Graphics), and JFIF (JPEG File │ │ │ │ │ -    _O_P_T Interchange Format) are supported. │ │ │ │ │ -    _O_U_T_P_U_T The _I_M_G_X_Y_ _a_n_d_ _N_O_I_M_G_X_Y options control whether or │ │ │ │ │ -    _Q_U_O_T_E not htp actually adds this information as it │ │ │ │ │ -    _S_E_T executes. │ │ │ │ │ -    _U_N_D_E_F Since htp is able to lookup files only in the local │ │ │ │ │ -    _U_N_S_E_T filesystem, the _I_M_A_G_E_U_R_L tag may be used to map │ │ │ │ │ -    _U_S_E_,_ _$ URLs to local files. │ │ │ │ │ -    _W_H_I_L_E htp can also add default ALT text to IMG tags using │ │ │ │ │ -    _<_!_-_-_- _A_L_T_T_E_X_T. │ │ │ │ │ -  _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     a is expanded at time 1. │ │ │ │ │ +  _L_i_c_e_n_s_e     b is expanded at time 0. │ │ │ │ │ +  _T_u_t_o_r_i_a_l   contents of a:   a is expanded at time <_[ │ │ │ │ │ +  _U_s_a_g_e _[_r_e_f_]_]_u_s_e time>. │ │ │ │ │ +  HTP Tags   contents of b:   b is expanded at time 0. │ │ │ │ │ +    _A_L_T_T_E_X_T     c is expanded at time 1;   a is expanded at │ │ │ │ │ +    _B_L_O_C_K time 1. │ │ │ │ │ +    _B_L_O_C_K_D_E_F     d is expanded at time 1;   a is expanded at │ │ │ │ │ +    _D_E_F time 2. │ │ │ │ │ +    _F_I_L_E     e is expanded at time 2;   a is defined for the │ │ │ │ │ +    _I_F 2nd time <_[_[_r_e_f_]_]_u_s_e time>. │ │ │ │ │ +    _I_N_C ********** ssyynnooppssiiss ********** │ │ │ │ │ +  [>] _I_M_G iimmgg is a standard HTML tag. htp can add the │ │ │ │ │ +    _I_M_A_G_E_U_R_L specified image's width and height to the tag │ │ │ │ │ +    _O_P_T automatically. This has the advantage of not having │ │ │ │ │ +    _O_U_T_P_U_T to determine each image's size manually, which is │ │ │ │ │ +    _Q_U_O_T_E especially useful if the image may change │ │ │ │ │ +    _S_E_T frequently. │ │ │ │ │ +    _U_N_D_E_F htp adds this information with the WIDTH and HEIGHT │ │ │ │ │ +    _U_N_S_E_T markup attributes. If htp detects these attributes │ │ │ │ │ +    _U_S_E_,_ _$ are already present in the tag, it will nnoott modify │ │ │ │ │ +    _W_H_I_L_E the values. If htp cannot find the image file, it │ │ │ │ │ +    _<_!_-_-_- will issue a warning but not halt processing. │ │ │ │ │ +  _H_i_s_t_o_r_y At this time, GIF (Graphic Interchange Format), PNG │ │ │ │ │ +  _W_i_s_h_ _l_i_s_t (Portable Network Graphics), and JFIF (JPEG File │ │ │ │ │ +  _B_u_g_s Interchange Format) are supported. │ │ │ │ │ + The _I_M_G_X_Y_ _a_n_d_ _N_O_I_M_G_X_Y options control whether or │ │ │ │ │ + not htp actually adds this information as it │ │ │ │ │ + executes. │ │ │ │ │ + Since htp is able to lookup files only in the local │ │ │ │ │ + filesystem, the _I_M_A_G_E_U_R_L tag may be used to map │ │ │ │ │ + URLs to local files. │ │ │ │ │ + htp can also add default ALT text to IMG tags using │ │ │ │ │ + _A_L_T_T_E_X_T. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ ├── ./usr/share/doc/htp/inc.html │ │ │ │ @@ -128,14 +128,15 @@ │ │ │ │ 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. │ │ │ │

│ │ │ │ To increment or decrement a variable you can use this form: │ │ │ │

│ │ │ │ +    <[ref]IF name>...<[ref]/IF>
│ │ │ │

│ │ │ │

│ │ │ │ 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. │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -11,33 +11,34 @@ │ │ │ │ │     _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 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. │ │ │ │ │ -    _<_!_-_-_- │ │ │ │ │ +    _O_P_T     <_[_[_r_e_f_]_]_I_F name>...<_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ +    _O_U_T_P_U_T Note that INC doesn't check if the strings really │ │ │ │ │ +    _Q_U_O_T_E denote integers. It may give weired results when │ │ │ │ │ +    _S_E_T used on arbitrary strings. The integer values are │ │ │ │ │ +    _U_N_D_E_F limited to the range -2^31..2^31. │ │ │ │ │ +    _U_N_S_E_T Note further that htp wasn't designed to do │ │ │ │ │ +    _U_S_E_,_ _$ extensive calculations. The INC tag is useful in │ │ │ │ │ +    _W_H_I_L_E conjunction with WHILE to iterate over the defined │ │ │ │ │ +    _<_!_-_-_- blocks. │ │ │ │ │   _H_i_s_t_o_r_y │ │ │ │ │   _W_i_s_h_ _l_i_s_t │ │ │ │ │   _B_u_g_s │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ ├── ./usr/share/doc/htp/metatag.html │ │ │ │ @@ -88,14 +88,36 @@ │ │ │ │

Metatags are defined with the [ref]def and [ref]blockdef tags and │ │ │ │ undefined with the [ref]undef tag.

│ │ │ │

│ │ │ │ As an example we show how to define a tag that builds a │ │ │ │ fancy horizontal rule out of several images. │ │ │ │

│ │ │ │

│ │ │ │ + 1.   <[ref]imageurl url="http://my.domain.org/" path="/var/www/my.domain/">
│ │ │ │ + 2.   <[ref]imageurl url="other.domain.org/" path="/var/www/other.domain/">
│ │ │ │ + 3.
│ │ │ │ + 4.   For this line: <[ref]img 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: <[ref]img 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: <[ref]img 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.   <[ref]imageurl url="/" path="/var/www/htdocs/">
│ │ │ │ +17.   <[ref]imageurl url="/test/" path="/var/www/test/">
│ │ │ │ +18.
│ │ │ │ +19.   <[ref]img src="/image.gif"> and <[ref]img 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.
│ │ │ │

│ │ │ │

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 [ref]def and │ │ │ │ /def 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> │ │ │ │ @@ -112,14 +134,16 @@ │ │ │ │

│ │ │ │

Using parameters

│ │ │ │

More sophisticated tags accept parameters. The │ │ │ │ option parameter lets multiple metatag parameters be │ │ │ │ named and expanded inside the def or │ │ │ │ blockdef block:

│ │ │ │

│ │ │ │ + 1. <a href="mailto:$email">mailto hyperlink</a>
│ │ │ │ + 2. <a href="http://$domain/~${username}/">another hyperlink</a>
│ │ │ │

│ │ │ │

Saving blocks for later

│ │ │ │

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 │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -9,15 +9,51 @@ │ │ │ │ │     _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_]_]_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. │ │ │ │ │ + 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 as in line │ │ │ │ │ 12 htp will replace this tag with the corresponding │ │ │ │ │ @@ -32,14 +68,17 @@ │ │ │ │ │ these tags in a block macro named block. Here is an │ │ │ │ │ example for this. │ │ │ │ │ ********** 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. mailto hyperlink │ │ │ │ │ +  2. another │ │ │ │ │ + hyperlink │ │ │ │ │ ********** 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 │ │ │ ├── ./usr/share/doc/htp/output.html │ │ │ │ @@ -114,14 +114,17 @@ │ │ │ │ Bugs │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │

syntax

│ │ │ │

│ │ │ │ +<[ref]unset macroname>
│ │ │ │ +<[ref]unset macroname1 macroname2 ... >
│ │ │ │ +
│ │ │ │

│ │ │ │

synopsis

│ │ │ │

The OUTPUT 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.

│ │ │ │

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,25 +1,25 @@ │ │ │ │ │ [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 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_M_A_G_E_U_R_L │ │ │ │ │ -    _O_P_T │ │ │ │ │ +  _I_n_t_r_o_d_u_c_t_i_o_n <_[_[_r_e_f_]_]_u_n_s_e_t macroname> │ │ │ │ │ +  _L_i_c_e_n_s_e <_[_[_r_e_f_]_]_u_n_s_e_t macroname1 macroname2 ... > │ │ │ │ │ +  _T_u_t_o_r_i_a_l │ │ │ │ │ +  _U_s_a_g_e ********** ssyynnooppssiiss ********** │ │ │ │ │ +  HTP Tags The OOUUTTPPUUTT tag can be used to create auxillary │ │ │ │ │ +    _A_L_T_T_E_X_T files besides the main HTML file. The text between │ │ │ │ │ +    _B_L_O_C_K this tag and the corresponding tag is │ │ │ │ │ +    _B_L_O_C_K_D_E_F written to output file. │ │ │ │ │ +    _D_E_F Normally the outputfile is cleared before writing │ │ │ │ │ +    _F_I_L_E to it, but you can use the APPEND attribute to │ │ │ │ │ +    _I_F extend an existing file. The text written to the │ │ │ │ │ +    _I_N_C file is normally not expanded, i.e. all tags inside │ │ │ │ │ +    _I_M_G this block are not executed but written unmodified │ │ │ │ │ +    _I_M_A_G_E_U_R_L to the file. However, you can use the _E_X_P_A_N_D │ │ │ │ │ +    _O_P_T attribute to override this behaviour. │ │ │ │ │   [>] _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 │ │ │ │ │ @@ -29,14 +29,17 @@ │ │ │ │ │   _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,14 +114,23 @@ │ │ │ │ Bugs │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │

syntax

│ │ │ │

│ │ │ │ +  <[ref]def name="bigfont">
│ │ │ │ +    <font size="+4">
│ │ │ │ +  <[ref]/def>
│ │ │ │ +
│ │ │ │ +  <[ref]def name="/bigfont">
│ │ │ │ +    </font>
│ │ │ │ +  <[ref]/def>
│ │ │ │ +
│ │ │ │ +  <bigfont>Some large text</bigfont>
│ │ │ │

│ │ │ │

synopsis

│ │ │ │ SET creates a macro definition that can later be expanded │ │ │ │ anywhere in the HTML document. To create a macro: │ │ │ │

│ │ │ │

│ │ │ │

│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,36 +1,45 @@ │ │ │ │ │ [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_]_]_d_e_f name="bigfont"> │ │ │ │ │ +  _L_i_c_e_n_s_e     │ │ │ │ │ +  _T_u_t_o_r_i_a_l   <_[_[_r_e_f_]_]_/_d_e_f> │ │ │ │ │ +  _U_s_a_g_e │ │ │ │ │ +  HTP Tags   <_[_[_r_e_f_]_]_d_e_f name="/bigfont"> │ │ │ │ │ +    _A_L_T_T_E_X_T     │ │ │ │ │ +    _B_L_O_C_K   <_[_[_r_e_f_]_]_/_d_e_f> │ │ │ │ │ +    _B_L_O_C_K_D_E_F │ │ │ │ │ +    _D_E_F   Some large text │ │ │ │ │ +    _F_I_L_E ********** ssyynnooppssiiss ********** │ │ │ │ │ +    _I_F SSEETT creates a macro definition that can later be │ │ │ │ │ +    _I_N_C expanded anywhere in the HTML document. To create a │ │ │ │ │ +    _I_M_G macro: │ │ │ │ │ +    _I_M_A_G_E_U_R_L The macro "emailaddr" can then be expanded later. │ │ │ │ │ +    _O_P_T The _U_S_E tag is used to expand the macro outside a │ │ │ │ │ +    _O_U_T_P_U_T tag (i.e., into the regular text). If the macro │ │ │ │ │ +    _Q_U_O_T_E needs to be expanded inside a markup tag, use the │ │ │ │ │ +  [>] _S_E_T _'_$_' operator. │ │ │ │ │ +    _U_N_D_E_F Multiple macros can be declared in a single markup │ │ │ │ │ +    _U_N_S_E_T tag, as the second syntax line shows. │ │ │ │ │ +    _U_S_E_,_ _$ SET should only be used for a single line's worth │ │ │ │ │ +    _W_H_I_L_E of text. Multi-line macros can be defined with the │ │ │ │ │ +    _<_!_-_-_- _B_L_O_C_K tag. The _B_L_O_C_K tag is also useful if the │ │ │ │ │ +  _H_i_s_t_o_r_y macro contains a quotation character and you don't │ │ │ │ │ +  _W_i_s_h_ _l_i_s_t want to fool around with special escape characters. │ │ │ │ │ +  _B_u_g_s Macros can be redefined by using another SET │ │ │ │ │ + command with the same macro name. The prior │ │ │ │ │ + definition will be destroyed, however. Also, the │ │ │ │ │ + macro can be removed (destroyed) with the _U_N_S_E_T │ │ │ │ │ + tag. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ ├── ./usr/share/doc/htp/tut/jh.html │ │ │ │ @@ -16,10 +16,10 @@ │ │ │ │ Phone:+49 761 203-8243 │ │ │ │ Fax:+49 761 203-8242 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │


│ │ │ │ Copyright by Joe Doe.
│ │ │ │ - last updated Fri Mar 14, 2025 │ │ │ │ + last updated Fri Apr 17, 2026 │ │ │ │ │ │ │ │ │ │ │ │ ├── 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 Fri Mar 14, 2025 │ │ │ │ │ +last updated Fri Apr 17, 2026 │ │ │ ├── ./usr/share/doc/htp/tut/tut1.html │ │ │ │ @@ -5,9 +5,9 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ This page was produced by htp. │ │ │ │
│ │ │ │ Copyright by Joe Doe, │ │ │ │ webmaster@domain.com, │ │ │ │ -last updated Fri Mar 14, 2025 │ │ │ │ +last updated Fri Apr 17, 2026 │ │ │ │ │ │ │ │ ├── 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 Fri Mar 14, 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 Fri Apr 17, 2026 │ │ │ ├── ./usr/share/doc/htp/tut/tut2.html │ │ │ │ @@ -13,10 +13,10 @@ │ │ │ │

│ │ │ │ As you can see the file contains almost only the contents. │ │ │ │

│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ Copyright by Joe Doe.
│ │ │ │ - last updated Fri Mar 14, 2025 │ │ │ │ + last updated Fri Apr 17, 2026 │ │ │ │ │ │ │ │ │ │ │ │ ├── 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 Fri Mar 14, 2025 │ │ │ │ │ +last updated Fri Apr 17, 2026 │ │ │ ├── ./usr/share/doc/htp/tut/tut3.html │ │ │ │ @@ -13,10 +13,10 @@ │ │ │ │

│ │ │ │ As you can see the file contains almost only the contents. │ │ │ │

│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ Copyright by Joe Doe.
│ │ │ │ - last updated Fri Mar 14, 2025 │ │ │ │ + last updated Fri Apr 17, 2026 │ │ │ │ │ │ │ │ │ │ │ │ ├── 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 Fri Mar 14, 2025 │ │ │ │ │ +last updated Fri Apr 17, 2026 │ │ │ ├── ./usr/share/doc/htp/unset.html │ │ │ │ @@ -114,30 +114,38 @@ │ │ │ │ Bugs │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │

syntax

│ │ │ │

│ │ │ │ +    <[ref]IF name>...<[ref]/IF>
│ │ │ │

│ │ │ │

synopsis

│ │ │ │ UNSET 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 SET or │ │ │ │ BLOCK definition with the same name is acceptable. The │ │ │ │ old macro definition will be removed automatically.) │ │ │ │

│ │ │ │ For example: │ │ │ │

│ │ │ │ +    <[ref]FILE INCLUDE="include.hti" name="Jim Nelson" email="jnelson@crl.com">
│ │ │ │ +    This tag will fail: <[ref]USE name>
│ │ │ │

│ │ │ │

│ │ │ │ More than one macro may be removed in the same tag: │ │ │ │

│ │ │ │ -<a href="mailto:$email">mailto hyperlink</a>
│ │ │ │ -<a href="http://$domain/~${username}/">another hyperlink</a>
│ │ │ │ +  <[ref]set sect-ctr="0">
│ │ │ │ +  <[ref]blockdef name="section">
│ │ │ │ +    <[ref]inc sect-ctr>
│ │ │ │ +    <[ref]block name="sect-${sect-ctr}" expand global>
│ │ │ │ +      <[ref]use block noexpand>
│ │ │ │ +    <[ref]/block>
│ │ │ │ +  <[ref]/blockdef>
│ │ │ │

│ │ │ │

│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,43 +1,52 @@ │ │ │ │ │ [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 mailto hyperlink │ │ │ │ │ -    _I_N_C another │ │ │ │ │ -    _I_M_G hyperlink │ │ │ │ │ -    _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 │ │ │ │ │ +  _I_n_t_r_o_d_u_c_t_i_o_n     <_[_[_r_e_f_]_]_I_F name>...<_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ +  _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_]_]_F_I_L_E INCLUDE="include.hti" name="Jim │ │ │ │ │ +    _I_N_C Nelson" email="jnelson@crl.com"> │ │ │ │ │ +    _I_M_G     This tag will fail: <_[_[_r_e_f_]_]_U_S_E name> │ │ │ │ │ +    _I_M_A_G_E_U_R_L More than one macro may be removed in the same tag: │ │ │ │ │ +    _O_P_T   <_[_[_r_e_f_]_]_s_e_t sect-ctr="0"> │ │ │ │ │ +    _O_U_T_P_U_T   <_[_[_r_e_f_]_]_b_l_o_c_k_d_e_f name="section"> │ │ │ │ │ +    _Q_U_O_T_E     <_[_[_r_e_f_]_]_i_n_c sect-ctr> │ │ │ │ │ +    _S_E_T     <_[_[_r_e_f_]_]_b_l_o_c_k name="sect-${sect-ctr}" expand │ │ │ │ │ +    _U_N_D_E_F global> │ │ │ │ │ +  [>] _U_N_S_E_T       <_[_[_r_e_f_]_]_u_s_e block noexpand> │ │ │ │ │ +    _U_S_E_,_ _$     <_[_[_r_e_f_]_]_/_b_l_o_c_k> │ │ │ │ │ +    _W_H_I_L_E   <_[_[_r_e_f_]_]_/_b_l_o_c_k_d_e_f> │ │ │ │ │     _<_!_-_-_- │ │ │ │ │   _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/use.html │ │ │ │ @@ -149,14 +149,21 @@ │ │ │ │ Inside a markup tag, like IMG, 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.   <[ref]set sect-ctr="0">
│ │ │ │ + 2.   <[ref]blockdef name="section">
│ │ │ │ + 3.     <[ref]inc sect-ctr>
│ │ │ │ + 4.     <[ref]block name="sect-${sect-ctr}" expand global>
│ │ │ │ + 5.       <[ref]use block noexpand>
│ │ │ │ + 6.     <[ref]/block>
│ │ │ │ + 7.   <[ref]/blockdef>
│ │ │ │

│ │ │ │

│ │ │ │ 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. │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -28,14 +28,22 @@ │ │ │ │ │   _W_i_s_h_ _l_i_s_t Inside a markup tag, like _I_M_G, A (anchor), or any │ │ │ │ │   _B_u_g_s 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_]_]_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> │ │ │ │ │ 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 │ │ │ ├── ./usr/share/doc/htp/while.html │ │ │ │ @@ -114,29 +114,39 @@ │ │ │ │ Bugs │ │ │ │

│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │

syntax

│ │ │ │

│ │ │ │ +    <[ref]IF name>...<[ref]/IF>
│ │ │ │

│ │ │ │

synopsis

│ │ │ │ WHILE is the building block for repeated processing. │ │ │ │ The basic form is shown above. │ │ │ │

│ │ │ │ "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: │ │ │ │

│ │ │ │ +<a href="mailto:$email">mailto hyperlink</a>
│ │ │ │ +<a href="http://$domain/~${username}/">another hyperlink</a>
│ │ │ │

│ │ │ │

│ │ │ │ Just as with [ref]IF you can also check for a │ │ │ │ macro's existance: │ │ │ │

│ │ │ │ +  <[ref]set sect-ctr="0">
│ │ │ │ +  <[ref]blockdef name="section">
│ │ │ │ +    <[ref]inc sect-ctr>
│ │ │ │ +    <[ref]block name="sect-${sect-ctr}" expand global>
│ │ │ │ +      <[ref]use block noexpand>
│ │ │ │ +    <[ref]/block>
│ │ │ │ +  <[ref]/blockdef>
│ │ │ │

│ │ │ │

│ │ │ │ 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 must be closed with the /WHILE tag. │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,36 +1,48 @@ │ │ │ │ │ [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_]_]_I_F name>...<_[_[_r_e_f_]_]_/_I_F> │ │ │ │ │ +  _L_i_c_e_n_s_e ********** ssyynnooppssiiss ********** │ │ │ │ │ +  _T_u_t_o_r_i_a_l WWHHIILLEE is the building block for repeated │ │ │ │ │ +  _U_s_a_g_e processing. The basic form 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. If the │ │ │ │ │ +    _B_L_O_C_K_D_E_F NOT tag is present in the WHILE markup, the │ │ │ │ │ +    _D_E_F evaluation of the conditional is reversed: │ │ │ │ │ +    _F_I_L_E mailto hyperlink │ │ │ │ │ +    _I_F another │ │ │ │ │ +    _I_N_C hyperlink │ │ │ │ │ +    _I_M_G Just as with _[_[_r_e_f_]_]_I_F you can also check for a │ │ │ │ │ +    _I_M_A_G_E_U_R_L macro's existance: │ │ │ │ │ +    _O_P_T   <_[_[_r_e_f_]_]_s_e_t sect-ctr="0"> │ │ │ │ │ +    _O_U_T_P_U_T   <_[_[_r_e_f_]_]_b_l_o_c_k_d_e_f name="section"> │ │ │ │ │ +    _Q_U_O_T_E     <_[_[_r_e_f_]_]_i_n_c sect-ctr> │ │ │ │ │ +    _S_E_T     <_[_[_r_e_f_]_]_b_l_o_c_k name="sect-${sect-ctr}" expand │ │ │ │ │ +    _U_N_D_E_F global> │ │ │ │ │ +    _U_N_S_E_T       <_[_[_r_e_f_]_]_u_s_e block noexpand> │ │ │ │ │ +    _U_S_E_,_ _$     <_[_[_r_e_f_]_]_/_b_l_o_c_k> │ │ │ │ │ +  [>] _W_H_I_L_E   <_[_[_r_e_f_]_]_/_b_l_o_c_k_d_e_f> │ │ │ │ │ +    _<_!_-_-_- If the condition is true, the block is evaluated │ │ │ │ │ +  _H_i_s_t_o_r_y and afterwards the WHILE tag is evaluated again. If │ │ │ │ │ +  _W_i_s_h_ _l_i_s_t the '$'-operator is used in the WHILE tag it is │ │ │ │ │ +  _B_u_g_s also reevaluated on each iteration. │ │ │ │ │ + A loop block mmuusstt be closed with the /WHILE tag. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ +