{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.FqmG23Uk/b1/htp_1.19-8_arm64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.FqmG23Uk/b2/htp_1.19-8_arm64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,3 +1,3 @@\n \n ed3039bcf0a32bef87918a6788bf0789 70332 debug optional htp-dbgsym_1.19-8_arm64.deb\n- aa30d591075558a7de42cea5319a73f4 118616 web optional htp_1.19-8_arm64.deb\n+ b3c2b458a3f467f48bd7e0e060ca75db 119104 web optional htp_1.19-8_arm64.deb\n"}, {"source1": "htp_1.19-8_arm64.deb", "source2": "htp_1.19-8_arm64.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2020-06-14 23:21:19.000000 debian-binary\n--rw-r--r-- 0 0 0 3620 2020-06-14 23:21:19.000000 control.tar.xz\n--rw-r--r-- 0 0 0 114804 2020-06-14 23:21:19.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 3616 2020-06-14 23:21:19.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 115296 2020-06-14 23:21:19.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,12 +1,12 @@\n Package: htp\n Version: 1.19-8\n Architecture: arm64\n Maintainer: Marcelo Soares Mota \n-Installed-Size: 726\n+Installed-Size: 729\n Depends: libc6 (>= 2.38)\n Section: web\n Priority: optional\n Homepage: http://htp.sourceforge.net\n Description: nice HTML pre-processor\n htp is an HTML pre-processor. It is designed to be a flexible authoring tool\n that can easily be integrated into the HTML design process.\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,27 +1,27 @@\n drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./\n drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/\n drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/bin/\n -rwxr-xr-x 0 root (0) root (0) 133504 2020-06-14 23:21:19.000000 ./usr/bin/htp\n drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/\n drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/doc/\n drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/\n--rw-r--r-- 0 root (0) root (0) 8339 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/alttext.html\n+-rw-r--r-- 0 root (0) root (0) 10205 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/alttext.html\n -rw-r--r-- 0 root (0) root (0) 1418 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/alttext.htp\n--rw-r--r-- 0 root (0) root (0) 9462 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/block.html\n+-rw-r--r-- 0 root (0) root (0) 8850 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/block.html\n -rw-r--r-- 0 root (0) root (0) 781 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/block.htp\n--rw-r--r-- 0 root (0) root (0) 8100 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/blockdef.html\n+-rw-r--r-- 0 root (0) root (0) 14251 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/blockdef.html\n -rw-r--r-- 0 root (0) root (0) 1075 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/blockdef.htp\n -rw-r--r-- 0 root (0) root (0) 4763 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/bugs.html\n -rw-r--r-- 0 root (0) root (0) 737 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/bugs.htp\n -rw-r--r-- 0 root (0) root (0) 878 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 15599 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/comment.html\n -rw-r--r-- 0 root (0) root (0) 676 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/comment.htp\n -rw-r--r-- 0 root (0) root (0) 13083 2020-06-14 23:16:46.000000 ./usr/share/doc/htp/copyright\n--rw-r--r-- 0 root (0) root (0) 19052 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/def.html\n+-rw-r--r-- 0 root (0) root (0) 14489 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/def.html\n -rw-r--r-- 0 root (0) root (0) 3601 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/def.htp\n -rw-r--r-- 0 root (0) root (0) 8030 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/default.html\n -rw-r--r-- 0 root (0) root (0) 3149 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/default.htp\n drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/examples/\n -rw-r--r-- 0 root (0) root (0) 536 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/Makefile.sub\n -rw-r--r-- 0 root (0) root (0) 2404 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/album.hti\n -rw-r--r-- 0 root (0) root (0) 1087 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/album.htt\n@@ -32,64 +32,64 @@\n -rw-r--r-- 0 root (0) root (0) 818 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/prime.htp\n -rw-r--r-- 0 root (0) root (0) 1576 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/examples/quine.html\n -rw-r--r-- 0 root (0) root (0) 1576 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/quine.htp\n -rw-r--r-- 0 root (0) root (0) 604 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/section.def\n -rw-r--r-- 0 root (0) root (0) 1189 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/examples/section.html\n -rw-r--r-- 0 root (0) root (0) 918 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/section.htp\n -rw-r--r-- 0 root (0) root (0) 375 2015-05-16 17:04:11.000000 ./usr/share/doc/htp/examples/section.htt\n--rw-r--r-- 0 root (0) root (0) 9231 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/expand.html\n+-rw-r--r-- 0 root (0) root (0) 11172 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/expand.html\n -rw-r--r-- 0 root (0) root (0) 3702 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/expand.htp\n--rw-r--r-- 0 root (0) root (0) 19950 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/file.html\n+-rw-r--r-- 0 root (0) root (0) 16735 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/file.html\n -rw-r--r-- 0 root (0) root (0) 2490 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/file.htp.gz\n -rw-r--r-- 0 root (0) root (0) 14293 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/history.html\n -rw-r--r-- 0 root (0) root (0) 3946 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/history.htp.gz\n -rw-r--r-- 0 root (0) root (0) 3911 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/hlhtp.pl\n -rw-r--r-- 0 root (0) root (0) 165 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/htp.def\n -rw-r--r-- 0 root (0) root (0) 4049 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/htp.htt\n--rw-r--r-- 0 root (0) root (0) 12520 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/if.html\n+-rw-r--r-- 0 root (0) root (0) 9111 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/if.html\n -rw-r--r-- 0 root (0) root (0) 932 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/if.htp\n--rw-r--r-- 0 root (0) root (0) 11229 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/imageurl.html\n+-rw-r--r-- 0 root (0) root (0) 12150 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/imageurl.html\n -rw-r--r-- 0 root (0) root (0) 2507 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/imageurl.htp\n--rw-r--r-- 0 root (0) root (0) 9160 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/img.html\n+-rw-r--r-- 0 root (0) root (0) 9190 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/img.html\n -rw-r--r-- 0 root (0) root (0) 1168 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/img.htp\n--rw-r--r-- 0 root (0) root (0) 11614 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/inc.html\n+-rw-r--r-- 0 root (0) root (0) 10448 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/inc.html\n -rw-r--r-- 0 root (0) root (0) 1092 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/inc.htp\n -rw-r--r-- 0 root (0) root (0) 9881 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/include.html\n -rw-r--r-- 0 root (0) root (0) 1894 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/include.htp\n -rw-r--r-- 0 root (0) root (0) 4874 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/index.html\n -rw-r--r-- 0 root (0) root (0) 78 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/index.htp\n -rw-r--r-- 0 root (0) root (0) 7733 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/intro.html\n -rw-r--r-- 0 root (0) root (0) 3489 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/intro.htp\n -rw-r--r-- 0 root (0) root (0) 10774 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/license.html\n -rw-r--r-- 0 root (0) root (0) 454 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/license.htp\n -rw-r--r-- 0 root (0) root (0) 3782 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/macros.def\n -rw-r--r-- 0 root (0) root (0) 5088 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/macros.html\n -rw-r--r-- 0 root (0) root (0) 388 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/macros.htp\n--rw-r--r-- 0 root (0) root (0) 12729 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/metatag.html\n+-rw-r--r-- 0 root (0) root (0) 18538 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/metatag.html\n -rw-r--r-- 0 root (0) root (0) 2439 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/metatag.htp.gz\n--rw-r--r-- 0 root (0) root (0) 7852 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/opt.html\n+-rw-r--r-- 0 root (0) root (0) 7911 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/opt.html\n -rw-r--r-- 0 root (0) root (0) 608 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/opt.htp\n -rw-r--r-- 0 root (0) root (0) 7809 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/options.html\n -rw-r--r-- 0 root (0) root (0) 3100 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/options.htp\n--rw-r--r-- 0 root (0) root (0) 8282 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/output.html\n+-rw-r--r-- 0 root (0) root (0) 8851 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/output.html\n -rw-r--r-- 0 root (0) root (0) 695 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/output.htp\n drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/\n -rw-r--r-- 0 root (0) root (0) 171 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/arrow.png\n -rw-r--r-- 0 root (0) root (0) 262 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/download.png\n -rw-r--r-- 0 root (0) root (0) 708 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/htpicon.png\n -rw-r--r-- 0 root (0) root (0) 25563 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/logo.png\n -rw-r--r-- 0 root (0) root (0) 455 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/manbig.png\n -rw-r--r-- 0 root (0) root (0) 491 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/manual.png\n -rw-r--r-- 0 root (0) root (0) 1313 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/poweredbyhtp.png\n -rw-r--r-- 0 root (0) root (0) 679 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/sficon.png\n -rw-r--r-- 0 root (0) root (0) 492 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pic/source.png\n -rw-r--r-- 0 root (0) root (0) 523 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/pphtp.pl\n--rw-r--r-- 0 root (0) root (0) 8416 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/quote.html\n+-rw-r--r-- 0 root (0) root (0) 10674 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/quote.html\n -rw-r--r-- 0 root (0) root (0) 390 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/quote.htp\n--rw-r--r-- 0 root (0) root (0) 10243 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/set.html\n+-rw-r--r-- 0 root (0) root (0) 10443 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/set.html\n -rw-r--r-- 0 root (0) root (0) 1200 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/set.htp\n -rw-r--r-- 0 root (0) root (0) 500 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/styles.css\n -rw-r--r-- 0 root (0) root (0) 27219 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/template.html\n -rw-r--r-- 0 root (0) root (0) 2235 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/template.htp.gz\n -rw-r--r-- 0 root (0) root (0) 1914 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/toc.def\n drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tut/\n -rw-r--r-- 0 root (0) root (0) 146 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tut/footer.hti\n@@ -102,23 +102,23 @@\n -rw-r--r-- 0 root (0) root (0) 192 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tut/tut2.htp\n -rw-r--r-- 0 root (0) root (0) 501 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tut/tut3.html\n -rw-r--r-- 0 root (0) root (0) 191 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tut/tut3.htp\n -rw-r--r-- 0 root (0) root (0) 356 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tut/tut3.htt\n -rw-r--r-- 0 root (0) root (0) 297 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tut/tut4.htt\n -rw-r--r-- 0 root (0) root (0) 10517 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tutorial.html\n -rw-r--r-- 0 root (0) root (0) 3393 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/tutorial.htp\n--rw-r--r-- 0 root (0) root (0) 8285 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/undef.html\n+-rw-r--r-- 0 root (0) root (0) 8064 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/undef.html\n -rw-r--r-- 0 root (0) root (0) 460 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/undef.htp\n--rw-r--r-- 0 root (0) root (0) 10096 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/unset.html\n+-rw-r--r-- 0 root (0) root (0) 11349 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/unset.html\n -rw-r--r-- 0 root (0) root (0) 658 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/unset.htp\n -rw-r--r-- 0 root (0) root (0) 7681 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/usage.html\n -rw-r--r-- 0 root (0) root (0) 2959 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/usage.htp\n--rw-r--r-- 0 root (0) root (0) 14227 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/use.html\n+-rw-r--r-- 0 root (0) root (0) 14262 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/use.html\n -rw-r--r-- 0 root (0) root (0) 3300 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/use.htp\n--rw-r--r-- 0 root (0) root (0) 11290 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/while.html\n+-rw-r--r-- 0 root (0) root (0) 10091 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/while.html\n -rw-r--r-- 0 root (0) root (0) 938 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/while.htp\n -rw-r--r-- 0 root (0) root (0) 5288 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/wishlist.html\n -rw-r--r-- 0 root (0) root (0) 1311 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/wishlist.htp\n drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 235 2020-06-14 17:36:12.000000 ./usr/share/doc-base/htp.htp\n drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/lintian/\n drwxr-xr-x 0 root (0) root (0) 0 2020-06-14 23:21:19.000000 ./usr/share/lintian/overrides/\n"}, {"source1": "./usr/share/doc/htp/alttext.html", "source2": "./usr/share/doc/htp/alttext.html", "unified_diff": "@@ -114,30 +114,50 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-<!--- comment --->
\n+  <\"[ref]\"blockdef name=\"section\" option=\"title\">
\n+   <h1><\"[ref]\"use title></h1>
\n+   <p class=\"section\">
\n+     <\"[ref]\"use block>
\n+   </p>
\n+  <\"[ref]\"/blockdef>
\n
\n+  <section title=\"My Section\">
\n+    This is a fancy section.
\n+  </section>
\n

\n

synopsis

\n ALTTEXT declares an ALT attribute for any IMG tag with a SRC matching the ALTTEXT NAME.\n Since relative paths can be used to point to the same image, only the\n filename is considered in all comparisons.\n

\n When an IMG tag with a matching source is encountered, htp will add an ALT\n attribute only if one is not already present. This allows for ALT text to\n be overridden on specific images and default text on all others.\n

\n For example:\n

\n-<!--- This comment doesn't appear in the HTML file --->
\n+<\"[ref]\"IF [NOT] conditional>
\n+    block #1
\n+[
\n+<ELSEIF [NOT] conditional>
\n+    block #2
\n+...
\n+]
\n+[
\n+<ELSE>
\n+    block #3
\n+]
\n+<\"[ref]\"/IF>
\n+
\n

\n

\n An ALTTEXT tag with a name but no text attribute removes any ALT\n mapping for this image. Successing IMG tags with a matching SRC name are not\n changed.\n

\n Since this is useful for an image used throughout a set of documents,\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,36 +1,55 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: A\bAL\bLT\bTT\bTE\bEX\bXT\bT *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 _\bU_\bs_\ba_\bg_\be A\bAL\bLT\bTT\bTE\bEX\bXT\bT declares an ALT attribute for any _\bI_\bM_\bG tag\n-\u00a0 HTP Tags with a SRC matching the ALTTEXT NAME. Since\n-\u00a0 [>] _\bA_\bL_\bT_\bT_\bE_\bX_\bT relative paths can be used to point to the same\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK image, only the filename is considered in all\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF comparisons.\n-\u00a0 \u00a0 _\bD_\bE_\bF When an IMG tag with a matching source is\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE encountered, htp will add an ALT attribute only if\n-\u00a0 \u00a0 _\bI_\bF one is not already present. This allows for ALT\n-\u00a0 \u00a0 _\bI_\bN_\bC text to be overridden on specific images and\n-\u00a0 \u00a0 _\bI_\bM_\bG default text on all others.\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL For example:\n-\u00a0 \u00a0 _\bO_\bP_\bT \n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE An ALTTEXT tag with a name but no text attribute\n-\u00a0 \u00a0 _\bS_\bE_\bT removes any ALT mapping for this image. Successing\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF IMG tags with a matching SRC name are not changed.\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT Since this is useful for an image used throughout a\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ set of documents, ALTTEXT is most appropriate in an\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE _\bi_\bn_\bc_\bl_\bu_\bd_\be_\b _\bf_\bi_\bl_\be or a _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\bf_\bi_\bl_\be.\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- In addition to ALTTEXT, htp can also automatically\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by add WIDTH and HEIGHT attributes to _\bI_\bM_\bG tags.\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt\n-\u00a0 _\bB_\bu_\bg_\bs\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf name=\"section\" option=\"title\">\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be \u00a0 \u00a0

<_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be title>

\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl \u00a0 \u00a0

\n+\u00a0 _\bU_\bs_\ba_\bg_\be \u00a0 \u00a0 \u00a0<_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be block>\n+\u00a0 HTP Tags \u00a0 \u00a0

\n+\u00a0 [>] _\bA_\bL_\bT_\bT_\bE_\bX_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf>\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF \u00a0
\n+\u00a0 \u00a0 _\bD_\bE_\bF \u00a0 \u00a0 This is a fancy section.\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE \u00a0
\n+\u00a0 \u00a0 _\bI_\bF *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 \u00a0 _\bI_\bN_\bC A\bAL\bLT\bTT\bTE\bEX\bXT\bT declares an ALT attribute for any _\bI_\bM_\bG tag\n+\u00a0 \u00a0 _\bI_\bM_\bG with a SRC matching the ALTTEXT NAME. Since\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL relative paths can be used to point to the same\n+\u00a0 \u00a0 _\bO_\bP_\bT image, only the filename is considered in all\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT comparisons.\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE When an IMG tag with a matching source is\n+\u00a0 \u00a0 _\bS_\bE_\bT encountered, htp will add an ALT attribute only if\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF one is not already present. This allows for ALT\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT text to be overridden on specific images and\n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ default text on all others.\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE For example:\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF [NOT] conditional>\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a0 \u00a0 block #1\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt [\n+\u00a0 _\bB_\bu_\bg_\bs \n+ \u00a0 \u00a0 block #2\n+ ...\n+ ]\n+ [\n+ \n+ \u00a0 \u00a0 block #3\n+ ]\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bI_\bF>\n+\n+ An ALTTEXT tag with a name but no text attribute\n+ removes any ALT mapping for this image. Successing\n+ IMG tags with a matching SRC name are not changed.\n+ Since this is useful for an image used throughout a\n+ set of documents, ALTTEXT is most appropriate in an\n+ _\bi_\bn_\bc_\bl_\bu_\bd_\be_\b _\bf_\bi_\bl_\be or a _\bd_\be_\bf_\ba_\bu_\bl_\bt_\b _\bf_\bi_\bl_\be.\n+ In addition to ALTTEXT, htp can also automatically\n+ add WIDTH and HEIGHT attributes to _\bI_\bM_\bG tags.\n+\n+\n \n \n \n \n \n \n \n"}]}, {"source1": "./usr/share/doc/htp/block.html", "source2": "./usr/share/doc/htp/block.html", "unified_diff": "@@ -114,24 +114,18 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-  <\"[ref]\"alttext name=\"logo.gif\" text=\"Company logo\">
\n+<\"[ref]\"blockdef name=\"tagname\" [option=\"option1 [option2 ...]\" ] [global] [expand]>
\n+  ... <\"[ref]\"use block> ...
\n+<\"[ref]\"/blockdef>
\n
\n-  this line: <\"[ref]\"img src=\"logo.gif\">
\n-  becomes this after processing: <\"[ref]\"img src=\"logo.gif\" alt=\"Company logo\">
\n-
\n-  this line: <\"[ref]\"img src=\"../image/logo.gif\">
\n-  will also have an ALT attribute appended to it
\n-
\n-  this line: <\"[ref]\"img src=\"logo.gif\" alt=\"Click here for more information!\">
\n-  remains unchanged.
\n

\n

synopsis

\n

\n BLOCK and /BLOCK are used to create block macros, which\n are similar in use to SET macros, but can be\n multi-line definitions.\n

\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,51 +1,43 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: B\bBL\bLO\bOC\bCK\bK,\b, /\b/B\bBL\bLO\bOC\bCK\bK *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\ba_\bl_\bt_\bt_\be_\bx_\bt name=\"logo.gif\" text=\"Company\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be logo\">\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl\n-\u00a0 _\bU_\bs_\ba_\bg_\be \u00a0 this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"logo.gif\">\n-\u00a0 HTP Tags \u00a0 becomes this after processing: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT src=\"logo.gif\" alt=\"Company logo\">\n-\u00a0 [>] _\bB_\bL_\bO_\bC_\bK\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF \u00a0 this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"../image/logo.gif\">\n-\u00a0 \u00a0 _\bD_\bE_\bF \u00a0 will also have an ALT attribute appended to it\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE\n-\u00a0 \u00a0 _\bI_\bF \u00a0 this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"logo.gif\" alt=\"Click\n-\u00a0 \u00a0 _\bI_\bN_\bC here for more information!\">\n-\u00a0 \u00a0 _\bI_\bM_\bG \u00a0 remains unchanged.\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 \u00a0 _\bO_\bP_\bT B\bBL\bLO\bOC\bCK\bK a\ban\bnd\bd /\b/B\bBL\bLO\bOC\bCK\bK are used to create block macros,\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT which are similar in use to _\bS_\bE_\bT macros, but can be\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE multi-line definitions.\n-\u00a0 \u00a0 _\bS_\bE_\bT Any text and formatting may be set inside the\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF block. You can use any htp or user defined metatag\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT including _\bF_\bI_\bL_\bE_\b _\bI_\bN_\bC_\bL_\bU_\bD_\bE. The metatags won't be\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ expanded before the block is USEd except if you\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE give the _\bE_\bX_\bP_\bA_\bN_\bD parameter.\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- The block macro is dereferenced (expanded) with the\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by _\bU_\bS_\bE_\b _\bt_\ba_\bg_\b _\bo_\br_\b _\bt_\bh_\be_\b _\b'_\b$_\b'_\b _\bo_\bp_\be_\br_\ba_\bt_\bo_\br. See the notes on the\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt _\bU_\bS_\bE tag on how to pass parameters to a block macro.\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf name=\"tagname\" [option=\"option1\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be [option2 ...]\" ] [global] [expand]>\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl \u00a0 ... <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be block>\u00a0...\n+\u00a0 _\bU_\bs_\ba_\bg_\be <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf>\n+\u00a0 HTP Tags\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 [>] _\bB_\bL_\bO_\bC_\bK B\bBL\bLO\bOC\bCK\bK a\ban\bnd\bd /\b/B\bBL\bLO\bOC\bCK\bK are used to create block macros,\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF which are similar in use to _\bS_\bE_\bT macros, but can be\n+\u00a0 \u00a0 _\bD_\bE_\bF multi-line definitions.\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE Any text and formatting may be set inside the\n+\u00a0 \u00a0 _\bI_\bF block. You can use any htp or user defined metatag\n+\u00a0 \u00a0 _\bI_\bN_\bC including _\bF_\bI_\bL_\bE_\b _\bI_\bN_\bC_\bL_\bU_\bD_\bE. The metatags won't be\n+\u00a0 \u00a0 _\bI_\bM_\bG expanded before the block is USEd except if you\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL give the _\bE_\bX_\bP_\bA_\bN_\bD parameter.\n+\u00a0 \u00a0 _\bO_\bP_\bT The block macro is dereferenced (expanded) with the\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT _\bU_\bS_\bE_\b _\bt_\ba_\bg_\b _\bo_\br_\b _\bt_\bh_\be_\b _\b'_\b$_\b'_\b _\bo_\bp_\be_\br_\ba_\bt_\bo_\br. See the notes on the\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE _\bU_\bS_\bE tag on how to pass parameters to a block macro.\n+\u00a0 \u00a0 _\bS_\bE_\bT\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT\n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b-\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt\n \u00a0 _\bB_\bu_\bg_\bs\n \n \n \n \n \n \n \n-\n-\n-\n-\n-\n-\n-\n-\n \n \n \n \n \u00a0 _\bp_\ba_\bg_\be_\b _\bs_\bo_\bu_\br_\bc_\be\n \u00a0 _\bh_\bt_\bp_\b _\bp_\br_\bo_\bj_\be_\bc_\bt\n \u00a0 _\bh_\bt_\bp_\b _\bh_\bo_\bm_\be_\bp_\ba_\bg_\be\n"}]}, {"source1": "./usr/share/doc/htp/blockdef.html", "source2": "./usr/share/doc/htp/blockdef.html", "unified_diff": "@@ -126,15 +126,42 @@\n HREF=\"metatag.html\">metatags, which is a fancy way of saying it\n creates new block tags. A block tag is a tag that takes a whole block\n as additional parameter. This block is surrounded by <tagname> and\n </tagname>. The contents of this block are automatically stored\n in the block macro named BLOCK.\n

For example:

\n

\n-<!--- This comment doesn't appear in the HTML file --->
\n+  <\"[ref]\"set time=\"0\">
\n+  <\"[ref]\"block name=a>
\n+    a is expanded at time <\"[ref]\"use time>.
\n+  <\"[ref]\"/block>
\n+  <\"[ref]\"block name=b expand>
\n+    b is expanded at time <\"[ref]\"use time>.
\n+  <\"[ref]\"/block>
\n+  <\"[ref]\"set time=\"1\">
\n+  <\"[ref]\"use a>
\n+  <\"[ref]\"use b>
\n+  contents of a: <\"[ref]\"use a noexpand>
\n+  contents of b: <\"[ref]\"use b noexpand>
\n+  <\"[ref]\"block name=c expand>
\n+    c is expanded at time <\"[ref]\"use time>; <\"[ref]\"use a>
\n+  <\"[ref]\"/block>
\n+  <\"[ref]\"block name=d expand>
\n+    d is expanded at time <\"[ref]\"use time>; <\"[ref]\"use a noexpand>
\n+  <\"[ref]\"/block>
\n+  <\"[ref]\"block name=e>
\n+    e is expanded at time <\"[ref]\"use time>; <\"[ref]\"use a noexpand>
\n+  <\"[ref]\"/block>
\n+  <\"[ref]\"set time=\"2\">
\n+  <\"[ref]\"block name=a>
\n+    a is defined for the 2nd time <\"[ref]\"use time>.
\n+  <\"[ref]\"/block>
\n+  <\"[ref]\"use c>
\n+  <\"[ref]\"use d>
\n+  <\"[ref]\"use e>
\n

\n

\n All block metatags have the implicit option EXPAND, which tells htp to expand the contents\n of the block before the definition is expanded.\n

\n

\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -8,29 +8,59 @@\n \u00a0 HTP Tags way of saying it creates new block tags. A block\n \u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT tag is a tag that takes a whole block as additional\n \u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK parameter. This block is surrounded by \n \u00a0 [>] _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF and . The contents of this block are\n \u00a0 \u00a0 _\bD_\bE_\bF automatically stored in the block macro named\n \u00a0 \u00a0 _\bF_\bI_\bL_\bE BLOCK.\n \u00a0 \u00a0 _\bI_\bF For example:\n-\u00a0 \u00a0 _\bI_\bN_\bC \n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL All block metatags have the implicit option _\bE_\bX_\bP_\bA_\bN_\bD,\n-\u00a0 \u00a0 _\bO_\bP_\bT which tells htp to expand the contents of the block\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT before the definition is expanded.\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE A more thorough discussion and more elaborate\n-\u00a0 \u00a0 _\bS_\bE_\bT examples are discussed in the _\bm_\be_\bt_\ba_\bt_\ba_\bg section.\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b-\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt\n-\u00a0 _\bB_\bu_\bg_\bs\n+\u00a0 \u00a0 _\bI_\bN_\bC \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt time=\"0\">\n+\u00a0 \u00a0 _\bI_\bM_\bG \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=a>\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL \u00a0 \u00a0 a is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>.\n+\u00a0 \u00a0 _\bO_\bP_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=b expand>\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE \u00a0 \u00a0 b is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>.\n+\u00a0 \u00a0 _\bS_\bE_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt time=\"1\">\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a>\n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be b>\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE \u00a0 contents of a: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a noexpand>\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- \u00a0 contents of b: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be b noexpand>\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=c expand>\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt \u00a0 \u00a0 c is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>; <_\b[\n+\u00a0 _\bB_\bu_\bg_\bs _\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=d expand>\n+ \u00a0 \u00a0 d is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>; <_\b[\n+ _\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a noexpand>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=e>\n+ \u00a0 \u00a0 e is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>; <_\b[\n+ _\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a noexpand>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt time=\"2\">\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=a>\n+ \u00a0 \u00a0 a is defined for the 2nd time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be\n+ time>.\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be c>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be d>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be e>\n+ All block metatags have the implicit option _\bE_\bX_\bP_\bA_\bN_\bD,\n+ which tells htp to expand the contents of the block\n+ before the definition is expanded.\n+ A more thorough discussion and more elaborate\n+ examples are discussed in the _\bm_\be_\bt_\ba_\bt_\ba_\bg section.\n+\n+\n+\n+\n+\n+\n+\n+\n \n \n \n \n \n \n \n"}]}, {"source1": "./usr/share/doc/htp/def.html", "source2": "./usr/share/doc/htp/def.html", "unified_diff": "@@ -114,96 +114,69 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-  <\"[ref]\"alttext name=\"logo.gif\" text=\"Company logo\">
\n-
\n-  this line: <\"[ref]\"img src=\"logo.gif\">
\n-  becomes this after processing: <\"[ref]\"img src=\"logo.gif\" alt=\"Company logo\">
\n-
\n-  this line: <\"[ref]\"img src=\"../image/logo.gif\">
\n-  will also have an ALT attribute appended to it
\n-
\n-  this line: <\"[ref]\"img src=\"logo.gif\" alt=\"Click here for more information!\">
\n-  remains unchanged.
\n+    <EM>File \"<\"[ref]\"FILE NAME>\" last updated <\"[ref]\"FILE TIME>, <\"[ref]\"FILE DATE></EM>
\n

\n

synopsis

\n

\n DEF creates metatags, which is a\n fancy way of saying it creates new tags. The mechanism is very similar to\n BLOCK macros, except that the USE\n tag is not used to expand them. Instead, they are expanded by their own name.\n For example:\n

\n

\n-  <\"[ref]\"set time=\"0\">
\n-  <\"[ref]\"block name=a>
\n-    a is expanded at time <\"[ref]\"use time>.
\n-  <\"[ref]\"/block>
\n-  <\"[ref]\"block name=b expand>
\n-    b is expanded at time <\"[ref]\"use time>.
\n-  <\"[ref]\"/block>
\n-  <\"[ref]\"set time=\"1\">
\n-  <\"[ref]\"use a>
\n-  <\"[ref]\"use b>
\n-  contents of a: <\"[ref]\"use a noexpand>
\n-  contents of b: <\"[ref]\"use b noexpand>
\n-  <\"[ref]\"block name=c expand>
\n-    c is expanded at time <\"[ref]\"use time>; <\"[ref]\"use a>
\n-  <\"[ref]\"/block>
\n-  <\"[ref]\"block name=d expand>
\n-    d is expanded at time <\"[ref]\"use time>; <\"[ref]\"use a noexpand>
\n-  <\"[ref]\"/block>
\n-  <\"[ref]\"block name=e>
\n-    e is expanded at time <\"[ref]\"use time>; <\"[ref]\"use a noexpand>
\n-  <\"[ref]\"/block>
\n-  <\"[ref]\"set time=\"2\">
\n-  <\"[ref]\"block name=a>
\n-    a is defined for the 2nd time <\"[ref]\"use time>.
\n-  <\"[ref]\"/block>
\n-  <\"[ref]\"use c>
\n-  <\"[ref]\"use d>
\n-  <\"[ref]\"use e>
\n+    <\"[ref]\"IF name>...<\"[ref]\"/IF>
\n

\n

\n Some metatags will require an opening and closing tag (comparable to\n and ). In this case, you should use the BLOCKDEF macro. Another slightly faster\n alternative is to use two metatags, the opening tag and the closing\n tag with a preceding slash. For example:\n

\n

\n-<\"[ref]\"IF [NOT] conditional>
\n-    block #1
\n-[
\n-<ELSEIF [NOT] conditional>
\n-    block #2
\n-...
\n-]
\n-[
\n-<ELSE>
\n-    block #3
\n-]
\n-<\"[ref]\"/IF>
\n+  <\"[ref]\"imageurl url=\"http://my.domain.org/\" path=\"/var/www/my.domain/\">
\n+  <\"[ref]\"imageurl url=\"other.domain.org/\" path=\"/var/www/other.domain/\">
\n+
\n+  For this line: <\"[ref]\"img src=\"logo.gif\">
\n+  the local filename \"logo.gif\" will be used to determine image dimensions
\n+  (no URL replacement).
\n
\n+  For this line: <\"[ref]\"img src=\"http://my.domain.org/logo.gif\">
\n+  the local filename \"/var/www/my.domain/logo.gif\" will be used.
\n+
\n+  But for this line: <\"[ref]\"img src=\"http://other.domain.org/logo.gif\">
\n+  the local file cannot be found (no prefix match), so the image dimensions
\n+  will not be added.
\n+
\n+  Order is important; last IMAGEURL tag takes precedence:
\n+  <\"[ref]\"imageurl url=\"/\" path=\"/var/www/htdocs/\">
\n+  <\"[ref]\"imageurl url=\"/test/\" path=\"/var/www/test/\">
\n+
\n+  <\"[ref]\"img src=\"/image.gif\"> and <\"[ref]\"img src=\"/test/image.gif\"> are mapped to
\n+  /var/www/htdocs/image.gif and /var/www/test/image.gif, resp.
\n+  If the order of the imageurl lines would be swapped, the second
\n+  image would be mapped to /var/www/htdocs/test/image.gif.
\n

\n

You should really use BLOCKDEF, though,\n as it will check for matching end tag. It is not that slower.

\n

\n Options can be passed to a metatag, which can then expand as if it were\n a SET macro. Option names are parameterized with\n the OPTION attribute. Multiple options can be listed by separating their\n name with a space (which therefore requires they be surrounded by quotes.)\n

\n

\n-    <\"[ref]\"FILE INCLUDE=\"include.hti\" name=\"Jim Nelson\" email=\"jnelson@crl.com\">
\n-    This tag will fail: <\"[ref]\"USE name>
\n+<\"[ref]\"SET macroname1=\"macrovalue1\" [macroname2=\"macrovalue2\" ...] [GLOBAL]>
\n+
\n

\n

\n htp will do very specific checking of parameters when a metatag is\n invoked. htp assumes that all parameter options to the metatag are\n optional. This is why the HEADERIMG definition uses IF to verify the\n SIZE option is defined before expanding it in the block. If a\n parameter is required, simply expand it without first checking. When\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,92 +1,72 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: D\bDE\bEF\bF,\b, /\b/D\bDE\bEF\bF *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\ba_\bl_\bt_\bt_\be_\bx_\bt name=\"logo.gif\" text=\"Company\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be logo\">\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl\n-\u00a0 _\bU_\bs_\ba_\bg_\be \u00a0 this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"logo.gif\">\n-\u00a0 HTP Tags \u00a0 becomes this after processing: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT src=\"logo.gif\" alt=\"Company logo\">\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF \u00a0 this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"../image/logo.gif\">\n-\u00a0 [>] _\bD_\bE_\bF \u00a0 will also have an ALT attribute appended to it\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE\n-\u00a0 \u00a0 _\bI_\bF \u00a0 this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"logo.gif\" alt=\"Click\n-\u00a0 \u00a0 _\bI_\bN_\bC here for more information!\">\n-\u00a0 \u00a0 _\bI_\bM_\bG \u00a0 remains unchanged.\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 \u00a0 _\bO_\bP_\bT D\bDE\bEF\bF creates _\bm_\be_\bt_\ba_\bt_\ba_\bg_\bs, which is a fancy way of\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT saying it creates new tags. The mechanism is very\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE similar to _\bB_\bL_\bO_\bC_\bK macros, except that the _\bU_\bS_\bE tag is\n-\u00a0 \u00a0 _\bS_\bE_\bT not used to expand them. Instead, they are expanded\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF by their own name. For example:\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt time=\"0\">\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=a>\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE \u00a0 \u00a0 a is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>.\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=b expand>\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt \u00a0 \u00a0 b is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>.\n-\u00a0 _\bB_\bu_\bg_\bs \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt time=\"1\">\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be b>\n- \u00a0 contents of a: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a noexpand>\n- \u00a0 contents of b: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be b noexpand>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=c expand>\n- \u00a0 \u00a0 c is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>; <_\b[\n- _\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=d expand>\n- \u00a0 \u00a0 d is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>; <_\b[\n- _\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a noexpand>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=e>\n- \u00a0 \u00a0 e is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>; <_\b[\n- _\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a noexpand>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt time=\"2\">\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=a>\n- \u00a0 \u00a0 a is defined for the 2nd time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be\n- time>.\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be c>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be d>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be e>\n- Some metatags will require an opening and closing\n- tag (comparable to\n- and\n- ). In this case, you should use the _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF macro.\n- Another slightly faster alternative is to use two\n- metatags, the opening tag and the closing tag with\n- a preceding slash. For example:\n- <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF [NOT] conditional>\n- \u00a0 \u00a0 block #1\n- [\n- \n- \u00a0 \u00a0 block #2\n- ...\n- ]\n- [\n- \n- \u00a0 \u00a0 block #3\n- ]\n- <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bI_\bF>\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 \u00a0 File \"<_\b[_\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE NAME>\" last updated <_\b[\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be _\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE TIME>, <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE DATE>\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 _\bU_\bs_\ba_\bg_\be D\bDE\bEF\bF creates _\bm_\be_\bt_\ba_\bt_\ba_\bg_\bs, which is a fancy way of\n+\u00a0 HTP Tags saying it creates new tags. The mechanism is very\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT similar to _\bB_\bL_\bO_\bC_\bK macros, except that the _\bU_\bS_\bE tag is\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK not used to expand them. Instead, they are expanded\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF by their own name. For example:\n+\u00a0 [>] _\bD_\bE_\bF \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF name>...<_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bI_\bF>\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE Some metatags will require an opening and closing\n+\u00a0 \u00a0 _\bI_\bF tag (comparable to\n+\u00a0 \u00a0 _\bI_\bN_\bC and\n+\u00a0 \u00a0 _\bI_\bM_\bG ). In this case, you should use the _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF macro.\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL Another slightly faster alternative is to use two\n+\u00a0 \u00a0 _\bO_\bP_\bT metatags, the opening tag and the closing tag with\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT a preceding slash. For example:\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"http://my.domain.org/\n+\u00a0 \u00a0 _\bS_\bE_\bT \" path=\"/var/www/my.domain/\">\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"other.domain.org/\" path=\"/\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT var/www/other.domain/\">\n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE \u00a0 For this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"logo.gif\">\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- \u00a0 the local filename \"logo.gif\" will be used to\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by determine image dimensions\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt \u00a0 (no URL replacement).\n+\u00a0 _\bB_\bu_\bg_\bs\n+ \u00a0 For this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"http://\n+ my.domain.org/logo.gif\">\n+ \u00a0 the local filename \"/var/www/my.domain/logo.gif\"\n+ will be used.\n \n+ \u00a0 But for this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"http://\n+ other.domain.org/logo.gif\">\n+ \u00a0 the local file cannot be found (no prefix match),\n+ so the image dimensions\n+ \u00a0 will not be added.\n+\n+ \u00a0 Order is important; last IMAGEURL tag takes\n+ precedence:\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"/\" path=\"/var/www/htdocs/\">\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"/test/\" path=\"/var/www/\n+ test/\">\n+\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"/image.gif\">\u00a0and <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg\n+ src=\"/test/image.gif\">\u00a0are mapped to\n+ \u00a0 /var/www/htdocs/image.gif and /var/www/test/\n+ image.gif, resp.\n+ \u00a0 If the order of the imageurl lines would be\n+ swapped, the second\n+ \u00a0 image would be mapped to /var/www/htdocs/test/\n+ image.gif.\n You should really use _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF, though, as it will\n check for matching end tag. It is not that slower.\n Options can be passed to a metatag, which can then\n expand as if it were a _\bS_\bE_\bT macro. Option names are\n parameterized with the OPTION attribute. Multiple\n options can be listed by separating their name with\n a space (which therefore requires they be\n surrounded by quotes.)\n- \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE INCLUDE=\"include.hti\" name=\"Jim\n- Nelson\" email=\"jnelson@crl.com\">\n- \u00a0 \u00a0 This tag will fail: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bU_\bS_\bE name>\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bS_\bE_\bT macroname1=\"macrovalue1\"\n+ [macroname2=\"macrovalue2\" ...] [GLOBAL]>\n+\n htp will do very specific checking of parameters\n when a metatag is invoked. htp assumes that all\n parameter options to the metatag are optional. This\n is why the HEADERIMG definition uses IF to verify\n the SIZE option is defined before expanding it in\n the block. If a parameter is required, simply\n expand it without first checking. When htp expands\n"}]}, {"source1": "./usr/share/doc/htp/expand.html", "source2": "./usr/share/doc/htp/expand.html", "unified_diff": "@@ -98,22 +98,28 @@\n

However, if the block tag is marked with the expand\n modifier it is expanded immediately. This is useful if you want to\n store something in a block macro, that depends on the current value of\n another macro. This other macro may no longer have the correct value\n when the macro is expanded. Here is some code that demonstrate when\n the htp tags are expanded:

\n

\n- 1. <\"[ref]\"if disabled_because_xyz>
\n- 2.   ...
\n- 3. <\"[ref]\"/if>
\n+ 1. <\"[ref]\"file execute=\"command-line\" (output=\"filename\" | redirect) [noerror]>
\n+ 2. <\"[ref]\"file include=\"includefilename\" [parameters ...]>
\n+ 3. <\"[ref]\"file name>
\n+ 4. <\"[ref]\"file [ name=\"filename\" ] size[ = (byte|kbyte|mbyte|gbyte) ] [precision=n]>
\n+ 5. <\"[ref]\"file [ name=\"filename\" ] time[ =\"format\" ]>
\n+ 6. <\"[ref]\"file [ name=\"filename\" ] date[ =\"format\" ]>
\n+ 7. <\"[ref]\"file search=\"searchpath\">
\n+ 8. <\"[ref]\"file template=\"templatefilename\">
\n+ 9.
\n

\n This produces the following:\n

\n-    File image.gif <\"[ref]\"FILE NAME=\"image.gif\" SIZE=KBYTE> kilobytes
\n-    Last modified <\"[ref]\"FILE NAME=\"image.gif\" TIME>, <\"[ref]\"FILE NAME=\"image.gif\" DATE>
\n+<\"[ref]\"img src=\"filename\" ...>
\n+
\n

\n

\n When block a and block b are defined in lines 2-7 the contents of a\n are taken literally, however, the contents for b are already expanded\n so the macro time is evaluated. So a is expanded when it\n is used, while the contents of b are already expanded.\n

\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -24,22 +24,31 @@\n However, if the block tag is marked with the expand\n modifier it is expanded immediately. This is useful\n if you want to store something in a block macro,\n that depends on the current value of another macro.\n This other macro may no longer have the correct\n value when the macro is expanded. Here is some code\n that demonstrate when the htp tags are expanded:\n- \u00a01. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bf disabled_because_xyz>\n- \u00a02. \u00a0 ...\n- \u00a03. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bi_\bf>\n+ \u00a01. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be execute=\"command-line\"\n+ (output=\"filename\" | redirect) [noerror]>\n+ \u00a02. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"includefilename\"\n+ [parameters ...]>\n+ \u00a03. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be name>\n+ \u00a04. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be [ name=\"filename\" ] size[ =\n+ (byte|kbyte|mbyte|gbyte) ] [precision=n]>\n+ \u00a05. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be [ name=\"filename\" ] time\n+ [ =\"format\" ]>\n+ \u00a06. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be [ name=\"filename\" ] date\n+ [ =\"format\" ]>\n+ \u00a07. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be search=\"searchpath\">\n+ \u00a08. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be template=\"templatefilename\">\n+ \u00a09.\n This produces the following:\n- \u00a0 \u00a0 File image.gif <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE NAME=\"image.gif\"\n- SIZE=KBYTE>\u00a0kilobytes\n- \u00a0 \u00a0 Last modified <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE NAME=\"image.gif\"\n- TIME>, <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE NAME=\"image.gif\" DATE>\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"filename\" ...>\n+\n When block a and block b are defined in lines 2-\n 7 the contents of a are taken literally, however,\n the contents for b are already expanded so the\n macro time is evaluated. So a is expanded when it\n is used, while the contents of b are already\n expanded.\n In line 10 and 12 the _\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be tag is used with\n"}]}, {"source1": "./usr/share/doc/htp/file.html", "source2": "./usr/share/doc/htp/file.html", "unified_diff": "@@ -114,75 +114,59 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-  <\"[ref]\"set time=\"0\">
\n-  <\"[ref]\"block name=a>
\n-    a is expanded at time <\"[ref]\"use time>.
\n-  <\"[ref]\"/block>
\n-  <\"[ref]\"block name=b expand>
\n-    b is expanded at time <\"[ref]\"use time>.
\n-  <\"[ref]\"/block>
\n-  <\"[ref]\"set time=\"1\">
\n-  <\"[ref]\"use a>
\n-  <\"[ref]\"use b>
\n-  contents of a: <\"[ref]\"use a noexpand>
\n-  contents of b: <\"[ref]\"use b noexpand>
\n-  <\"[ref]\"block name=c expand>
\n-    c is expanded at time <\"[ref]\"use time>; <\"[ref]\"use a>
\n-  <\"[ref]\"/block>
\n-  <\"[ref]\"block name=d expand>
\n-    d is expanded at time <\"[ref]\"use time>; <\"[ref]\"use a noexpand>
\n-  <\"[ref]\"/block>
\n-  <\"[ref]\"block name=e>
\n-    e is expanded at time <\"[ref]\"use time>; <\"[ref]\"use a noexpand>
\n-  <\"[ref]\"/block>
\n-  <\"[ref]\"set time=\"2\">
\n-  <\"[ref]\"block name=a>
\n-    a is defined for the 2nd time <\"[ref]\"use time>.
\n-  <\"[ref]\"/block>
\n-  <\"[ref]\"use c>
\n-  <\"[ref]\"use d>
\n-  <\"[ref]\"use e>
\n-

\n-

synopsis

\n-FILE has several optional parameters of differing purpose.\n-The output file's name, the current date and time, and the contents of\n-another file may be included. Another file's time, date, or size may be\n-added to the output file as well.\n-

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

\n-<\"[ref]\"IF [NOT] conditional>
\n+<\"[ref]\"IF [NOT] conditional>
\n     block #1
\n [
\n-<ELSEIF [NOT] conditional>
\n+<ELSEIF [NOT] conditional>
\n     block #2
\n ...
\n ]
\n [
\n <ELSE>
\n     block #3
\n ]
\n <\"[ref]\"/IF>
\n
\n

\n+

synopsis

\n+FILE has several optional parameters of differing purpose.\n+The output file's name, the current date and time, and the contents of\n+another file may be included. Another file's time, date, or size may be\n+added to the output file as well.\n+

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

\n+    <\"[ref]\"IF name=\"Jim\">...<\"[ref]\"/IF>
\n+

\n

\n

NAME, TIME, SIZE

\n

\n To include information about another file, such as an archive file or\n graphic image, specify its name with the NAME attribute followed by the\n type of information to be displayed:\n

\n-<\"[ref]\"imageurl url=\"imageurl\" [ path=\"path/in/local/filesystem\" ]>
\n+ <\"[ref]\"def name=\"imghr\">
\n+   <table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
\n+   <tr>
\n+    <td width=10><\"[ref]\"img src=\"leftsep.png\"></td>
\n+    <td width=\"95%\" background=\"midsep.png\">&nbsp;</td>
\n+    <td width=10><\"[ref]\"img src=\"rightsep.png\"></td>
\n+   </tr>
\n+   </table>
\n+ <\"[ref]\"/def>
\n
\n+ paragraph
\n+ <imghr>
\n+ paragraph
\n

\n

\n For file size information, the value BYTE, KBYTE, etc. dictates how the\n information is displayed. In anything other than byte format, the information\n is displayed in floating-point notation. The amount of precision (the number\n of digits to the right of the decimal point) can be set with the optional\n PRECISION attribute. The default precision is zero (0), which means no\n@@ -211,15 +195,21 @@\n

\n Additional parameters can be set in the FILE INCLUDE tag, which are\n interpreted as macros that are \"passed\" to the included file. The macros\n are available only to the include file (and any macros or included files it\n holds). After the file is completely included, the macros are no longer\n available. So:\n

\n-<\"[ref]\"INC macroname1=\"increment1\" [macroname2=\"increment2\" ... ] [GLOBAL]>
\n+<\"[ref]\"OPT (IMGXY|NOIMGXY)>
\n+<\"[ref]\"OPT (QUIET|VERBOSE)>
\n+<\"[ref]\"OPT (DEPEND|NODEPEND)>
\n+<\"[ref]\"OPT (PRECIOUS|NOPRECIOUS)>
\n+<\"[ref]\"OPT (CONDENSE|SEMICONDENSE|NOCONDENSE)>
\n+<\"[ref]\"OPT DELIM=(HTML|SQUARE|CURLY)>
\n+<\"[ref]\"OPT (XML|XML=FALSE)>
\n
\n

\n

\n Macros named \"name\" and \"email\" are set, and available inside the included\n file. They are not available, however, past the tag (which is why the\n second statement will fail.)\n

\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,72 +1,55 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: F\bFI\bIL\bLE\bE *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt time=\"0\">\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=a>\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl \u00a0 \u00a0 a is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>.\n-\u00a0 _\bU_\bs_\ba_\bg_\be \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n-\u00a0 HTP Tags \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=b expand>\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT \u00a0 \u00a0 b is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>.\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt time=\"1\">\n-\u00a0 \u00a0 _\bD_\bE_\bF \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a>\n-\u00a0 [>] _\bF_\bI_\bL_\bE \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be b>\n-\u00a0 \u00a0 _\bI_\bF \u00a0 contents of a: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a noexpand>\n-\u00a0 \u00a0 _\bI_\bN_\bC \u00a0 contents of b: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be b noexpand>\n-\u00a0 \u00a0 _\bI_\bM_\bG \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=c expand>\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL \u00a0 \u00a0 c is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>; <_\b[\n-\u00a0 \u00a0 _\bO_\bP_\bT _\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a>\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=d expand>\n-\u00a0 \u00a0 _\bS_\bE_\bT \u00a0 \u00a0 d is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>; <_\b[\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF _\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a noexpand>\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=e>\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE \u00a0 \u00a0 e is expanded at time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be time>; <_\b[\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- _\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be a noexpand>\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt time=\"2\">\n-\u00a0 _\bB_\bu_\bg_\bs \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=a>\n- \u00a0 \u00a0 a is defined for the 2nd time <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be\n- time>.\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be c>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be d>\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be e>\n- *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n- F\bFI\bIL\bLE\bE has several optional parameters of differing\n- purpose. The output file's name, the current date\n- and time, and the contents of another file may be\n- included. Another file's time, date, or size may be\n- added to the output file as well.\n- As with all HTML, these tags do not have to be on\n- their own line, so the following is perfectly\n- acceptable:\n- <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF [NOT] conditional>\n- \u00a0 \u00a0 block #1\n- [\n- \n- \u00a0 \u00a0 block #2\n- ...\n- ]\n- [\n- \n- \u00a0 \u00a0 block #3\n- ]\n- <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bI_\bF>\n-\n- *\b**\b**\b**\b* N\bNA\bAM\bME\bE,\b, T\bTI\bIM\bME\bE,\b, S\bSI\bIZ\bZE\bE *\b**\b**\b**\b*\n- To include information about another file, such as\n- an archive file or graphic image, specify its name\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF [NOT] conditional>\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be \u00a0 \u00a0 block #1\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl [\n+\u00a0 _\bU_\bs_\ba_\bg_\be \n+\u00a0 HTP Tags \u00a0 \u00a0 block #2\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT ...\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK ]\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF [\n+\u00a0 \u00a0 _\bD_\bE_\bF \n+\u00a0 [>] _\bF_\bI_\bL_\bE \u00a0 \u00a0 block #3\n+\u00a0 \u00a0 _\bI_\bF ]\n+\u00a0 \u00a0 _\bI_\bN_\bC <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bI_\bF>\n+\u00a0 \u00a0 _\bI_\bM_\bG\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 \u00a0 _\bO_\bP_\bT F\bFI\bIL\bLE\bE has several optional parameters of differing\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT purpose. The output file's name, the current date\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE and time, and the contents of another file may be\n+\u00a0 \u00a0 _\bS_\bE_\bT included. Another file's time, date, or size may be\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF added to the output file as well.\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT As with all HTML, these tags do not have to be on\n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ their own line, so the following is perfectly\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE acceptable:\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF name=\"Jim\">...<_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bI_\bF>\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by *\b**\b**\b**\b* N\bNA\bAM\bME\bE,\b, T\bTI\bIM\bME\bE,\b, S\bSI\bIZ\bZE\bE *\b**\b**\b**\b*\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt To include information about another file, such as\n+\u00a0 _\bB_\bu_\bg_\bs an archive file or graphic image, specify its name\n with the NAME attribute followed by the type of\n information to be displayed:\n- <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"imageurl\" [ path=\"path/in/\n- local/filesystem\" ]>\n+ \u00a0<_\b[_\b[_\br_\be_\bf_\b]_\b]_\bd_\be_\bf name=\"imghr\">\n+ \u00a0 \u00a0\n+ \u00a0 \u00a0\n+ \u00a0 \u00a0 \n+ \u00a0 \u00a0 \n+ \u00a0 \u00a0
<_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"leftsep.png\">\n+ \u00a0 \u00a0  <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"rightsep.png\">\n+ \u00a0 \u00a0
\n+ \u00a0<_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bd_\be_\bf>\n \n+ \u00a0paragraph\n+ \u00a0\n+ \u00a0paragraph\n For file size information, the value BYTE, KBYTE,\n etc. dictates how the information is displayed. In\n anything other than byte format, the information is\n displayed in floating-point notation. The amount of\n precision (the number of digits to the right of the\n decimal point) can be set with the optional\n PRECISION attribute. The default precision is zero\n@@ -97,16 +80,21 @@\n Additional parameters can be set in the FILE\n INCLUDE tag, which are interpreted as macros that\n are \"passed\" to the included file. The macros are\n available only to the include file (and any macros\n or included files it holds). After the file is\n completely included, the macros are no longer\n available. So:\n- <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bN_\bC macroname1=\"increment1\"\n- [macroname2=\"increment2\" ... ] [GLOBAL]>\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (IMGXY|NOIMGXY)>\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (QUIET|VERBOSE)>\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (DEPEND|NODEPEND)>\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (PRECIOUS|NOPRECIOUS)>\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (CONDENSE|SEMICONDENSE|NOCONDENSE)>\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT DELIM=(HTML|SQUARE|CURLY)>\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (XML|XML=FALSE)>\n \n Macros named \"name\" and \"email\" are set, and\n available inside the included file. They are not\n available, however, past the tag (which is why the\n second statement will fail.)\n *\b**\b**\b**\b* T\bTE\bEM\bMP\bPL\bLA\bAT\bTE\bE *\b**\b**\b**\b*\n A template file is nothing more than a default\n"}]}, {"source1": "./usr/share/doc/htp/if.html", "source2": "./usr/share/doc/htp/if.html", "unified_diff": "@@ -114,57 +114,33 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-    File image.gif <\"[ref]\"FILE NAME=\"image.gif\" SIZE=KBYTE> kilobytes
\n-    Last modified <\"[ref]\"FILE NAME=\"image.gif\" TIME>, <\"[ref]\"FILE NAME=\"image.gif\" DATE>
\n+<\"[ref]\"INC macroname1=\"increment1\" [macroname2=\"increment2\" ... ] [GLOBAL]>
\n+
\n

\n

synopsis

\n IF, NOT, ELSEIF, ELSE, and /IF are the building\n blocks for conditional processing. The basic form is shown above.\n

\"Conditional\" is either a \"compare\" or \"is defined\" operation. A\n compare operator is a test of the value of a macro against a literal\n string:\n

\n-<\"[ref]\"INC macroname1=\"increment1\" [macroname2=\"increment2\" ... ] [GLOBAL]>
\n-
\n-imageurl url=\"other.domain.org/\" path=\"/var/www/other.domain/\">
\n-
\n-  For this line: <\"[ref]\"img src=\"logo.gif\">
\n-  the local filename \"logo.gif\" will be used to determine image dimensions
\n-  (no URL replacement).
\n-
\n-  For this line: <\"[ref]\"img src=\"http://my.domain.org/logo.gif\">
\n-  the local filename \"/var/www/my.domain/logo.gif\" will be used.
\n+<\"[ref]\"img src=\"filename\" ...>
\n
\n-  But for this line: <\"[ref]\"img src=\"http://other.domain.org/logo.gif\">
\n-  the local file cannot be found (no prefix match), so the image dimensions
\n-  will not be added.
\n-
\n-  Order is important; last IMAGEURL tag takes precedence:
\n-  <\"[ref]\"imageurl url=\"/\" path=\"/var/www/htdocs/\">
\n-  <\"[ref]\"imageurl url=\"/test/\" path=\"/var/www/test/\">
\n-
\n-  <\"[ref]\"img src=\"/image.gif\"> and <\"[ref]\"img src=\"/test/image.gif\"> are mapped to
\n-  /var/www/htdocs/image.gif and /var/www/test/image.gif, resp.
\n-  If the order of the imageurl lines would be swapped, the second
\n-  image would be mapped to /var/www/htdocs/test/image.gif.
\n

\n

\n and a defined operator is a test of a macro's existance:\n

\n

\n-<\"[ref]\"SET macroname1=\"macrovalue1\" [macroname2=\"macrovalue2\" ...] [GLOBAL]>
\n-
\n- <\"[ref]\"/blockdef>
\n+<\"[ref]\"imageurl url=\"imageurl\" [ path=\"path/in/local/filesystem\" ]>
\n
\n-  This is <bolditalic>bold and italic</bolditalic>
\n

\n

\n If the NOT tag is present in the IF markup, the evaluation of the\n conditional is reversed. The first IF or ELSEIF condition that\n evaluates to true is chosen. If none of the conditions is true the\n ELSE block is taken if it is present. A conditional block\n must be closed with the /IF tag. IF tags can be nested.\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,74 +1,36 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: I\bIF\bF,\b, E\bEL\bLS\bSE\bEI\bIF\bF,\b, E\bEL\bLS\bSE\bE,\b, /\b/I\bIF\bF *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 \u00a0 File image.gif <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE NAME=\"image.gif\"\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be SIZE=KBYTE>\u00a0kilobytes\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl \u00a0 \u00a0 Last modified <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE NAME=\"image.gif\"\n-\u00a0 _\bU_\bs_\ba_\bg_\be TIME>, <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE NAME=\"image.gif\" DATE>\n-\u00a0 HTP Tags *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT I\bIF\bF,\b, N\bNO\bOT\bT,\b, E\bEL\bLS\bSE\bEI\bIF\bF,\b, E\bEL\bLS\bSE\bE,\b, a\ban\bnd\bd /\b/I\bIF\bF are the building\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK blocks for conditional processing. The basic form\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF is shown above.\n-\u00a0 \u00a0 _\bD_\bE_\bF \"Conditional\" is either a \"compare\" or \"is defined\"\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE operation. A compare operator is a test of the\n-\u00a0 [>] _\bI_\bF value of a macro against a literal string:\n-\u00a0 \u00a0 _\bI_\bN_\bC <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bN_\bC macroname1=\"increment1\"\n-\u00a0 \u00a0 _\bI_\bM_\bG [macroname2=\"increment2\" ... ] [GLOBAL]>\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL\n-\u00a0 \u00a0 _\bO_\bP_\bT imageurl url=\"other.domain.org/\" path=\"/var/www/\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT other.domain/\">\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bN_\bC macroname1=\"increment1\"\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be [macroname2=\"increment2\" ... ] [GLOBAL]>\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl\n+\u00a0 _\bU_\bs_\ba_\bg_\be *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 HTP Tags I\bIF\bF,\b, N\bNO\bOT\bT,\b, E\bEL\bLS\bSE\bEI\bIF\bF,\b, E\bEL\bLS\bSE\bE,\b, a\ban\bnd\bd /\b/I\bIF\bF are the building\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT blocks for conditional processing. The basic form\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK is shown above.\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF \"Conditional\" is either a \"compare\" or \"is defined\"\n+\u00a0 \u00a0 _\bD_\bE_\bF operation. A compare operator is a test of the\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE value of a macro against a literal string:\n+\u00a0 [>] _\bI_\bF <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"filename\" ...>\n+\u00a0 \u00a0 _\bI_\bN_\bC\n+\u00a0 \u00a0 _\bI_\bM_\bG and a defined operator is a test of a macro's\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL existance:\n+\u00a0 \u00a0 _\bO_\bP_\bT <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"imageurl\" [ path=\"path/in/\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT local/filesystem\" ]>\n \u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE\n-\u00a0 \u00a0 _\bS_\bE_\bT \u00a0 For this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"logo.gif\">\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF \u00a0 the local filename \"logo.gif\" will be used to\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT determine image dimensions\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ \u00a0 (no URL replacement).\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- \u00a0 For this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"http://\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by my.domain.org/logo.gif\">\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt \u00a0 the local filename \"/var/www/my.domain/logo.gif\"\n-\u00a0 _\bB_\bu_\bg_\bs will be used.\n-\n- \u00a0 But for this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"http://\n- other.domain.org/logo.gif\">\n- \u00a0 the local file cannot be found (no prefix match),\n- so the image dimensions\n- \u00a0 will not be added.\n-\n- \u00a0 Order is important; last IMAGEURL tag takes\n- precedence:\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"/\" path=\"/var/www/htdocs/\">\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"/test/\" path=\"/var/www/\n- test/\">\n-\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"/image.gif\">\u00a0and <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg\n- src=\"/test/image.gif\">\u00a0are mapped to\n- \u00a0 /var/www/htdocs/image.gif and /var/www/test/\n- image.gif, resp.\n- \u00a0 If the order of the imageurl lines would be\n- swapped, the second\n- \u00a0 image would be mapped to /var/www/htdocs/test/\n- image.gif.\n- and a defined operator is a test of a macro's\n- existance:\n- <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bS_\bE_\bT macroname1=\"macrovalue1\"\n- [macroname2=\"macrovalue2\" ...] [GLOBAL]>\n-\n- \u00a0<_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf>\n-\n- \u00a0 This is bold and italic\n- If the NOT tag is present in the IF markup, the\n- evaluation of the conditional is reversed. The\n- first IF or ELSEIF condition that evaluates to true\n- is chosen. If none of the conditions is true the\n- ELSE block is taken if it is present. A conditional\n- block m\bmu\bus\bst\bt be closed with the /IF tag. IF tags can\n- be nested.\n-\n-\n+\u00a0 \u00a0 _\bS_\bE_\bT If the NOT tag is present in the IF markup, the\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF evaluation of the conditional is reversed. The\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT first IF or ELSEIF condition that evaluates to true\n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ is chosen. If none of the conditions is true the\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE ELSE block is taken if it is present. A conditional\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- block m\bmu\bus\bst\bt be closed with the /IF tag. IF tags can\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by be nested.\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt\n+\u00a0 _\bB_\bu_\bg_\bs\n \n \n \n \n \n \n \n"}]}, {"source1": "./usr/share/doc/htp/imageurl.html", "source2": "./usr/share/doc/htp/imageurl.html", "unified_diff": "@@ -114,16 +114,16 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-    <\"[ref]\"FILE INCLUDE=\"include.hti\" name=\"Jim Nelson\" email=\"jnelson@crl.com\">
\n-    This tag will fail: <\"[ref]\"USE name>
\n+<\"[ref]\"QUOTE TAG [ATTRIBUTE=VALUE ...]>
\n+
\n

\n

synopsis

\n

\n IMAGEURL tells htp, where to find images on the local\n file system. declares an URL replacement that is used for\n size lookups in any IMG tag. This definitions\n takes effect only if the IMGXY option is\n@@ -137,27 +137,36 @@\n checks (case-insensitive) if it is a prefix of the image's SRC\n attribute. If it matches this prefix is replaced by the given PATH.\n If no IMAGEURL matches the SRC is considered as relative link and\n looked up in the current directory.

\n

\n For example:

\n

\n- <\"[ref]\"def name=\"imghr\">
\n-   <table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
\n-   <tr>
\n-    <td width=10><\"[ref]\"img src=\"leftsep.png\"></td>
\n-    <td width=\"95%\" background=\"midsep.png\">&nbsp;</td>
\n-    <td width=10><\"[ref]\"img src=\"rightsep.png\"></td>
\n-   </tr>
\n-   </table>
\n- <\"[ref]\"/def>
\n-
\n- paragraph
\n- <imghr>
\n- paragraph
\n+  <\"[ref]\"imageurl url=\"http://my.domain.org/\" path=\"/var/www/my.domain/\">
\n+  <\"[ref]\"imageurl url=\"other.domain.org/\" path=\"/var/www/other.domain/\">
\n+
\n+  For this line: <\"[ref]\"img src=\"logo.gif\">
\n+  the local filename \"logo.gif\" will be used to determine image dimensions
\n+  (no URL replacement).
\n+
\n+  For this line: <\"[ref]\"img src=\"http://my.domain.org/logo.gif\">
\n+  the local filename \"/var/www/my.domain/logo.gif\" will be used.
\n+
\n+  But for this line: <\"[ref]\"img src=\"http://other.domain.org/logo.gif\">
\n+  the local file cannot be found (no prefix match), so the image dimensions
\n+  will not be added.
\n+
\n+  Order is important; last IMAGEURL tag takes precedence:
\n+  <\"[ref]\"imageurl url=\"/\" path=\"/var/www/htdocs/\">
\n+  <\"[ref]\"imageurl url=\"/test/\" path=\"/var/www/test/\">
\n+
\n+  <\"[ref]\"img src=\"/image.gif\"> and <\"[ref]\"img src=\"/test/image.gif\"> are mapped to
\n+  /var/www/htdocs/image.gif and /var/www/test/image.gif, resp.
\n+  If the order of the imageurl lines would be swapped, the second
\n+  image would be mapped to /var/www/htdocs/test/image.gif.
\n

\n

\n If IMAGEURL is specified with a URL but no PATH attribute, it is treated as\n an undefine, and is removed.

\n

\n Since you usually need the url mapping for a number of images used throughout\n a set of documents, IMAGEURL is most appropriately put into an\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,49 +1,66 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: I\bIM\bMA\bAG\bGE\bEU\bUR\bRL\bL *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE INCLUDE=\"include.hti\" name=\"Jim\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be Nelson\" email=\"jnelson@crl.com\">\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl \u00a0 \u00a0 This tag will fail: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bU_\bS_\bE name>\n-\u00a0 _\bU_\bs_\ba_\bg_\be *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 HTP Tags I\bIM\bMA\bAG\bGE\bEU\bUR\bRL\bL tells htp, where to find images on the\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT local file system. declares an URL replacement that\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK is used for size lookups in any _\bI_\bM_\bG tag. This\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF definitions takes effect only if the _\bI_\bM_\bG_\bX_\bY option\n-\u00a0 \u00a0 _\bD_\bE_\bF is enabled. Beacause htp can't lookup files in the\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE world wide web you have to map absolute image URLs\n-\u00a0 \u00a0 _\bI_\bF to a directory in the local file system.\n-\u00a0 \u00a0 _\bI_\bN_\bC When an IMG tag is encountered where htp has to\n-\u00a0 \u00a0 _\bI_\bM_\bG insert width and height the defined URL\n-\u00a0 [>] _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL replacements will be taken into account (later\n-\u00a0 \u00a0 _\bO_\bP_\bT definitions take precedence to earlier): For each\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT defined imageurl it checks (case-insensitive) if it\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE is a prefix of the image's SRC attribute. If it\n-\u00a0 \u00a0 _\bS_\bE_\bT matches this prefix is replaced by the given PATH.\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF If no IMAGEURL matches the SRC is considered as\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT relative link and looked up in the current\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ directory.\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE For example:\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- \u00a0<_\b[_\b[_\br_\be_\bf_\b]_\b]_\bd_\be_\bf name=\"imghr\">\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a0 \u00a0\n-\u00a0 _\bB_\bu_\bg_\bs \u00a0 \u00a0\n- \u00a0 \u00a0 \n- \u00a0 \u00a0 \n- \u00a0 \u00a0
<_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"leftsep.png\">\n- \u00a0 \u00a0  <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"rightsep.png\">\n- \u00a0 \u00a0
\n- \u00a0<_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bd_\be_\bf>\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bQ_\bU_\bO_\bT_\bE TAG [ATTRIBUTE=VALUE ...]>\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 _\bU_\bs_\ba_\bg_\be I\bIM\bMA\bAG\bGE\bEU\bUR\bRL\bL tells htp, where to find images on the\n+\u00a0 HTP Tags local file system. declares an URL replacement that\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT is used for size lookups in any _\bI_\bM_\bG tag. This\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK definitions takes effect only if the _\bI_\bM_\bG_\bX_\bY option\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF is enabled. Beacause htp can't lookup files in the\n+\u00a0 \u00a0 _\bD_\bE_\bF world wide web you have to map absolute image URLs\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE to a directory in the local file system.\n+\u00a0 \u00a0 _\bI_\bF When an IMG tag is encountered where htp has to\n+\u00a0 \u00a0 _\bI_\bN_\bC insert width and height the defined URL\n+\u00a0 \u00a0 _\bI_\bM_\bG replacements will be taken into account (later\n+\u00a0 [>] _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL definitions take precedence to earlier): For each\n+\u00a0 \u00a0 _\bO_\bP_\bT defined imageurl it checks (case-insensitive) if it\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT is a prefix of the image's SRC attribute. If it\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE matches this prefix is replaced by the given PATH.\n+\u00a0 \u00a0 _\bS_\bE_\bT If no IMAGEURL matches the SRC is considered as\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF relative link and looked up in the current\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT directory.\n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ For example:\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"http://my.domain.org/\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- \" path=\"/var/www/my.domain/\">\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"other.domain.org/\" path=\"/\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt var/www/other.domain/\">\n+\u00a0 _\bB_\bu_\bg_\bs\n+ \u00a0 For this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"logo.gif\">\n+ \u00a0 the local filename \"logo.gif\" will be used to\n+ determine image dimensions\n+ \u00a0 (no URL replacement).\n \n- \u00a0paragraph\n- \u00a0\n- \u00a0paragraph\n+ \u00a0 For this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"http://\n+ my.domain.org/logo.gif\">\n+ \u00a0 the local filename \"/var/www/my.domain/logo.gif\"\n+ will be used.\n+\n+ \u00a0 But for this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"http://\n+ other.domain.org/logo.gif\">\n+ \u00a0 the local file cannot be found (no prefix match),\n+ so the image dimensions\n+ \u00a0 will not be added.\n+\n+ \u00a0 Order is important; last IMAGEURL tag takes\n+ precedence:\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"/\" path=\"/var/www/htdocs/\">\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"/test/\" path=\"/var/www/\n+ test/\">\n+\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"/image.gif\">\u00a0and <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg\n+ src=\"/test/image.gif\">\u00a0are mapped to\n+ \u00a0 /var/www/htdocs/image.gif and /var/www/test/\n+ image.gif, resp.\n+ \u00a0 If the order of the imageurl lines would be\n+ swapped, the second\n+ \u00a0 image would be mapped to /var/www/htdocs/test/\n+ image.gif.\n If IMAGEURL is specified with a URL but no PATH\n attribute, it is treated as an undefine, and is\n removed.\n Since you usually need the url mapping for a number\n of images used throughout a set of documents,\n IMAGEURL is most appropriately put into an _\bi_\bn_\bc_\bl_\bu_\bd_\be\n _\bf_\bi_\bl_\be or the _\bh_\bt_\bp_\b._\bd_\be_\bf file.\n"}]}, {"source1": "./usr/share/doc/htp/img.html", "source2": "./usr/share/doc/htp/img.html", "unified_diff": "@@ -114,15 +114,16 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-    File image.gif <\"[ref]\"FILE NAME=\"image.gif\" SIZE=KBYTE> kilobytes
\n+    <\"[ref]\"IF name>...<\"[ref]\"/IF>
\n+LE NAME=\"image.gif\" SIZE=KBYTE> kilobytes
\n     Last modified <\"[ref]\"FILE NAME=\"image.gif\" TIME>, <\"[ref]\"FILE NAME=\"image.gif\" DATE>
\n

\n

synopsis

\n

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

\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,12 +1,12 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: I\bIM\bMG\bG *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 \u00a0 File image.gif <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE NAME=\"image.gif\"\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be SIZE=KBYTE>\u00a0kilobytes\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF name>...<_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bI_\bF>\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be LE NAME=\"image.gif\" SIZE=KBYTE> kilobytes\n \u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl \u00a0 \u00a0 Last modified <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE NAME=\"image.gif\"\n \u00a0 _\bU_\bs_\ba_\bg_\be TIME>, <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE NAME=\"image.gif\" DATE>\n \u00a0 HTP Tags *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n \u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT i\bim\bmg\bg is a standard HTML tag. htp can add the\n \u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK specified image's width and height to the tag\n \u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF automatically. This has the advantage of not having\n \u00a0 \u00a0 _\bD_\bE_\bF to determine each image's size manually, which is\n"}]}, {"source1": "./usr/share/doc/htp/inc.html", "source2": "./usr/share/doc/htp/inc.html", "unified_diff": "@@ -114,52 +114,42 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-  <\"[ref]\"imageurl url=\"http://my.domain.org/\" path=\"/var/www/my.domain/\">
\n-  <\"[ref]\"imageurl url=\"other.domain.org/\" path=\"/var/www/other.domain/\">
\n-
\n-  For this line: <\"[ref]\"img src=\"logo.gif\">
\n-  the local filename \"logo.gif\" will be used to determine image dimensions
\n-  (no URL replacement).
\n-
\n-  For this line: <\"[ref]\"img src=\"http://my.domain.org/logo.gif\">
\n-  the local filename \"/var/www/my.domain/logo.gif\" will be used.
\n-
\n-  But for this line: <\"[ref]\"img src=\"http://other.domain.org/logo.gif\">
\n-  the local file cannot be found (no prefix match), so the image dimensions
\n-  will not be added.
\n-
\n-  Order is important; last IMAGEURL tag takes precedence:
\n-  <\"[ref]\"imageurl url=\"/\" path=\"/var/www/htdocs/\">
\n-  <\"[ref]\"imageurl url=\"/test/\" path=\"/var/www/test/\">
\n-
\n-  <\"[ref]\"img src=\"/image.gif\"> and <\"[ref]\"img src=\"/test/image.gif\"> are mapped to
\n-  /var/www/htdocs/image.gif and /var/www/test/image.gif, resp.
\n-  If the order of the imageurl lines would be swapped, the second
\n-  image would be mapped to /var/www/htdocs/test/image.gif.
\n+    <\"[ref]\"IF name>...<\"[ref]\"/IF>
\n

\n

synopsis

\n The INC can be used for incrementing/decrementing a\n variable or for variable addition. The basic form is shown above.\n

\n The \"increment\" is anything that evaluates to a integer. It can be a\n literal string or a macro preceeded by the '$'-operator. The\n macroname must be the name of a defined macro that contains an\n integer. If the increment is ommitted it defaults to 1.\n The effect of this operation is that the macro is redefined\n to contain the sum of its previous value and its increment.\n

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

\n-<\"[ref]\"QUOTE TAG [ATTRIBUTE=VALUE ...]>
\n-
\n+ <\"[ref]\"def name=\"imghr\">
\n+   <table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
\n+   <tr>
\n+    <td width=10><\"[ref]\"img src=\"leftsep.png\"></td>
\n+    <td width=\"95%\" background=\"midsep.png\">&nbsp;</td>
\n+    <td width=10><\"[ref]\"img src=\"rightsep.png\"></td>
\n+   </tr>
\n+   </table>
\n+ <\"[ref]\"/def>
\n+
\n+ paragraph
\n+ <imghr>
\n+ paragraph
\n

\n

\n Note that INC doesn't check if the strings really denote integers. It\n may give weired results when used on arbitrary strings. The integer\n values are limited to the range -2^31..2^31.\n

\n Note further that htp wasn't designed to do extensive calculations.\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,61 +1,42 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: I\bIN\bNC\bC *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"http://my.domain.org/\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be \" path=\"/var/www/my.domain/\">\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"other.domain.org/\" path=\"/\n-\u00a0 _\bU_\bs_\ba_\bg_\be var/www/other.domain/\">\n-\u00a0 HTP Tags\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT \u00a0 For this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"logo.gif\">\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK \u00a0 the local filename \"logo.gif\" will be used to\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF determine image dimensions\n-\u00a0 \u00a0 _\bD_\bE_\bF \u00a0 (no URL replacement).\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE\n-\u00a0 \u00a0 _\bI_\bF \u00a0 For this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"http://\n-\u00a0 [>] _\bI_\bN_\bC my.domain.org/logo.gif\">\n-\u00a0 \u00a0 _\bI_\bM_\bG \u00a0 the local filename \"/var/www/my.domain/logo.gif\"\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL will be used.\n-\u00a0 \u00a0 _\bO_\bP_\bT\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT \u00a0 But for this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"http://\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE other.domain.org/logo.gif\">\n-\u00a0 \u00a0 _\bS_\bE_\bT \u00a0 the local file cannot be found (no prefix match),\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF so the image dimensions\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT \u00a0 will not be added.\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE \u00a0 Order is important; last IMAGEURL tag takes\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- precedence:\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"/\" path=\"/var/www/htdocs/\">\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"/test/\" path=\"/var/www/\n-\u00a0 _\bB_\bu_\bg_\bs test/\">\n-\n- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"/image.gif\">\u00a0and <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg\n- src=\"/test/image.gif\">\u00a0are mapped to\n- \u00a0 /var/www/htdocs/image.gif and /var/www/test/\n- image.gif, resp.\n- \u00a0 If the order of the imageurl lines would be\n- swapped, the second\n- \u00a0 image would be mapped to /var/www/htdocs/test/\n- image.gif.\n- *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n- The I\bIN\bNC\bC can be used for incrementing/decrementing a\n- variable or for variable addition. The basic form\n- is shown above.\n- The \"increment\" is anything that evaluates to a\n- integer. It can be a literal string or a macro\n- preceeded by the '$'-operator. The macroname must\n- be the name of a defined macro that contains an\n- integer. If the increment is ommitted it defaults\n- to 1. The effect of this operation is that the\n- macro is redefined to contain the sum of its\n- previous value and its increment.\n- To increment or decrement a variable you can use\n- this form:\n- <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bQ_\bU_\bO_\bT_\bE TAG [ATTRIBUTE=VALUE ...]>\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF name>...<_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bI_\bF>\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl The I\bIN\bNC\bC can be used for incrementing/decrementing a\n+\u00a0 _\bU_\bs_\ba_\bg_\be variable or for variable addition. The basic form\n+\u00a0 HTP Tags is shown above.\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT The \"increment\" is anything that evaluates to a\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK integer. It can be a literal string or a macro\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF preceeded by the '$'-operator. The macroname must\n+\u00a0 \u00a0 _\bD_\bE_\bF be the name of a defined macro that contains an\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE integer. If the increment is ommitted it defaults\n+\u00a0 \u00a0 _\bI_\bF to 1. The effect of this operation is that the\n+\u00a0 [>] _\bI_\bN_\bC macro is redefined to contain the sum of its\n+\u00a0 \u00a0 _\bI_\bM_\bG previous value and its increment.\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL To increment or decrement a variable you can use\n+\u00a0 \u00a0 _\bO_\bP_\bT this form:\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT \u00a0<_\b[_\b[_\br_\be_\bf_\b]_\b]_\bd_\be_\bf name=\"imghr\">\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE \u00a0 \u00a0\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF \u00a0 \u00a0\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT \u00a0 \u00a0 \n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a0 \u00a0 \n+ \u00a0 \u00a0
<_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"leftsep.png\">\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE \u00a0 \u00a0  <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"rightsep.png\">\n+\u00a0 _\bB_\bu_\bg_\bs \u00a0 \u00a0
\n+ \u00a0<_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bd_\be_\bf>\n \n+ \u00a0paragraph\n+ \u00a0\n+ \u00a0paragraph\n Note that INC doesn't check if the strings really\n denote integers. It may give weired results when\n used on arbitrary strings. The integer values are\n limited to the range -2^31..2^31.\n Note further that htp wasn't designed to do\n extensive calculations. The INC tag is useful in\n conjunction with WHILE to iterate over the defined\n"}]}, {"source1": "./usr/share/doc/htp/metatag.html", "source2": "./usr/share/doc/htp/metatag.html", "unified_diff": "@@ -88,15 +88,38 @@\n

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

\n

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

\n

\n- 1.     <\"[ref]\"INC i=\"1\" j=\"-1\">
\n+ 1. <\"[ref]\"QUOTE TAG [ATTRIBUTE=VALUE ...]>
\n+ 2.
\n+ 3. rg/\" path=\"/var/www/my.domain/\">
\n+ 4.   <\"[ref]\"imageurl url=\"other.domain.org/\" path=\"/var/www/other.domain/\">
\n+ 5.
\n+ 6.   For this line: <\"[ref]\"img src=\"logo.gif\">
\n+ 7.   the local filename \"logo.gif\" will be used to determine image dimensions
\n+ 8.   (no URL replacement).
\n+ 9.
\n+10.   For this line: <\"[ref]\"img src=\"http://my.domain.org/logo.gif\">
\n+11.   the local filename \"/var/www/my.domain/logo.gif\" will be used.
\n+12.
\n+13.   But for this line: <\"[ref]\"img src=\"http://other.domain.org/logo.gif\">
\n+14.   the local file cannot be found (no prefix match), so the image dimensions
\n+15.   will not be added.
\n+16.
\n+17.   Order is important; last IMAGEURL tag takes precedence:
\n+18.   <\"[ref]\"imageurl url=\"/\" path=\"/var/www/htdocs/\">
\n+19.   <\"[ref]\"imageurl url=\"/test/\" path=\"/var/www/test/\">
\n+20.
\n+21.   <\"[ref]\"img src=\"/image.gif\"> and <\"[ref]\"img src=\"/test/image.gif\"> are mapped to
\n+22.   /var/www/htdocs/image.gif and /var/www/test/image.gif, resp.
\n+23.   If the order of the imageurl lines would be swapped, the second
\n+24.   image would be mapped to /var/www/htdocs/test/image.gif.
\n

\n

In line 1 of the above example a new tag named imghr is defined.\n The html code which implements this rule is following in lines 2-8.\n between the \"[ref]\"def and\n /def tags. You don't have to understand this\n html code, but you should understand that this is just pure html to\n draw the fancy rule. Every time you write <imghr>\n@@ -106,37 +129,41 @@\n file.

\n

Often you want to define tags that have an opening and a closing\n variant. For this purpose you should use the \"[ref]\"blockdef tag. When htp\n encounters a blockdef tag it will automatically search for the\n matching closing tag and put everything between these tags in a block\n macro named block. Here is an example for this.

\n

\n- 1. <\"[ref]\"use macroname [parameters ...] [noexpand]>
\n- 2. <... $macroname ...>
\n- 3. <... ${macroname} ...>
\n- 4.
\n+ 1. <\"[ref]\"SET macroname1=\"macrovalue1\" [macroname2=\"macrovalue2\" ...] [GLOBAL]>
\n+ 2.
\n

\n

Using parameters

\n

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

\n

\n- 1.     <\"[ref]\"unset email_addr home_url login_name>
\n+ 1.   <\"[ref]\"def name=\"sharedimg\" option=\"name alt\">
\n+ 2.     <\"[ref]\"img src=\"/home/sharedimages/${name}\" alt=\"${alt}\">;
\n+ 3.   <\"[ref]\"/def>
\n+ 4.
\n+ 5.   <sharedimg name=\"bubble.gif\" alt=\"Bubble image\">
\n

\n

Saving blocks for later

\n

When you are using templates, the html should only be written by\n the template file. The normal htp files should just define macros\n that are used later in the template. So you may want to write block\n tags that just save the block in a macro for later use. Although this\n is possible with htp it is quite tricky, so here we present the way to\n do this:

\n

\n- 1. <a href=\"mailto:$email\">mailto hyperlink</a>
\n- 2. <a href=\"http://$domain/~${username}/\">another hyperlink</a>
\n+ 1. <\"[ref]\"use macroname [parameters ...] [noexpand]>
\n+ 2. <... $macroname ...>
\n+ 3. <... ${macroname} ...>
\n+ 4.
\n

\n

This defines a block macro named section. This macro uses a\n counter sect-ctr that enumerates the sections. It is\n increased for every section (line 3) and then the block macro name is\n build from this counter. So the first section is stored in block\n sect-1, the second in sect-2 and so on. The \"[ref]\"global flag\n in line 4 tells htp that these macros should be defined globally\n@@ -155,15 +182,21 @@\n contents of block to be expanded twice. If you omit it, it would be\n expanded when defining the sect-1 macro and when using it later in the\n template. Generally it is a good idea to use noexpand whenever you\n use expand in a block around it.

\n

To close this example we show how to expand the\n sect-${sect-ctr} blocks in the template:

\n

\n- 1.     <${tagName} ${attrName}=${value$ctr}>
\n+ 1. <\"[ref]\"file include=\"header.hti\">
\n+ 2.   <\"[ref]\"set sect-ctr=\"1\">
\n+ 3.   <\"[ref]\"while sect-${sect-ctr}>
\n+ 4.     <\"[ref]\"use sect-${sect-ctr}>
\n+ 5.     <\"[ref]\"inc sect-ctr>
\n+ 6.   <\"[ref]\"/while>
\n+ 7. <\"[ref]\"file include=\"footer.hti\">
\n

\n

\n The \"[ref]\"while tag in line 3 checks whether\n the macro sect-${sect-ctr} is defined. If it is defined the body is\n evaluated, which expands the macro and increases sect-ctr. Afterwards\n the while condition is checked again to check for sect-2 macro. This\n repeats until sect-${sect-ctr} is not defined.\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -9,15 +9,51 @@\n \u00a0 \u00a0 _\bT_\be_\bm_\bp_\bl_\ba_\bt_\be_\bs functionality.\n \u00a0 \u00a0 _\bF_\bi_\bl_\be_\bs Metatags are defined with the _\b[_\b[_\br_\be_\bf_\b]_\b]_\bd_\be_\bf and _\b[\n \u00a0 [>] _\bM_\be_\bt_\ba_\bt_\ba_\bg_\bs _\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf tags and undefined with the _\b[\n \u00a0 _\bU_\bs_\ba_\bg_\be _\b[_\br_\be_\bf_\b]_\b]_\bu_\bn_\bd_\be_\bf tag.\n \u00a0 _\bH_\bT_\bP_\b _\bT_\ba_\bg_\bs As an example we show how to define a tag that\n \u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by builds a fancy horizontal rule out of several\n \u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt images.\n-\u00a0 _\bB_\bu_\bg_\bs \u00a01. \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bN_\bC i=\"1\" j=\"-1\">\n+\u00a0 _\bB_\bu_\bg_\bs \u00a01. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bQ_\bU_\bO_\bT_\bE TAG [ATTRIBUTE=VALUE ...]>\n+ \u00a02.\n+ \u00a03. rg/\" path=\"/var/www/my.domain/\">\n+ \u00a04. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"other.domain.org/\n+ \" path=\"/var/www/other.domain/\">\n+ \u00a05.\n+ \u00a06. \u00a0 For this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"logo.gif\">\n+ \u00a07. \u00a0 the local filename \"logo.gif\" will be used to\n+ determine image dimensions\n+ \u00a08. \u00a0 (no URL replacement).\n+ \u00a09.\n+ 10. \u00a0 For this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"http://\n+ my.domain.org/logo.gif\">\n+ 11. \u00a0 the local filename \"/var/www/my.domain/\n+ logo.gif\" will be used.\n+ 12.\n+ 13. \u00a0 But for this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"http://\n+ other.domain.org/logo.gif\">\n+ 14. \u00a0 the local file cannot be found (no prefix\n+ match), so the image dimensions\n+ 15. \u00a0 will not be added.\n+ 16.\n+ 17. \u00a0 Order is important; last IMAGEURL tag takes\n+ precedence:\n+ 18. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"/\" path=\"/var/www/\n+ htdocs/\">\n+ 19. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"/test/\" path=\"/var/www/\n+ test/\">\n+ 20.\n+ 21. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"/image.gif\">\u00a0and <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg\n+ src=\"/test/image.gif\">\u00a0are mapped to\n+ 22. \u00a0 /var/www/htdocs/image.gif and /var/www/test/\n+ image.gif, resp.\n+ 23. \u00a0 If the order of the imageurl lines would be\n+ swapped, the second\n+ 24. \u00a0 image would be mapped to /var/www/htdocs/\n+ test/image.gif.\n In line 1 of the above example a new tag named\n imghr is defined. The html code which implements\n this rule is following in lines 2-8. between the _\b[\n _\b[_\br_\be_\bf_\b]_\b]_\bd_\be_\bf_\b _\ba_\bn_\bd_\b _\b/_\bd_\be_\bf tags. You don't have to\n understand this html code, but you should\n understand that this is just pure html to draw the\n fancy rule. Every time you write as in line\n@@ -28,37 +64,43 @@\n Often you want to define tags that have an opening\n and a closing variant. For this purpose you should\n use the _\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf tag. When htp encounters a\n blockdef tag it will automatically search for the\n matching closing tag and put everything between\n these tags in a block macro named block. Here is an\n example for this.\n- \u00a01. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be macroname [parameters ...]\n- [noexpand]>\n- \u00a02. <... $macroname ...>\n- \u00a03. <... ${macroname} ...>\n- \u00a04.\n+ \u00a01. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bS_\bE_\bT macroname1=\"macrovalue1\"\n+ [macroname2=\"macrovalue2\" ...] [GLOBAL]>\n+ \u00a02.\n *\b**\b**\b**\b**\b* U\bUs\bsi\bin\bng\bg p\bpa\bar\bra\bam\bme\bet\bte\ber\brs\bs *\b**\b**\b**\b**\b*\n More sophisticated tags accept parameters. The\n option parameter lets multiple metatag parameters\n be named and expanded inside the def or blockdef\n block:\n- \u00a01. \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bn_\bs_\be_\bt email_addr home_url\n- login_name>\n+ \u00a01. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bd_\be_\bf name=\"sharedimg\" option=\"name\n+ alt\">\n+ \u00a02. \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"/home/sharedimages/$\n+ {name}\" alt=\"${alt}\">;\n+ \u00a03. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bd_\be_\bf>\n+ \u00a04.\n+ \u00a05. \u00a0 \n *\b**\b**\b**\b**\b* S\bSa\bav\bvi\bin\bng\bg b\bbl\blo\boc\bck\bks\bs f\bfo\bor\br l\bla\bat\bte\ber\br *\b**\b**\b**\b**\b*\n When you are using templates, the html should only\n be written by the template file. The normal htp\n files should just define macros that are used later\n in the template. So you may want to write block\n tags that just save the block in a macro for later\n use. Although this is possible with htp it is quite\n tricky, so here we present the way to do this:\n- \u00a01. mailto hyperlink\n- \u00a02. another\n- hyperlink\n+ \u00a01. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be macroname [parameters ...]\n+ [noexpand]>\n+ \u00a02. <... $macroname ...>\n+ \u00a03. <... ${macroname} ...>\n+ \u00a04.\n This defines a block macro named section. This\n macro uses a counter sect-ctr that enumerates the\n sections. It is increased for every section (line\n 3) and then the block macro name is build from this\n counter. So the first section is stored in block\n sect-1, the second in sect-2 and so on. The _\b[\n _\b[_\br_\be_\bf_\b]_\b]_\bg_\bl_\bo_\bb_\ba_\bl flag in line 4 tells htp that these\n@@ -81,15 +123,21 @@\n block to be expanded twice. If you omit it, it\n would be expanded when defining the sect-1 macro\n and when using it later in the template. Generally\n it is a good idea to use noexpand whenever you use\n expand in a block around it.\n To close this example we show how to expand the\n sect-${sect-ctr} blocks in the template:\n- \u00a01. \u00a0 \u00a0 <${tagName} ${attrName}=${value$ctr}>\n+ \u00a01. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"header.hti\">\n+ \u00a02. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt sect-ctr=\"1\">\n+ \u00a03. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bw_\bh_\bi_\bl_\be sect-${sect-ctr}>\n+ \u00a04. \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be sect-${sect-ctr}>\n+ \u00a05. \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bn_\bc sect-ctr>\n+ \u00a06. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bw_\bh_\bi_\bl_\be>\n+ \u00a07. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"footer.hti\">\n The _\b[_\b[_\br_\be_\bf_\b]_\b]_\bw_\bh_\bi_\bl_\be tag in line 3 checks whether the\n macro sect-${sect-ctr} is defined. If it is defined\n the body is evaluated, which expands the macro and\n increases sect-ctr. Afterwards the while condition\n is checked again to check for sect-2 macro. This\n repeats until sect-${sect-ctr} is not defined.\n *\b**\b**\b**\b**\b* C\bCo\bon\bnc\bcl\blu\bus\bsi\bio\bon\bns\bs *\b**\b**\b**\b**\b*\n"}]}, {"source1": "./usr/share/doc/htp/opt.html", "source2": "./usr/share/doc/htp/opt.html", "unified_diff": "@@ -114,15 +114,16 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-    <\"[ref]\"INC i=\"1\" j=\"-1\">
\n+<\"[ref]\"QUOTE TAG [ATTRIBUTE=VALUE ...]>
\n+
\n

\n

synopsis

\n OPT is an htp tag that can be used to specify processing\n options inside the actual document being processed. The options are\n used exactly as they would be on the command-line, although they are not\n preceded by a ‘-’ character.\n

\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,20 +1,20 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: O\bOP\bPT\bT *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bN_\bC i=\"1\" j=\"-1\">\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl O\bOP\bPT\bT is an htp tag that can be used to specify\n-\u00a0 _\bU_\bs_\ba_\bg_\be processing options inside the actual document being\n-\u00a0 HTP Tags processed. The options are used exactly as they\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT would be on the command-line, although they are not\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK preceded by a \u2018-\u2019 character.\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF Click here for _\bm_\bo_\br_\be_\b _\bi_\bn_\bf_\bo_\br_\bm_\ba_\bt_\bi_\bo_\bn_\b _\bo_\bn_\b _\bu_\bs_\bi_\bn_\bg\n-\u00a0 \u00a0 _\bD_\bE_\bF _\bc_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\b _\bo_\bp_\bt_\bi_\bo_\bn_\bs_\b _\bw_\bi_\bt_\bh_\b _\bh_\bt_\bp.\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bQ_\bU_\bO_\bT_\bE TAG [ATTRIBUTE=VALUE ...]>\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 _\bU_\bs_\ba_\bg_\be O\bOP\bPT\bT is an htp tag that can be used to specify\n+\u00a0 HTP Tags processing options inside the actual document being\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT processed. The options are used exactly as they\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK would be on the command-line, although they are not\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF preceded by a \u2018-\u2019 character.\n+\u00a0 \u00a0 _\bD_\bE_\bF Click here for _\bm_\bo_\br_\be_\b _\bi_\bn_\bf_\bo_\br_\bm_\ba_\bt_\bi_\bo_\bn_\b _\bo_\bn_\b _\bu_\bs_\bi_\bn_\bg\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE _\bc_\bu_\bs_\bt_\bo_\bm_\bi_\bz_\ba_\bt_\bi_\bo_\bn_\b _\bo_\bp_\bt_\bi_\bo_\bn_\bs_\b _\bw_\bi_\bt_\bh_\b _\bh_\bt_\bp.\n \u00a0 \u00a0 _\bI_\bF\n \u00a0 \u00a0 _\bI_\bN_\bC\n \u00a0 \u00a0 _\bI_\bM_\bG\n \u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL\n \u00a0 [>] _\bO_\bP_\bT\n \u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT\n \u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE\n@@ -26,14 +26,15 @@\n \u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b-\n \u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by\n \u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt\n \u00a0 _\bB_\bu_\bg_\bs\n \n \n \n+\n \u00a0 _\bp_\ba_\bg_\be_\b _\bs_\bo_\bu_\br_\bc_\be\n \u00a0 _\bh_\bt_\bp_\b _\bp_\br_\bo_\bj_\be_\bc_\bt\n \u00a0 _\bh_\bt_\bp_\b _\bh_\bo_\bm_\be_\bp_\ba_\bg_\be\n hosted by\n _\bS_\bo_\bu_\br_\bc_\be_\bf_\bo_\br_\bg_\be\n HTML coding_\b[_\bP_\bo_\bw_\be_\br_\be_\bd_\b _\bb_\by\n _\bh_\bt_\bp_\b]\n"}]}, {"source1": "./usr/share/doc/htp/output.html", "source2": "./usr/share/doc/htp/output.html", "unified_diff": "@@ -114,16 +114,19 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-<\"[ref]\"SET macroname1=\"macrovalue1\" [macroname2=\"macrovalue2\" ...] [GLOBAL]>
\n+  <\"[ref]\"def name=\"sharedimg\" option=\"name alt\">
\n+    <\"[ref]\"img src=\"/home/sharedimages/${name}\" alt=\"${alt}\">;
\n+  <\"[ref]\"/def>
\n
\n+  <sharedimg name=\"bubble.gif\" alt=\"Bubble image\">
\n

\n

synopsis

\n

The OUTPUT tag can be used to create auxillary\n files besides the main HTML file. The text between this tag and the\n corresponding </OUTPUT> tag is written to output file.

\n

Normally the outputfile is cleared before writing to it, but you\n can use the APPEND attribute to extend an existing file. The text\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,28 +1,28 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: O\bOU\bUT\bTP\bPU\bUT\bT *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bS_\bE_\bT macroname1=\"macrovalue1\"\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be [macroname2=\"macrovalue2\" ...] [GLOBAL]>\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl\n-\u00a0 _\bU_\bs_\ba_\bg_\be *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 HTP Tags The O\bOU\bUT\bTP\bPU\bUT\bT tag can be used to create auxillary\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT files besides the main HTML file. The text between\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK this tag and the corresponding tag is\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF written to output file.\n-\u00a0 \u00a0 _\bD_\bE_\bF Normally the outputfile is cleared before writing\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE to it, but you can use the APPEND attribute to\n-\u00a0 \u00a0 _\bI_\bF extend an existing file. The text written to the\n-\u00a0 \u00a0 _\bI_\bN_\bC file is normally not expanded, i.e. all tags inside\n-\u00a0 \u00a0 _\bI_\bM_\bG this block are not executed but written unmodified\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL to the file. However, you can use the _\bE_\bX_\bP_\bA_\bN_\bD\n-\u00a0 \u00a0 _\bO_\bP_\bT attribute to override this behaviour.\n-\u00a0 [>] _\bO_\bU_\bT_\bP_\bU_\bT\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE\n-\u00a0 \u00a0 _\bS_\bE_\bT\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bd_\be_\bf name=\"sharedimg\" option=\"name alt\">\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"/home/sharedimages/${name}\"\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl alt=\"${alt}\">;\n+\u00a0 _\bU_\bs_\ba_\bg_\be \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bd_\be_\bf>\n+\u00a0 HTP Tags\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT \u00a0 \n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF The O\bOU\bUT\bTP\bPU\bUT\bT tag can be used to create auxillary\n+\u00a0 \u00a0 _\bD_\bE_\bF files besides the main HTML file. The text between\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE this tag and the corresponding tag is\n+\u00a0 \u00a0 _\bI_\bF written to output file.\n+\u00a0 \u00a0 _\bI_\bN_\bC Normally the outputfile is cleared before writing\n+\u00a0 \u00a0 _\bI_\bM_\bG to it, but you can use the APPEND attribute to\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL extend an existing file. The text written to the\n+\u00a0 \u00a0 _\bO_\bP_\bT file is normally not expanded, i.e. all tags inside\n+\u00a0 [>] _\bO_\bU_\bT_\bP_\bU_\bT this block are not executed but written unmodified\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE to the file. However, you can use the _\bE_\bX_\bP_\bA_\bN_\bD\n+\u00a0 \u00a0 _\bS_\bE_\bT attribute to override this behaviour.\n \u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF\n \u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT\n \u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$\n \u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE\n \u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b-\n \u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by\n \u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt\n@@ -30,14 +30,17 @@\n \n \n \n \n \n \n \n+\n+\n+\n \n \n \u00a0 _\bp_\ba_\bg_\be_\b _\bs_\bo_\bu_\br_\bc_\be\n \u00a0 _\bh_\bt_\bp_\b _\bp_\br_\bo_\bj_\be_\bc_\bt\n \u00a0 _\bh_\bt_\bp_\b _\bh_\bo_\bm_\be_\bp_\ba_\bg_\be\n hosted by\n _\bS_\bo_\bu_\br_\bc_\be_\bf_\bo_\br_\bg_\be\n"}]}, {"source1": "./usr/share/doc/htp/quote.html", "source2": "./usr/share/doc/htp/quote.html", "unified_diff": "@@ -114,21 +114,36 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-  <\"[ref]\"blockdef name=\"bolditalic\">
\n-    <b><i>
\n-    <\"[ref]\"use block>
\n-    </i></b>
\n-  <\"[ref]\"/blockdef>
\n+  <\"[ref]\"imageurl url=\"http://my.domain.org/\" path=\"/var/www/my.domain/\">
\n+  <\"[ref]\"imageurl url=\"other.domain.org/\" path=\"/var/www/other.domain/\">
\n
\n-  This is <bolditalic>bold and italic</bolditalic>
\n+  For this line: <\"[ref]\"img src=\"logo.gif\">
\n+  the local filename \"logo.gif\" will be used to determine image dimensions
\n+  (no URL replacement).
\n+
\n+  For this line: <\"[ref]\"img src=\"http://my.domain.org/logo.gif\">
\n+  the local filename \"/var/www/my.domain/logo.gif\" will be used.
\n+
\n+  But for this line: <\"[ref]\"img src=\"http://other.domain.org/logo.gif\">
\n+  the local file cannot be found (no prefix match), so the image dimensions
\n+  will not be added.
\n+
\n+  Order is important; last IMAGEURL tag takes precedence:
\n+  <\"[ref]\"imageurl url=\"/\" path=\"/var/www/htdocs/\">
\n+  <\"[ref]\"imageurl url=\"/test/\" path=\"/var/www/test/\">
\n+
\n+  <\"[ref]\"img src=\"/image.gif\"> and <\"[ref]\"img src=\"/test/image.gif\"> are mapped to
\n+  /var/www/htdocs/image.gif and /var/www/test/image.gif, resp.
\n+  If the order of the imageurl lines would be swapped, the second
\n+  image would be mapped to /var/www/htdocs/test/image.gif.
\n

\n

synopsis

\n QUOTE is used to quote a macro that would otherwise\n be interpreted by HTP. It may be useful in conjunction with a\n surrounding EXPANDed block to prevent early\n expansion of some contained blocks. Note that '$' evaluation is still\n done inside a quote block.\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,36 +1,64 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: Q\bQU\bUO\bOT\bTE\bE *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf name=\"bolditalic\">\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be \u00a0 \u00a0 \n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be block>\n-\u00a0 _\bU_\bs_\ba_\bg_\be \u00a0 \u00a0 \n-\u00a0 HTP Tags \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf>\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK \u00a0 This is bold and italic\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 \u00a0 _\bD_\bE_\bF Q\bQU\bUO\bOT\bTE\bE is used to quote a macro that would otherwise\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE be interpreted by HTP. It may be useful in\n-\u00a0 \u00a0 _\bI_\bF conjunction with a surrounding _\bE_\bX_\bP_\bA_\bN_\bDed block to\n-\u00a0 \u00a0 _\bI_\bN_\bC prevent early expansion of some contained blocks.\n-\u00a0 \u00a0 _\bI_\bM_\bG Note that '$' evaluation is still done inside a\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL quote block.\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"http://my.domain.org/\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be \" path=\"/var/www/my.domain/\">\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"other.domain.org/\" path=\"/\n+\u00a0 _\bU_\bs_\ba_\bg_\be var/www/other.domain/\">\n+\u00a0 HTP Tags\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT \u00a0 For this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"logo.gif\">\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK \u00a0 the local filename \"logo.gif\" will be used to\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF determine image dimensions\n+\u00a0 \u00a0 _\bD_\bE_\bF \u00a0 (no URL replacement).\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE\n+\u00a0 \u00a0 _\bI_\bF \u00a0 For this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"http://\n+\u00a0 \u00a0 _\bI_\bN_\bC my.domain.org/logo.gif\">\n+\u00a0 \u00a0 _\bI_\bM_\bG \u00a0 the local filename \"/var/www/my.domain/logo.gif\"\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL will be used.\n \u00a0 \u00a0 _\bO_\bP_\bT\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT\n-\u00a0 [>] _\bQ_\bU_\bO_\bT_\bE\n-\u00a0 \u00a0 _\bS_\bE_\bT\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT \u00a0 But for this line: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"http://\n+\u00a0 [>] _\bQ_\bU_\bO_\bT_\bE other.domain.org/logo.gif\">\n+\u00a0 \u00a0 _\bS_\bE_\bT \u00a0 the local file cannot be found (no prefix match),\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF so the image dimensions\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT \u00a0 will not be added.\n \u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b-\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt\n-\u00a0 _\bB_\bu_\bg_\bs\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE \u00a0 Order is important; last IMAGEURL tag takes\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- precedence:\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"/\" path=\"/var/www/htdocs/\">\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\ba_\bg_\be_\bu_\br_\bl url=\"/test/\" path=\"/var/www/\n+\u00a0 _\bB_\bu_\bg_\bs test/\">\n+\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"/image.gif\">\u00a0and <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg\n+ src=\"/test/image.gif\">\u00a0are mapped to\n+ \u00a0 /var/www/htdocs/image.gif and /var/www/test/\n+ image.gif, resp.\n+ \u00a0 If the order of the imageurl lines would be\n+ swapped, the second\n+ \u00a0 image would be mapped to /var/www/htdocs/test/\n+ image.gif.\n+ *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+ Q\bQU\bUO\bOT\bTE\bE is used to quote a macro that would otherwise\n+ be interpreted by HTP. It may be useful in\n+ conjunction with a surrounding _\bE_\bX_\bP_\bA_\bN_\bDed block to\n+ prevent early expansion of some contained blocks.\n+ Note that '$' evaluation is still done inside a\n+ quote block.\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n \n \n \n \n \n \n \n"}]}, {"source1": "./usr/share/doc/htp/set.html", "source2": "./usr/share/doc/htp/set.html", "unified_diff": "@@ -114,32 +114,30 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-<\"[ref]\"WHILE [NOT] conditional>
\n-    block
\n-<\"[ref]\"/WHILE>
\n+<\"[ref]\"use macroname [parameters ...] [noexpand]>
\n+<... $macroname ...>
\n+<... ${macroname} ...>
\n
\n

\n

synopsis

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

\n-<\"[ref]\"block stuff>
\n-  <a href=$email>send email</a>
\n-<\"[ref]\"/block>
\n-
\n-<\"[ref]\"set morestuff=$email>
\n-
\n-This works:     <\"[ref]\"use stuff email=\"jnelson@crl.com\">
\n-But this fails: <\"[ref]\"use email>
\n-And this fails: <\"[ref]\"use morestuff email=\"jnelson@crl.com\">
\n+<\"[ref]\"file include=\"header.hti\">
\n+  <\"[ref]\"set sect-ctr=\"1\">
\n+  <\"[ref]\"while sect-${sect-ctr}>
\n+    <\"[ref]\"use sect-${sect-ctr}>
\n+    <\"[ref]\"inc sect-ctr>
\n+  <\"[ref]\"/while>
\n+<\"[ref]\"file include=\"footer.hti\">
\n

\n

\n The macro \"emailaddr\" can then be expanded later. The \n USE tag is used to expand the macro outside a tag (i.e., into the regular\n text). If the macro needs to be expanded inside a markup tag, use the\n '$' operator.\n

\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,40 +1,36 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: S\bSE\bET\bT *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bW_\bH_\bI_\bL_\bE [NOT] conditional>\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be \u00a0 \u00a0 block\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bW_\bH_\bI_\bL_\bE>\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be macroname [parameters ...] [noexpand]>\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be <... $macroname ...>\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl <... ${macroname} ...>\n \u00a0 _\bU_\bs_\ba_\bg_\be\n \u00a0 HTP Tags *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n \u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT S\bSE\bET\bT creates a macro definition that can later be\n \u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK expanded anywhere in the HTML document. To create a\n \u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF macro:\n-\u00a0 \u00a0 _\bD_\bE_\bF <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk stuff>\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE \u00a0 send email\n-\u00a0 \u00a0 _\bI_\bF <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n-\u00a0 \u00a0 _\bI_\bN_\bC\n-\u00a0 \u00a0 _\bI_\bM_\bG <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt morestuff=$email>\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL\n-\u00a0 \u00a0 _\bO_\bP_\bT This works: \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be stuff\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT email=\"jnelson@crl.com\">\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE But this fails: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be email>\n-\u00a0 [>] _\bS_\bE_\bT And this fails: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be morestuff\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF email=\"jnelson@crl.com\">\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT The macro \"emailaddr\" can then be expanded later.\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ The _\bU_\bS_\bE tag is used to expand the macro outside a\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE tag (i.e., into the regular text). If the macro\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- needs to be expanded inside a markup tag, use the\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by _\b'_\b$_\b' operator.\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt Multiple macros can be declared in a single markup\n-\u00a0 _\bB_\bu_\bg_\bs tag, as the second syntax line shows.\n- SET should only be used for a single line's worth\n- of text. Multi-line macros can be defined with the\n- _\bB_\bL_\bO_\bC_\bK tag. The _\bB_\bL_\bO_\bC_\bK tag is also useful if the\n- macro contains a quotation character and you don't\n+\u00a0 \u00a0 _\bD_\bE_\bF <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"header.hti\">\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt sect-ctr=\"1\">\n+\u00a0 \u00a0 _\bI_\bF \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bw_\bh_\bi_\bl_\be sect-${sect-ctr}>\n+\u00a0 \u00a0 _\bI_\bN_\bC \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be sect-${sect-ctr}>\n+\u00a0 \u00a0 _\bI_\bM_\bG \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bn_\bc sect-ctr>\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bw_\bh_\bi_\bl_\be>\n+\u00a0 \u00a0 _\bO_\bP_\bT <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"footer.hti\">\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT The macro \"emailaddr\" can then be expanded later.\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE The _\bU_\bS_\bE tag is used to expand the macro outside a\n+\u00a0 [>] _\bS_\bE_\bT tag (i.e., into the regular text). If the macro\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF needs to be expanded inside a markup tag, use the\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT _\b'_\b$_\b' operator.\n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ Multiple macros can be declared in a single markup\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE tag, as the second syntax line shows.\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- SET should only be used for a single line's worth\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by of text. Multi-line macros can be defined with the\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt _\bB_\bL_\bO_\bC_\bK tag. The _\bB_\bL_\bO_\bC_\bK tag is also useful if the\n+\u00a0 _\bB_\bu_\bg_\bs macro contains a quotation character and you don't\n want to fool around with special escape characters.\n Macros can be redefined by using another SET\n command with the same macro name. The prior\n definition will be destroyed, however. Also, the\n macro can be removed (destroyed) with the _\bU_\bN_\bS_\bE_\bT\n tag.\n \n"}]}, {"source1": "./usr/share/doc/htp/tut/jh.html", "source2": "./usr/share/doc/htp/tut/jh.html", "unified_diff": "@@ -16,10 +16,10 @@\n Phone:+49 761 203-8243\n Fax:+49 761 203-8242\n \n \n \n


\n Copyright by Joe Doe.
\n- last updated Tue Oct 20, 2026\n+ last updated Wed Sep 17, 2025\n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,8 +1,8 @@\n *\b**\b**\b**\b**\b**\b* J\bJo\boc\bch\bhe\ben\bn H\bHo\boe\ben\bni\bic\bck\bke\be *\b**\b**\b**\b**\b**\b*\n Navigation bar [Photo]\n _\bM_\ba_\bi_\bn R\bRo\boo\bom\bm:\b: Bld.52 00-020\n _\bE_\bx_\ba_\bm_\bp_\bl_\be P\bPh\bho\bon\bne\be:\b: +49 761 203-8243\n F\bFa\bax\bx:\b: +49 761 203-8242\n ===============================================================================\n Copyright by _\bJ_\bo_\be_\b _\bD_\bo_\be.\n-last updated Tue Oct 20, 2026\n+last updated Wed Sep 17, 2025\n"}]}, {"source1": "./usr/share/doc/htp/tut/tut1.html", "source2": "./usr/share/doc/htp/tut/tut1.html", "unified_diff": "@@ -5,9 +5,9 @@\n \n \n \n This page was produced by htp.\n
\n Copyright by Joe Doe,\n webmaster@domain.com,\n-last updated Tue Oct 20, 2026\n+last updated Wed Sep 17, 2025\n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,3 +1,3 @@\n This page was produced by htp.\n ===============================================================================\n-Copyright by Joe Doe, _\bw_\be_\bb_\bm_\ba_\bs_\bt_\be_\br_\b@_\bd_\bo_\bm_\ba_\bi_\bn_\b._\bc_\bo_\bm, last updated Tue Oct 20, 2026\n+Copyright by Joe Doe, _\bw_\be_\bb_\bm_\ba_\bs_\bt_\be_\br_\b@_\bd_\bo_\bm_\ba_\bi_\bn_\b._\bc_\bo_\bm, last updated Wed Sep 17, 2025\n"}]}, {"source1": "./usr/share/doc/htp/tut/tut2.html", "source2": "./usr/share/doc/htp/tut/tut2.html", "unified_diff": "@@ -13,10 +13,10 @@\n

\n As you can see the file contains almost only the contents.\n

\n \n \n
\n Copyright by Joe Doe.
\n- last updated Tue Oct 20, 2026\n+ last updated Wed Sep 17, 2025\n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,6 +1,6 @@\n Navigation bar *\b**\b**\b**\b**\b* H\bHe\ber\bre\be i\bis\bs t\bth\bhe\be c\bco\bon\bnt\bte\ben\bnt\bt *\b**\b**\b**\b**\b*\n _\bM_\ba_\bi_\bn As you can see the file contains almost only the contents.\n _\bE_\bx_\ba_\bm_\bp_\bl_\be\n ===============================================================================\n Copyright by _\bJ_\bo_\be_\b _\bD_\bo_\be.\n-last updated Tue Oct 20, 2026\n+last updated Wed Sep 17, 2025\n"}]}, {"source1": "./usr/share/doc/htp/tut/tut3.html", "source2": "./usr/share/doc/htp/tut/tut3.html", "unified_diff": "@@ -13,10 +13,10 @@\n

\n As you can see the file contains almost only the contents.\n

\n \n \n
\n Copyright by Joe Doe.
\n- last updated Tue Oct 20, 2026\n+ last updated Wed Sep 17, 2025\n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,6 +1,6 @@\n Navigation bar *\b**\b**\b**\b**\b* H\bHe\ber\bre\be a\bar\bre\be t\bth\bhe\be c\bco\bon\bnt\bte\ben\bnt\bts\bs *\b**\b**\b**\b**\b*\n _\bM_\ba_\bi_\bn As you can see the file contains almost only the contents.\n _\bE_\bx_\ba_\bm_\bp_\bl_\be\n ===============================================================================\n Copyright by _\bJ_\bo_\be_\b _\bD_\bo_\be.\n-last updated Tue Oct 20, 2026\n+last updated Wed Sep 17, 2025\n"}]}, {"source1": "./usr/share/doc/htp/undef.html", "source2": "./usr/share/doc/htp/undef.html", "unified_diff": "@@ -114,17 +114,15 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-<\"[ref]\"use macroname [parameters ...] [noexpand]>
\n-<... $macroname ...>
\n-<... ${macroname} ...>
\n+<\"[ref]\"SET macroname1=\"macrovalue1\" [macroname2=\"macrovalue2\" ...] [GLOBAL]>
\n
\n

\n

synopsis

\n

UNDEF removes a metatag definition. Metatags\n created by DEF and BLOCKDEF can be removed with the UNDEF\n command. Once removed, the metatag will no longer be recognized by\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,21 +1,21 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: U\bUN\bND\bDE\bEF\bF *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be macroname [parameters ...] [noexpand]>\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be <... $macroname ...>\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl <... ${macroname} ...>\n-\u00a0 _\bU_\bs_\ba_\bg_\be\n-\u00a0 HTP Tags *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT U\bUN\bND\bDE\bEF\bF removes a metatag definition. Metatags\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK created by _\bD_\bE_\bF and _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF can be removed with the\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF UNDEF command. Once removed, the metatag will no\n-\u00a0 \u00a0 _\bD_\bE_\bF longer be recognized by htp until it is reassigned.\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE Multiple metatags can be removed by placing each\n-\u00a0 \u00a0 _\bI_\bF name as an attribute.\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bS_\bE_\bT macroname1=\"macrovalue1\"\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be [macroname2=\"macrovalue2\" ...] [GLOBAL]>\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl\n+\u00a0 _\bU_\bs_\ba_\bg_\be *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 HTP Tags U\bUN\bND\bDE\bEF\bF removes a metatag definition. Metatags\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT created by _\bD_\bE_\bF and _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF can be removed with the\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK UNDEF command. Once removed, the metatag will no\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF longer be recognized by htp until it is reassigned.\n+\u00a0 \u00a0 _\bD_\bE_\bF Multiple metatags can be removed by placing each\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE name as an attribute.\n+\u00a0 \u00a0 _\bI_\bF\n \u00a0 \u00a0 _\bI_\bN_\bC\n \u00a0 \u00a0 _\bI_\bM_\bG\n \u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL\n \u00a0 \u00a0 _\bO_\bP_\bT\n \u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT\n \u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE\n \u00a0 \u00a0 _\bS_\bE_\bT\n@@ -27,15 +27,14 @@\n \u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by\n \u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt\n \u00a0 _\bB_\bu_\bg_\bs\n \n \n \n \n-\n \u00a0 _\bp_\ba_\bg_\be_\b _\bs_\bo_\bu_\br_\bc_\be\n \u00a0 _\bh_\bt_\bp_\b _\bp_\br_\bo_\bj_\be_\bc_\bt\n \u00a0 _\bh_\bt_\bp_\b _\bh_\bo_\bm_\be_\bp_\ba_\bg_\be\n hosted by\n _\bS_\bo_\bu_\br_\bc_\be_\bf_\bo_\br_\bg_\be\n HTML coding_\b[_\bP_\bo_\bw_\be_\br_\be_\bd_\b _\bb_\by\n _\bh_\bt_\bp_\b]\n"}]}, {"source1": "./usr/share/doc/htp/unset.html", "source2": "./usr/share/doc/htp/unset.html", "unified_diff": "@@ -114,44 +114,46 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-<\"[ref]\"UNDEF tagname>
\n-<\"[ref]\"UNDEF tagname1 tagname2 ... >
\n-
\n+  <\"[ref]\"set sect-ctr=\"0\">
\n+  <\"[ref]\"blockdef name=\"section\">
\n+    <\"[ref]\"inc sect-ctr>
\n+    <\"[ref]\"block name=\"sect-${sect-ctr}\" expand global>
\n+      <\"[ref]\"use block noexpand>
\n+    <\"[ref]\"/block>
\n+  <\"[ref]\"/blockdef>
\n

\n

synopsis

\n UNSET removes (or deletes) a macro and it's definition.\n The macro is subsequently not available for use in the pre-processed files.\n (Note that simply redefining the macro with another SET or\n BLOCK definition with the same name is acceptable. The\n old macro definition will be removed automatically.)\n

\n For example:\n

\n-<\"[ref]\"WHILE [NOT] conditional>
\n-    block
\n-<\"[ref]\"/WHILE>
\n-
\n+<\"[ref]\"file include=\"header.hti\">
\n+  <\"[ref]\"set sect-ctr=\"1\">
\n+  <\"[ref]\"while sect-${sect-ctr}>
\n+    <\"[ref]\"use sect-${sect-ctr}>
\n+    <\"[ref]\"inc sect-ctr>
\n+  <\"[ref]\"/while>
\n+<\"[ref]\"file include=\"footer.hti\">
\n

\n

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

\n-<\"[ref]\"block stuff>
\n-  <a href=$email>send email</a>
\n-<\"[ref]\"/block>
\n-
\n-<\"[ref]\"set morestuff=$email>
\n-
\n-This works:     <\"[ref]\"use stuff email=\"jnelson@crl.com\">
\n-But this fails: <\"[ref]\"use email>
\n-And this fails: <\"[ref]\"use morestuff email=\"jnelson@crl.com\">
\n+  <\"[ref]\"WHILE NOT i=\"10\">
\n+    ...
\n+    <\"[ref]\"INC i>
\n+  <\"[ref]\"/WHILE>
\n

\n

\n \n \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,38 +1,39 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: U\bUN\bNS\bSE\bET\bT *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bU_\bN_\bD_\bE_\bF tagname>\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bU_\bN_\bD_\bE_\bF tagname1 tagname2 ... >\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl\n-\u00a0 _\bU_\bs_\ba_\bg_\be *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 HTP Tags U\bUN\bNS\bSE\bET\bT removes (or deletes) a macro and it's\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT definition. The macro is subsequently not available\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK for use in the pre-processed files. (Note that\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF simply redefining the macro with another _\bS_\bE_\bT or\n-\u00a0 \u00a0 _\bD_\bE_\bF _\bB_\bL_\bO_\bC_\bK definition with the same name is acceptable.\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE The old macro definition will be removed\n-\u00a0 \u00a0 _\bI_\bF automatically.)\n-\u00a0 \u00a0 _\bI_\bN_\bC For example:\n-\u00a0 \u00a0 _\bI_\bM_\bG <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bW_\bH_\bI_\bL_\bE [NOT] conditional>\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL \u00a0 \u00a0 block\n-\u00a0 \u00a0 _\bO_\bP_\bT <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bW_\bH_\bI_\bL_\bE>\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE More than one macro may be removed in the same tag:\n-\u00a0 \u00a0 _\bS_\bE_\bT <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk stuff>\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF \u00a0 send email\n-\u00a0 [>] _\bU_\bN_\bS_\bE_\bT <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt morestuff=$email>\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b-\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by This works: \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be stuff\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt email=\"jnelson@crl.com\">\n-\u00a0 _\bB_\bu_\bg_\bs But this fails: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be email>\n- And this fails: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be morestuff\n- email=\"jnelson@crl.com\">\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt sect-ctr=\"0\">\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf name=\"section\">\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bn_\bc sect-ctr>\n+\u00a0 _\bU_\bs_\ba_\bg_\be \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=\"sect-${sect-ctr}\" expand\n+\u00a0 HTP Tags global>\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT \u00a0 \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be block noexpand>\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf>\n+\u00a0 \u00a0 _\bD_\bE_\bF *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE U\bUN\bNS\bSE\bET\bT removes (or deletes) a macro and it's\n+\u00a0 \u00a0 _\bI_\bF definition. The macro is subsequently not available\n+\u00a0 \u00a0 _\bI_\bN_\bC for use in the pre-processed files. (Note that\n+\u00a0 \u00a0 _\bI_\bM_\bG simply redefining the macro with another _\bS_\bE_\bT or\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL _\bB_\bL_\bO_\bC_\bK definition with the same name is acceptable.\n+\u00a0 \u00a0 _\bO_\bP_\bT The old macro definition will be removed\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT automatically.)\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE For example:\n+\u00a0 \u00a0 _\bS_\bE_\bT <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"header.hti\">\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt sect-ctr=\"1\">\n+\u00a0 [>] _\bU_\bN_\bS_\bE_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bw_\bh_\bi_\bl_\be sect-${sect-ctr}>\n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be sect-${sect-ctr}>\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bn_\bc sect-ctr>\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bw_\bh_\bi_\bl_\be>\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"footer.hti\">\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt More than one macro may be removed in the same tag:\n+\u00a0 _\bB_\bu_\bg_\bs \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bW_\bH_\bI_\bL_\bE NOT i=\"10\">\n+ \u00a0 \u00a0 ...\n+ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bN_\bC i>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bW_\bH_\bI_\bL_\bE>\n \n \n \n \n \n \n \n"}]}, {"source1": "./usr/share/doc/htp/use.html", "source2": "./usr/share/doc/htp/use.html", "unified_diff": "@@ -114,18 +114,21 @@\n Bugs\n
\n \n \n \n

syntax

\n

\n-<\"[ref]\"WHILE [NOT] conditional>
\n-    block
\n-<\"[ref]\"/WHILE>
\n-
\n+<\"[ref]\"file include=\"header.hti\">
\n+  <\"[ref]\"set sect-ctr=\"1\">
\n+  <\"[ref]\"while sect-${sect-ctr}>
\n+    <\"[ref]\"use sect-${sect-ctr}>
\n+    <\"[ref]\"inc sect-ctr>
\n+  <\"[ref]\"/while>
\n+<\"[ref]\"file include=\"footer.hti\">
\n

\n

synopsis

\n USE will expand macros that have been previously\n declared with either SET or BLOCK. USE can only be used outside of other\n markup tags.\n

If you USE a block macro the value of expanded block macros will\n@@ -162,21 +165,18 @@\n Inside a markup tag, like IMG, A (anchor), or\n any other standard HTML or htp tag, the '$' operator must be used.\n The '$' should be immediately followed by the macro name, which may or\n may not be surrounded by curly braces. When htp encounters this it\n replaces the macro name by the contents of the macro without further\n processing the contents.\n

\n- 1. <\"[ref]\"file include=\"header.hti\">
\n- 2.   <\"[ref]\"set sect-ctr=\"1\">
\n- 3.   <\"[ref]\"while sect-${sect-ctr}>
\n- 4.     <\"[ref]\"use sect-${sect-ctr}>
\n- 5.     <\"[ref]\"inc sect-ctr>
\n- 6.   <\"[ref]\"/while>
\n- 7. <\"[ref]\"file include=\"footer.hti\">
\n+ 1.   <\"[ref]\"WHILE sect-$i>
\n+ 2.     ...
\n+ 3.     <\"[ref]\"INC i>
\n+ 4.   <\"[ref]\"/WHILE>
\n

\n

\n The use of curly braces is encouraged, since it is more robust and\n should never cause confusion with surrounding text. If no curly\n braces are used the macro name consists either of a single punctuation\n character or the maximum sequence of letters, digits, "-"\n and "_" that follows it.\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,36 +1,39 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: U\bUS\bSE\bE,\b, $\b$ *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bW_\bH_\bI_\bL_\bE [NOT] conditional>\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be \u00a0 \u00a0 block\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bW_\bH_\bI_\bL_\bE>\n-\u00a0 _\bU_\bs_\ba_\bg_\be\n-\u00a0 HTP Tags *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT U\bUS\bSE\bE will expand macros that have been previously\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK declared with either _\bS_\bE_\bT or _\bB_\bL_\bO_\bC_\bK. USE can only be\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF used outside of other markup tags.\n-\u00a0 \u00a0 _\bD_\bE_\bF If you USE a block macro the value of expanded\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE block macros will be further parsed by htp. This is\n-\u00a0 \u00a0 _\bI_\bF maybe not what you want, for example, if the use is\n-\u00a0 \u00a0 _\bI_\bN_\bC inside a block which _\be_\bx_\bp_\ba_\bn_\bd_\bs itself. You can use\n-\u00a0 \u00a0 _\bI_\bM_\bG the noexpand attribute to prevent further\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL expansion.\n-\u00a0 \u00a0 _\bO_\bP_\bT USE will accept additional parameters, which are\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT \"local\" macros for the expanded macro. This is only\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE valid for _\bB_\bL_\bO_\bC_\bK macros. Macros created using _\bS_\bE_\bT\n-\u00a0 \u00a0 _\bS_\bE_\bT cannot have parameters passed. For example:\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF \u00a01. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk stuff>\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT \u00a02. \u00a0 send email\n-\u00a0 [>] _\bU_\bS_\bE_\b,_\b _\b$ \u00a03. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE \u00a04.\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- \u00a05. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt morestuff=$email>\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a06.\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt \u00a07. This works: \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be stuff\n-\u00a0 _\bB_\bu_\bg_\bs email=\"jnelson@crl.com\">\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"header.hti\">\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt sect-ctr=\"1\">\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bw_\bh_\bi_\bl_\be sect-${sect-ctr}>\n+\u00a0 _\bU_\bs_\ba_\bg_\be \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be sect-${sect-ctr}>\n+\u00a0 HTP Tags \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bn_\bc sect-ctr>\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bw_\bh_\bi_\bl_\be>\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"footer.hti\">\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 \u00a0 _\bD_\bE_\bF U\bUS\bSE\bE will expand macros that have been previously\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE declared with either _\bS_\bE_\bT or _\bB_\bL_\bO_\bC_\bK. USE can only be\n+\u00a0 \u00a0 _\bI_\bF used outside of other markup tags.\n+\u00a0 \u00a0 _\bI_\bN_\bC If you USE a block macro the value of expanded\n+\u00a0 \u00a0 _\bI_\bM_\bG block macros will be further parsed by htp. This is\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL maybe not what you want, for example, if the use is\n+\u00a0 \u00a0 _\bO_\bP_\bT inside a block which _\be_\bx_\bp_\ba_\bn_\bd_\bs itself. You can use\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT the noexpand attribute to prevent further\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE expansion.\n+\u00a0 \u00a0 _\bS_\bE_\bT USE will accept additional parameters, which are\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF \"local\" macros for the expanded macro. This is only\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT valid for _\bB_\bL_\bO_\bC_\bK macros. Macros created using _\bS_\bE_\bT\n+\u00a0 [>] _\bU_\bS_\bE_\b,_\b _\b$ cannot have parameters passed. For example:\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE \u00a01. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk stuff>\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- \u00a02. \u00a0 send email\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a03. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt \u00a04.\n+\u00a0 _\bB_\bu_\bg_\bs \u00a05. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt morestuff=$email>\n+ \u00a06.\n+ \u00a07. This works: \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be stuff\n+ email=\"jnelson@crl.com\">\n \u00a08. But this fails: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be email>\n \u00a09. And this fails: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be morestuff\n email=\"jnelson@crl.com\">\n (See below for a description of the '$' operator.)\n The example on line 7 works because \"stuff\" has\n been declared as a block macro, and the tag is\n passing the \"email\" macro to the \"stuff\" macro.\n@@ -43,21 +46,18 @@\n Inside a markup tag, like _\bI_\bM_\bG, A (anchor), or any\n other standard HTML or htp tag, the '$' operator\n must be used. The '$' should be immediately\n followed by the macro name, which may or may not be\n surrounded by curly braces. When htp encounters\n this it replaces the macro name by the contents of\n the macro without further processing the contents.\n- \u00a01. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"header.hti\">\n- \u00a02. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt sect-ctr=\"1\">\n- \u00a03. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bw_\bh_\bi_\bl_\be sect-${sect-ctr}>\n- \u00a04. \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be sect-${sect-ctr}>\n- \u00a05. \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bn_\bc sect-ctr>\n- \u00a06. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bw_\bh_\bi_\bl_\be>\n- \u00a07. <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"footer.hti\">\n+ \u00a01. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bW_\bH_\bI_\bL_\bE sect-$i>\n+ \u00a02. \u00a0 \u00a0 ...\n+ \u00a03. \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bN_\bC i>\n+ \u00a04. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bW_\bH_\bI_\bL_\bE>\n The use of curly braces is encouraged, since it is\n more robust and should never cause confusion with\n surrounding text. If no curly braces are used the\n macro name consists either of a single punctuation\n character or the maximum sequence of letters,\n digits, \"-\" and \"_\" that follows it.\n If a '$' character needs to be kept in the final\n"}]}, {"source1": "./usr/share/doc/htp/while.html", "source2": "./usr/share/doc/htp/while.html", "unified_diff": "@@ -114,40 +114,34 @@\n Bugs\n \n \n \n \n

syntax

\n

\n-<\"[ref]\"block stuff>
\n-  <a href=$email>send email</a>
\n-<\"[ref]\"/block>
\n-
\n-<\"[ref]\"set morestuff=$email>
\n-
\n-This works:     <\"[ref]\"use stuff email=\"jnelson@crl.com\">
\n-But this fails: <\"[ref]\"use email>
\n-And this fails: <\"[ref]\"use morestuff email=\"jnelson@crl.com\">
\n+    <\"[ref]\"unset email_addr home_url login_name>
\n

\n

synopsis

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

\n \"Conditional\" is either a \"compare\" or \"is defined\" operation.\n A compare operator is a test of the value of a macro against a literal string.\n If the NOT tag is present in the WHILE markup, the evaluation of the\n conditional is reversed:\n

\n-<\"[ref]\"file include=\"header.hti\">
\n-  <\"[ref]\"set sect-ctr=\"1\">
\n-  <\"[ref]\"while sect-${sect-ctr}>
\n-    <\"[ref]\"use sect-${sect-ctr}>
\n-    <\"[ref]\"inc sect-ctr>
\n-  <\"[ref]\"/while>
\n-<\"[ref]\"file include=\"footer.hti\">
\n+<\"[ref]\"block stuff>
\n+  <a href=$email>send email</a>
\n+<\"[ref]\"/block>
\n+
\n+<\"[ref]\"set morestuff=$email>
\n+
\n+This works:     <\"[ref]\"use stuff email=\"jnelson@crl.com\">
\n+But this fails: <\"[ref]\"use email>
\n+And this fails: <\"[ref]\"use morestuff email=\"jnelson@crl.com\">
\n

\n

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

\n     <${tagName} ${attrName}=${value$ctr}>
\n

\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,42 +1,36 @@\n [HTP]\n *\b**\b**\b**\b**\b**\b* h\bht\btp\bp o\bon\bn-\b-l\bli\bin\bne\be r\bre\bef\bfe\ber\bre\ben\bnc\bce\be :\b: W\bWH\bHI\bIL\bLE\bE *\b**\b**\b**\b**\b**\b*\n _\bT_\ba_\bb_\bl_\be_\b _\bo_\bf_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs *\b**\b**\b**\b**\b* s\bsy\byn\bnt\bta\bax\bx *\b**\b**\b**\b**\b*\n-\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk stuff>\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be \u00a0 send email\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n-\u00a0 _\bU_\bs_\ba_\bg_\be\n-\u00a0 HTP Tags <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt morestuff=$email>\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK This works: \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be stuff\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF email=\"jnelson@crl.com\">\n-\u00a0 \u00a0 _\bD_\bE_\bF But this fails: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be email>\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE And this fails: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be morestuff\n-\u00a0 \u00a0 _\bI_\bF email=\"jnelson@crl.com\">\n-\u00a0 \u00a0 _\bI_\bN_\bC *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 \u00a0 _\bI_\bM_\bG W\bWH\bHI\bIL\bLE\bE is the building block for repeated\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL processing. The basic form is shown above.\n-\u00a0 \u00a0 _\bO_\bP_\bT \"Conditional\" is either a \"compare\" or \"is defined\"\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT operation. A compare operator is a test of the\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE value of a macro against a literal string. If the\n-\u00a0 \u00a0 _\bS_\bE_\bT NOT tag is present in the WHILE markup, the\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF evaluation of the conditional is reversed:\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"header.hti\">\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt sect-ctr=\"1\">\n-\u00a0 [>] _\bW_\bH_\bI_\bL_\bE \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bw_\bh_\bi_\bl_\be sect-${sect-ctr}>\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be sect-${sect-ctr}>\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bn_\bc sect-ctr>\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bw_\bh_\bi_\bl_\be>\n-\u00a0 _\bB_\bu_\bg_\bs <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"footer.hti\">\n- Just as with _\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF you can also check for a\n- macro's existance:\n- \u00a0 \u00a0 <${tagName} ${attrName}=${value$ctr}>\n- If the condition is true, the block is evaluated\n- and afterwards the WHILE tag is evaluated again. If\n- the '$'-operator is used in the WHILE tag it is\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bn_\bs_\be_\bt email_addr home_url login_name>\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl W\bWH\bHI\bIL\bLE\bE is the building block for repeated\n+\u00a0 _\bU_\bs_\ba_\bg_\be processing. The basic form is shown above.\n+\u00a0 HTP Tags \"Conditional\" is either a \"compare\" or \"is defined\"\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT operation. A compare operator is a test of the\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK value of a macro against a literal string. If the\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF NOT tag is present in the WHILE markup, the\n+\u00a0 \u00a0 _\bD_\bE_\bF evaluation of the conditional is reversed:\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk stuff>\n+\u00a0 \u00a0 _\bI_\bF \u00a0 send email\n+\u00a0 \u00a0 _\bI_\bN_\bC <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n+\u00a0 \u00a0 _\bI_\bM_\bG\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt morestuff=$email>\n+\u00a0 \u00a0 _\bO_\bP_\bT\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT This works: \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be stuff\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE email=\"jnelson@crl.com\">\n+\u00a0 \u00a0 _\bS_\bE_\bT But this fails: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be email>\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF And this fails: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be morestuff\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT email=\"jnelson@crl.com\">\n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ Just as with _\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF you can also check for a\n+\u00a0 [>] _\bW_\bH_\bI_\bL_\bE macro's existance:\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- \u00a0 \u00a0 <${tagName} ${attrName}=${value$ctr}>\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by If the condition is true, the block is evaluated\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt and afterwards the WHILE tag is evaluated again. If\n+\u00a0 _\bB_\bu_\bg_\bs the '$'-operator is used in the WHILE tag it is\n also reevaluated on each iteration.\n A loop block m\bmu\bus\bst\bt be closed with the /WHILE tag.\n \n \n \n \n \n"}]}]}]}]}]}