{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.VNBOmsOo/b1/htp_1.19-8_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.VNBOmsOo/b2/htp_1.19-8_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,3 +1,3 @@\n \n 1dad186844b621499093fc4d88e03b24 70884 debug optional htp-dbgsym_1.19-8_amd64.deb\n- 207d3fe30d66b8e20ff70dfbdafd86e8 116020 web optional htp_1.19-8_amd64.deb\n+ e38628d656dc87e05694bcc24d7199fc 116920 web optional htp_1.19-8_amd64.deb\n"}, {"source1": "htp_1.19-8_amd64.deb", "source2": "htp_1.19-8_amd64.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 3612 2020-06-14 23:21:19.000000 control.tar.xz\n--rw-r--r-- 0 0 0 112216 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 113112 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: amd64\n Maintainer: Marcelo Soares Mota \n-Installed-Size: 621\n+Installed-Size: 641\n Depends: libc6 (>= 2.34)\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) 72104 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) 9593 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/alttext.html\n+-rw-r--r-- 0 root (0) root (0) 8180 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) 7882 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) 7941 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) 7719 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) 9953 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/def.html\n+-rw-r--r-- 0 root (0) root (0) 14391 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,43 +32,43 @@\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) 7909 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/expand.html\n+-rw-r--r-- 0 root (0) root (0) 9468 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) 14458 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/file.html\n+-rw-r--r-- 0 root (0) root (0) 17552 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) 8198 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/if.html\n+-rw-r--r-- 0 root (0) root (0) 8434 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) 8626 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) 8277 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) 8142 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/inc.html\n+-rw-r--r-- 0 root (0) root (0) 9216 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) 12505 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/metatag.html\n+-rw-r--r-- 0 root (0) root (0) 13190 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) 7558 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) 7777 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@@ -79,17 +79,17 @@\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) 7503 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/quote.html\n+-rw-r--r-- 0 root (0) root (0) 8569 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) 8234 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/set.html\n+-rw-r--r-- 0 root (0) root (0) 13562 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) 7559 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/undef.html\n+-rw-r--r-- 0 root (0) root (0) 7804 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) 8310 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/unset.html\n+-rw-r--r-- 0 root (0) root (0) 8802 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) 12007 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/use.html\n+-rw-r--r-- 0 root (0) root (0) 17527 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) 9561 2020-06-14 23:21:19.000000 ./usr/share/doc/htp/while.html\n+-rw-r--r-- 0 root (0) root (0) 8976 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": "@@ -127,22 +127,14 @@\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-<\"[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 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": "@@ -9,36 +9,28 @@\n \u00a0 [>] _\bA_\bL_\bT_\bT_\bE_\bX_\bT comparisons.\n \u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK When an IMG tag with a matching source is\n \u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF encountered, htp will add an ALT attribute only if\n \u00a0 \u00a0 _\bD_\bE_\bF one is not already present. This allows for ALT\n \u00a0 \u00a0 _\bF_\bI_\bL_\bE text to be overridden on specific images and\n \u00a0 \u00a0 _\bI_\bF default text on all others.\n \u00a0 \u00a0 _\bI_\bN_\bC For example:\n-\u00a0 \u00a0 _\bI_\bM_\bG <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (IMGXY|NOIMGXY)>\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (QUIET|VERBOSE)>\n-\u00a0 \u00a0 _\bO_\bP_\bT <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (DEPEND|NODEPEND)>\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (PRECIOUS|NOPRECIOUS)>\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (CONDENSE|SEMICONDENSE|NOCONDENSE)>\n-\u00a0 \u00a0 _\bS_\bE_\bT <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT DELIM=(HTML|SQUARE|CURLY)>\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (XML|XML=FALSE)>\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ An ALTTEXT tag with a name but no text attribute\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE removes any ALT mapping for this image. Successing\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- IMG tags with a matching SRC name are not changed.\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by Since this is useful for an image used throughout a\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt set of documents, ALTTEXT is most appropriate in an\n-\u00a0 _\bB_\bu_\bg_\bs _\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+\u00a0 \u00a0 _\bI_\bM_\bG An ALTTEXT tag with a name but no text attribute\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL removes any ALT mapping for this image. Successing\n+\u00a0 \u00a0 _\bO_\bP_\bT IMG tags with a matching SRC name are not changed.\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT Since this is useful for an image used throughout a\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE set of documents, ALTTEXT is most appropriate in an\n+\u00a0 \u00a0 _\bS_\bE_\bT _\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 _\bU_\bN_\bD_\bE_\bF In addition to ALTTEXT, htp can also automatically\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT add WIDTH and HEIGHT attributes to _\bI_\bM_\bG tags.\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"}]}, {"source1": "./usr/share/doc/htp/def.html", "source2": "./usr/share/doc/htp/def.html", "unified_diff": "@@ -114,14 +114,32 @@\n Bugs\n \n \n \n \n

syntax

\n

\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+mg src=\"rightsep.png\"></td>
\n+   </tr>
\n+   </table>
\n+ <\"[ref]\"/def>
\n+
\n+ paragraph
\n+ <imghr>
\n+ paragraph
\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@@ -133,24 +151,36 @@\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]\"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

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]\"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

\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,36 +1,68 @@\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 *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be D\bDE\bEF\bF creates _\bm_\be_\bt_\ba_\bt_\ba_\bg_\bs, which is a fancy way of\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl saying it creates new tags. The mechanism is very\n-\u00a0 _\bU_\bs_\ba_\bg_\be similar to _\bB_\bL_\bO_\bC_\bK macros, except that the _\bU_\bS_\bE tag is\n-\u00a0 HTP Tags not used to expand them. Instead, they are expanded\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT by their own name. For example:\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK Some metatags will require an opening and closing\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF tag (comparable to\n-\u00a0 [>] _\bD_\bE_\bF and\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE ). In this case, you should use the _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF macro.\n-\u00a0 \u00a0 _\bI_\bF Another slightly faster alternative is to use two\n-\u00a0 \u00a0 _\bI_\bN_\bC metatags, the opening tag and the closing tag with\n-\u00a0 \u00a0 _\bI_\bM_\bG a preceding slash. For example:\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL You should really use _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF, though, as it will\n-\u00a0 \u00a0 _\bO_\bP_\bT check for matching end tag. It is not that slower.\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT Options can be passed to a metatag, which can then\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE expand as if it were a _\bS_\bE_\bT macro. Option names are\n-\u00a0 \u00a0 _\bS_\bE_\bT parameterized with the OPTION attribute. Multiple\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF options can be listed by separating their name with\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT a space (which therefore requires they be\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ surrounded by quotes.)\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE htp will do very specific checking of parameters\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- when a metatag is invoked. htp assumes that all\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by parameter options to the metatag are optional. This\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt is why the HEADERIMG definition uses IF to verify\n-\u00a0 _\bB_\bu_\bg_\bs the SIZE option is defined before expanding it in\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 \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 [>] _\bD_\bE_\bF \u00a0 \u00a0 This is a fancy section.\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE \u00a0
\n+\u00a0 \u00a0 _\bI_\bF mg src=\"rightsep.png\">\n+\u00a0 \u00a0 _\bI_\bN_\bC \u00a0 \u00a0\n+\u00a0 \u00a0 _\bI_\bM_\bG \u00a0 \u00a0\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL \u00a0<_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bd_\be_\bf>\n+\u00a0 \u00a0 _\bO_\bP_\bT\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT \u00a0paragraph\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE \u00a0\n+\u00a0 \u00a0 _\bS_\bE_\bT \u00a0paragraph\n+\u00a0 \u00a0 _\bU_\bN_\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 _\bU_\bN_\bS_\bE_\bT D\bDE\bEF\bF creates _\bm_\be_\bt_\ba_\bt_\ba_\bg_\bs, which is a fancy way of\n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ saying it creates new tags. The mechanism is very\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE similar to _\bB_\bL_\bO_\bC_\bK macros, except that the _\bU_\bS_\bE tag is\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- not used to expand them. Instead, they are expanded\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by by their own name. For example:\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt Some metatags will require an opening and closing\n+\u00a0 _\bB_\bu_\bg_\bs 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+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bd_\be_\bf name=\"sharedimg\" option=\"name alt\">\n+ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"/home/sharedimages/${name}\"\n+ alt=\"${alt}\">;\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bd_\be_\bf>\n+\n+ \u00a0 \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 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt sect-ctr=\"0\">\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf name=\"section\">\n+ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bn_\bc sect-ctr>\n+ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=\"sect-${sect-ctr}\" expand\n+ global>\n+ \u00a0 \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be block noexpand>\n+ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf>\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 the metatag and the macro is not defined, it will\n halt processing and complain with an error message\n and the required macro name. Normally htp will not\n allow parameters not listed in the OPTION attribute\n to be added to the tag. This is why the third\n"}]}, {"source1": "./usr/share/doc/htp/expand.html", "source2": "./usr/share/doc/htp/expand.html", "unified_diff": "@@ -101,14 +101,23 @@\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

\n This produces the following:\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

\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": "@@ -25,14 +25,25 @@\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 This produces the following:\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk stuff>\n+ \u00a0 send email\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n+\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt morestuff=$email>\n+\n+ This works: \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be stuff\n+ email=\"jnelson@crl.com\">\n+ 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 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,22 +114,14 @@\n Bugs\n \n \n \n \n

syntax

\n

\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

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@@ -140,14 +132,38 @@\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]\"DEF NAME=\"HEADERIMG\" OPTION=\"SRC TITLE SIZE\">
\n+    <\"[ref]\"IF size>
\n+        <FONT SIZE=${size}>
\n+    <\"[ref]\"/IF>
\n+    <\"[ref]\"IMG SRC=pics/${src}>
\n+    <\"[ref]\"USE title>
\n+    <\"[ref]\"IF size>
\n+        </FONT>
\n+    <\"[ref]\"/IF>
\n+  <\"[ref]\"/DEF>
\n+
\n+  <HEADERIMG SRC=\"logo.gif\" SIZE=\"+2\" TITLE=\"A title\">
\n+
\n+  <HEADERIMG SRC=\"logo.gif\" TITLE=\"Normal sized title\">
\n+
\n+  This will fail:
\n+  <HEADERIMG SRC=\"logo.gif\" ALT=\"Our logo\" TITLE=\"Another title\">
\n+
\n+  Instead, use * like this:
\n+  <\"[ref]\"DEF NAME=\"MYIMG\" OPTION=\"SRC *\">
\n+    <\"[ref]\"IMG SRC=\"pics/${src}\" $*>
\n+  <\"[ref]\"/DEF>
\n+   
\n+  <MYIMG SRC=\"logo.gif\" ALT=\"Our logo\">
\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@@ -176,14 +192,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]\"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

\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

TEMPLATE

\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,36 +1,56 @@\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 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (IMGXY|NOIMGXY)>\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (QUIET|VERBOSE)>\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (DEPEND|NODEPEND)>\n-\u00a0 _\bU_\bs_\ba_\bg_\be <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (PRECIOUS|NOPRECIOUS)>\n-\u00a0 HTP Tags <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (CONDENSE|SEMICONDENSE|NOCONDENSE)>\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT DELIM=(HTML|SQUARE|CURLY)>\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bO_\bP_\bT (XML|XML=FALSE)>\n-\u00a0 \u00a0 _\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 [>] _\bF_\bI_\bL_\bE F\bFI\bIL\bLE\bE has several optional parameters of differing\n-\u00a0 \u00a0 _\bI_\bF purpose. The output file's name, the current date\n-\u00a0 \u00a0 _\bI_\bN_\bC and time, and the contents of another file may be\n-\u00a0 \u00a0 _\bI_\bM_\bG included. Another file's time, date, or size may be\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL added to the output file as well.\n-\u00a0 \u00a0 _\bO_\bP_\bT As with all HTML, these tags do not have to be on\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT their own line, so the following is perfectly\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE acceptable:\n-\u00a0 \u00a0 _\bS_\bE_\bT *\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 \u00a0 _\bU_\bN_\bD_\bE_\bF To include information about another file, such as\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT an archive file or graphic image, specify its name\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ with the NAME attribute followed by the type of\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE information to be displayed:\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- For file size information, the value BYTE, KBYTE,\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by etc. dictates how the information is displayed. In\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt anything other than byte format, the information is\n-\u00a0 _\bB_\bu_\bg_\bs displayed in floating-point notation. The amount of\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be F\bFI\bIL\bLE\bE has several optional parameters of differing\n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl purpose. The output file's name, the current date\n+\u00a0 _\bU_\bs_\ba_\bg_\be and time, and the contents of another file may be\n+\u00a0 HTP Tags included. Another file's time, date, or size may be\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT added to the output file as well.\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK As with all HTML, these tags do not have to be on\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF their own line, so the following is perfectly\n+\u00a0 \u00a0 _\bD_\bE_\bF acceptable:\n+\u00a0 [>] _\bF_\bI_\bL_\bE *\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 \u00a0 _\bI_\bF To include information about another file, such as\n+\u00a0 \u00a0 _\bI_\bN_\bC an archive file or graphic image, specify its name\n+\u00a0 \u00a0 _\bI_\bM_\bG with the NAME attribute followed by the type of\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL information to be displayed:\n+\u00a0 \u00a0 _\bO_\bP_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bD_\bE_\bF NAME=\"HEADERIMG\" OPTION=\"SRC TITLE\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT SIZE\">\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF size>\n+\u00a0 \u00a0 _\bS_\bE_\bT \u00a0 \u00a0 \u00a0 \u00a0 \n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bI_\bF>\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bM_\bG SRC=pics/${src}>\n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bU_\bS_\bE title>\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF size>\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- \u00a0 \u00a0 \u00a0 \u00a0 \n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bI_\bF>\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bD_\bE_\bF>\n+\u00a0 _\bB_\bu_\bg_\bs\n+ \u00a0 \n+\n+ \u00a0 \n+\n+ \u00a0 This will fail:\n+ \u00a0 \n+\n+ \u00a0 Instead, use * like this:\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bD_\bE_\bF NAME=\"MYIMG\" OPTION=\"SRC *\">\n+ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bM_\bG SRC=\"pics/${src}\" $*>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bD_\bE_\bF>\n+ \u00a0 \u00a0\n+ \u00a0 \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 (0), which means no fractional portion is\n displayed.\n At the request of many people, the TIME and DATE\n attributes will now accept formatting characters\n@@ -57,14 +77,22 @@\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+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt sect-ctr=\"0\">\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf name=\"section\">\n+ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bn_\bc sect-ctr>\n+ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=\"sect-${sect-ctr}\" expand\n+ global>\n+ \u00a0 \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be block noexpand>\n+ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf>\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 include file, one that is included once the input\n"}]}, {"source1": "./usr/share/doc/htp/if.html", "source2": "./usr/share/doc/htp/if.html", "unified_diff": "@@ -127,15 +127,17 @@\n string:\n

\n

\n

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

\n

\n-    <${tagName} ${attrName}=${value$ctr}>
\n+<a href=\"mailto:$email\">mailto hyperlink</a>
\n+<a href=\"http://$domain/~${username}/\">another hyperlink</a>
\n+me>
\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": "@@ -6,38 +6,41 @@\n \u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl blocks for conditional processing. The basic form\n \u00a0 _\bU_\bs_\ba_\bg_\be 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:\n \u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF and a defined operator is a test of a macro's\n \u00a0 \u00a0 _\bD_\bE_\bF existance:\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE \u00a0 \u00a0 <${tagName} ${attrName}=${value$ctr}>\n-\u00a0 [>] _\bI_\bF If the NOT tag is present in the IF markup, the\n-\u00a0 \u00a0 _\bI_\bN_\bC evaluation of the conditional is reversed. The\n-\u00a0 \u00a0 _\bI_\bM_\bG first IF or ELSEIF condition that evaluates to true\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL is chosen. If none of the conditions is true the\n-\u00a0 \u00a0 _\bO_\bP_\bT ELSE block is taken if it is present. A conditional\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT block m\bmu\bus\bst\bt be closed with the /IF tag. IF tags can\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE be nested.\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 _\bF_\bI_\bL_\bE mailto hyperlink\n+\u00a0 [>] _\bI_\bF another\n+\u00a0 \u00a0 _\bI_\bN_\bC hyperlink\n+\u00a0 \u00a0 _\bI_\bM_\bG me>\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL If the NOT tag is present in the IF markup, the\n+\u00a0 \u00a0 _\bO_\bP_\bT evaluation of the conditional is reversed. The\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT first IF or ELSEIF condition that evaluates to true\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE is chosen. If none of the conditions is true the\n+\u00a0 \u00a0 _\bS_\bE_\bT ELSE block is taken if it is present. A conditional\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF block m\bmu\bus\bst\bt be closed with the /IF tag. IF tags can\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT be nested.\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 \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/inc.html", "source2": "./usr/share/doc/htp/inc.html", "unified_diff": "@@ -128,14 +128,19 @@\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]\"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

\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": "@@ -11,26 +11,32 @@\n \u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF be the name of a defined macro that contains an\n \u00a0 \u00a0 _\bD_\bE_\bF integer. If the increment is ommitted it defaults\n \u00a0 \u00a0 _\bF_\bI_\bL_\bE to 1. The effect of this operation is that the\n \u00a0 \u00a0 _\bI_\bF macro is redefined to contain the sum of its\n \u00a0 [>] _\bI_\bN_\bC previous value and its increment.\n \u00a0 \u00a0 _\bI_\bM_\bG To increment or decrement a variable you can use\n \u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL this form:\n-\u00a0 \u00a0 _\bO_\bP_\bT Note that INC doesn't check if the strings really\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT denote integers. It may give weired results when\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE used on arbitrary strings. The integer values are\n-\u00a0 \u00a0 _\bS_\bE_\bT limited to the range -2^31..2^31.\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF Note further that htp wasn't designed to do\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT extensive calculations. The INC tag is useful in\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ conjunction with WHILE to iterate over the defined\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE blocks.\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 _\bO_\bP_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bd_\be_\bf name=\"sharedimg\" option=\"name alt\">\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"/home/sharedimages/${name}\"\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE alt=\"${alt}\">;\n+\u00a0 \u00a0 _\bS_\bE_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bd_\be_\bf>\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT \u00a0 \n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ Note that INC doesn't check if the strings really\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE denote integers. It may give weired results when\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- used on arbitrary strings. The integer values are\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by limited to the range -2^31..2^31.\n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt Note further that htp wasn't designed to do\n+\u00a0 _\bB_\bu_\bg_\bs extensive calculations. The INC tag is useful in\n+ conjunction with WHILE to iterate over the defined\n+ blocks.\n+\n+\n+\n+\n \n \n \n \n \n \n \n"}]}, {"source1": "./usr/share/doc/htp/metatag.html", "source2": "./usr/share/doc/htp/metatag.html", "unified_diff": "@@ -112,14 +112,16 @@\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]\"FILE INCLUDE=\"include.hti\" name=\"Jim Nelson\" email=\"jnelson@crl.com\">
\n+ 2.     This tag will fail: <\"[ref]\"USE name>
\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", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -32,14 +32,17 @@\n these tags in a block macro named block. Here is an\n example for this.\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]_\bF_\bI_\bL_\bE INCLUDE=\"include.hti\"\n+ name=\"Jim Nelson\" email=\"jnelson@crl.com\">\n+ \u00a02. \u00a0 \u00a0 This tag will fail: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bU_\bS_\bE name>\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"}]}, {"source1": "./usr/share/doc/htp/quote.html", "source2": "./usr/share/doc/htp/quote.html", "unified_diff": "@@ -114,14 +114,23 @@\n Bugs\n \n \n \n \n

syntax

\n

\n+  <\"[ref]\"def name=\"bigfont\">
\n+    <font size=\"+4\">
\n+  <\"[ref]\"/def>
\n+
\n+  <\"[ref]\"def name=\"/bigfont\">
\n+    </font>
\n+  <\"[ref]\"/def>
\n+
\n+  <bigfont>Some large text</bigfont>
\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,37 +1,46 @@\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 *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be Q\bQU\bUO\bOT\bTE\bE is used to quote a macro that would otherwise\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl be interpreted by HTP. It may be useful in\n-\u00a0 _\bU_\bs_\ba_\bg_\be conjunction with a surrounding _\bE_\bX_\bP_\bA_\bN_\bDed block to\n-\u00a0 HTP Tags prevent early expansion of some contained blocks.\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT Note that '$' evaluation is still done inside a\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK quote block.\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=\"bigfont\">\n+\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be \u00a0 \u00a0 \n+\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bd_\be_\bf>\n+\u00a0 _\bU_\bs_\ba_\bg_\be\n+\u00a0 HTP Tags \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bd_\be_\bf name=\"/bigfont\">\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT \u00a0 \u00a0 \n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bd_\be_\bf>\n \u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF\n-\u00a0 \u00a0 _\bD_\bE_\bF\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE\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 _\bD_\bE_\bF \u00a0 Some large text\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE *\b**\b**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n+\u00a0 \u00a0 _\bI_\bF Q\bQU\bUO\bOT\bTE\bE is used to quote a macro that would otherwise\n+\u00a0 \u00a0 _\bI_\bN_\bC be interpreted by HTP. It may be useful in\n+\u00a0 \u00a0 _\bI_\bM_\bG conjunction with a surrounding _\bE_\bX_\bP_\bA_\bN_\bDed block to\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL prevent early expansion of some contained blocks.\n+\u00a0 \u00a0 _\bO_\bP_\bT Note that '$' evaluation is still done inside a\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT quote block.\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 _\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 \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/set.html", "source2": "./usr/share/doc/htp/set.html", "unified_diff": "@@ -114,19 +114,52 @@\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

\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]\"DEF NAME=\"HEADERIMG\" OPTION=\"SRC TITLE SIZE\">
\n+    <\"[ref]\"IF size>
\n+        <FONT SIZE=${size}>
\n+    <\"[ref]\"/IF>
\n+    <\"[ref]\"IMG SRC=pics/${src}>
\n+    <\"[ref]\"USE title>
\n+    <\"[ref]\"IF size>
\n+        </FONT>
\n+    <\"[ref]\"/IF>
\n+  <\"[ref]\"/DEF>
\n+
\n+  <HEADERIMG SRC=\"logo.gif\" SIZE=\"+2\" TITLE=\"A title\">
\n+
\n+  <HEADERIMG SRC=\"logo.gif\" TITLE=\"Normal sized title\">
\n+
\n+  This will fail:
\n+  <HEADERIMG SRC=\"logo.gif\" ALT=\"Our logo\" TITLE=\"Another title\">
\n+
\n+  Instead, use * like this:
\n+  <\"[ref]\"DEF NAME=\"MYIMG\" OPTION=\"SRC *\">
\n+    <\"[ref]\"IMG SRC=\"pics/${src}\" $*>
\n+  <\"[ref]\"/DEF>
\n+   
\n+  <MYIMG SRC=\"logo.gif\" ALT=\"Our logo\">
\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,36 +1,75 @@\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**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be S\bSE\bET\bT creates a macro definition that can later be\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl expanded anywhere in the HTML document. To create a\n-\u00a0 _\bU_\bs_\ba_\bg_\be macro:\n-\u00a0 HTP Tags The macro \"emailaddr\" can then be expanded later.\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT The _\bU_\bS_\bE tag is used to expand the macro outside a\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK tag (i.e., into the regular text). If the macro\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF needs to be expanded inside a markup tag, use the\n-\u00a0 \u00a0 _\bD_\bE_\bF _\b'_\b$_\b' operator.\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE Multiple macros can be declared in a single markup\n-\u00a0 \u00a0 _\bI_\bF tag, as the second syntax line shows.\n-\u00a0 \u00a0 _\bI_\bN_\bC SET should only be used for a single line's worth\n-\u00a0 \u00a0 _\bI_\bM_\bG of text. Multi-line macros can be defined with the\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL _\bB_\bL_\bO_\bC_\bK tag. The _\bB_\bL_\bO_\bC_\bK tag is also useful if the\n-\u00a0 \u00a0 _\bO_\bP_\bT macro contains a quotation character and you don't\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT want to fool around with special escape characters.\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE Macros can be redefined by using another SET\n-\u00a0 [>] _\bS_\bE_\bT command with the same macro name. The prior\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF definition will be destroyed, however. Also, the\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT macro can be removed (destroyed) with the _\bU_\bN_\bS_\bE_\bT\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ tag.\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 _\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 S\bSE\bET\bT creates a macro definition that can later be\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL expanded anywhere in the HTML document. To create a\n+\u00a0 \u00a0 _\bO_\bP_\bT macro:\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bD_\bE_\bF NAME=\"HEADERIMG\" OPTION=\"SRC TITLE\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE SIZE\">\n+\u00a0 [>] _\bS_\bE_\bT \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF size>\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF \u00a0 \u00a0 \u00a0 \u00a0 \n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bI_\bF>\n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bM_\bG SRC=pics/${src}>\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bU_\bS_\bE title>\n+\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF size>\n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a0 \u00a0 \u00a0 \u00a0 \n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bI_\bF>\n+\u00a0 _\bB_\bu_\bg_\bs \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bD_\bE_\bF>\n+\n+ \u00a0 \n+\n+ \u00a0 \n+\n+ \u00a0 This will fail:\n+ \u00a0 \n+\n+ \u00a0 Instead, use * like this:\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bD_\bE_\bF NAME=\"MYIMG\" OPTION=\"SRC *\">\n+ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bM_\bG SRC=\"pics/${src}\" $*>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bD_\bE_\bF>\n+ \u00a0 \u00a0\n+ \u00a0 \n+ The macro \"emailaddr\" can then be expanded later.\n+ The _\bU_\bS_\bE tag is used to expand the macro outside a\n+ tag (i.e., into the regular text). If the macro\n+ needs to be expanded inside a markup tag, use the\n+ _\b'_\b$_\b' operator.\n+ Multiple macros can be declared in a single markup\n+ 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+ 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+\n+\n+\n+\n \n \n \n \n \n \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 Sat Apr 27, 2024\n+ last updated Fri May 30, 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 Sat Apr 27, 2024\n+last updated Fri May 30, 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 Sat Apr 27, 2024\n+last updated Fri May 30, 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 Sat Apr 27, 2024\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 Fri May 30, 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 Sat Apr 27, 2024\n+ last updated Fri May 30, 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 Sat Apr 27, 2024\n+last updated Fri May 30, 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 Sat Apr 27, 2024\n+ last updated Fri May 30, 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 Sat Apr 27, 2024\n+last updated Fri May 30, 2025\n"}]}, {"source1": "./usr/share/doc/htp/undef.html", "source2": "./usr/share/doc/htp/undef.html", "unified_diff": "@@ -114,14 +114,15 @@\n Bugs\n \n \n \n \n

syntax

\n

\n+    <\"[ref]\"SET emailaddr=\"jnelson@crl.com\">
\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 htp until it is reassigned.

\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,18 +1,18 @@\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**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be U\bUN\bND\bDE\bEF\bF removes a metatag definition. Metatags\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl created by _\bD_\bE_\bF and _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF can be removed with the\n-\u00a0 _\bU_\bs_\ba_\bg_\be UNDEF command. Once removed, the metatag will no\n-\u00a0 HTP Tags longer be recognized by htp until it is reassigned.\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT Multiple metatags can be removed by placing each\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK name as an attribute.\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bS_\bE_\bT emailaddr=\"jnelson@crl.com\">\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 U\bUN\bND\bDE\bEF\bF removes a metatag definition. Metatags\n+\u00a0 _\bU_\bs_\ba_\bg_\be created by _\bD_\bE_\bF and _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF can be removed with the\n+\u00a0 HTP Tags UNDEF command. Once removed, the metatag will no\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT longer be recognized by htp until it is reassigned.\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK Multiple metatags can be removed by placing each\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF name as an attribute.\n \u00a0 \u00a0 _\bD_\bE_\bF\n \u00a0 \u00a0 _\bF_\bI_\bL_\bE\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@@ -24,14 +24,15 @@\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 \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,30 +114,32 @@\n Bugs\n \n \n \n \n

syntax

\n

\n+    <\"[ref]\"SET emailaddr=\"jnelson@crl.com\">
\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]\"FILE INCLUDE=\"include.hti\" name=\"Jim Nelson\" email=\"jnelson@crl.com\">
\n+    This tag will fail: <\"[ref]\"USE name>
\n

\n

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

\n-    <\"[ref]\"FILE INCLUDE=\"include.hti\" name=\"Jim Nelson\" email=\"jnelson@crl.com\">
\n-    This tag will fail: <\"[ref]\"USE name>
\n+    <${tagName} ${attrName}=${value$ctr}>
\n

\n

\n \n \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,25 +1,25 @@\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**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be U\bUN\bNS\bSE\bET\bT removes (or deletes) a macro and it's\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl definition. The macro is subsequently not available\n-\u00a0 _\bU_\bs_\ba_\bg_\be for use in the pre-processed files. (Note that\n-\u00a0 HTP Tags simply redefining the macro with another _\bS_\bE_\bT or\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT _\bB_\bL_\bO_\bC_\bK definition with the same name is acceptable.\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK The old macro definition will be removed\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF automatically.)\n-\u00a0 \u00a0 _\bD_\bE_\bF For example:\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE More than one macro may be removed in the same tag:\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bS_\bE_\bT emailaddr=\"jnelson@crl.com\">\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 U\bUN\bNS\bSE\bET\bT removes (or deletes) a macro and it's\n+\u00a0 _\bU_\bs_\ba_\bg_\be definition. The macro is subsequently not available\n+\u00a0 HTP Tags for use in the pre-processed files. (Note that\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT simply redefining the macro with another _\bS_\bE_\bT or\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK _\bB_\bL_\bO_\bC_\bK definition with the same name is acceptable.\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF The old macro definition will be removed\n+\u00a0 \u00a0 _\bD_\bE_\bF automatically.)\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE For example:\n \u00a0 \u00a0 _\bI_\bF \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bF_\bI_\bL_\bE INCLUDE=\"include.hti\" name=\"Jim\n \u00a0 \u00a0 _\bI_\bN_\bC Nelson\" email=\"jnelson@crl.com\">\n \u00a0 \u00a0 _\bI_\bM_\bG \u00a0 \u00a0 This tag will fail: <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bU_\bS_\bE name>\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL\n-\u00a0 \u00a0 _\bO_\bP_\bT\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL More than one macro may be removed in the same tag:\n+\u00a0 \u00a0 _\bO_\bP_\bT \u00a0 \u00a0 <${tagName} ${attrName}=${value$ctr}>\n \u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT\n \u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE\n \u00a0 \u00a0 _\bS_\bE_\bT\n \u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF\n \u00a0 [>] _\bU_\bN_\bS_\bE_\bT\n \u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$\n \u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE\n@@ -30,14 +30,16 @@\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 HTML coding_\b[_\bP_\bo_\bw_\be_\br_\be_\bd_\b _\bb_\by\n _\bh_\bt_\bp_\b]\n"}]}, {"source1": "./usr/share/doc/htp/use.html", "source2": "./usr/share/doc/htp/use.html", "unified_diff": "@@ -114,14 +114,15 @@\n Bugs\n
\n \n \n \n

syntax

\n

\n+    <\"[ref]\"INC i=\"1\" j=\"-1\">
\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@@ -131,14 +132,36 @@\n attribute to prevent further expansion.

\n

USE will accept additional parameters, which are \"local\" macros\n for the expanded macro. This is only valid for BLOCK macros. Macros created using SET cannot have parameters passed. For\n example:

\n

\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+ 6.     </FONT>
\n+ 7.     <\"[ref]\"/IF>
\n+ 8.   <\"[ref]\"/DEF>
\n+ 9.
\n+10.   <HEADERIMG SRC=\"logo.gif\" SIZE=\"+2\" TITLE=\"A title\">
\n+11.
\n+12.   <HEADERIMG SRC=\"logo.gif\" TITLE=\"Normal sized title\">
\n+13.
\n+14.   This will fail:
\n+15.   <HEADERIMG SRC=\"logo.gif\" ALT=\"Our logo\" TITLE=\"Another title\">
\n+16.
\n+17.   Instead, use * like this:
\n+18.   <\"[ref]\"DEF NAME=\"MYIMG\" OPTION=\"SRC *\">
\n+19.     <\"[ref]\"IMG SRC=\"pics/${src}\" $*>
\n+20.   <\"[ref]\"/DEF>
\n+21.    
\n+22.   <MYIMG SRC=\"logo.gif\" ALT=\"Our logo\">
\n

\n

\n (See below for a description of the '$' operator.) The example on\n line 7 works because \"stuff\" has been declared as a block macro, and\n the tag is passing the \"email\" macro to the \"stuff\" macro. Line 8\n fails because the \"email\" macro is unavailable once the block macro is\n completely expanded, and cannot be passed to a SET macro.\n@@ -177,15 +200,21 @@\n delimiting the text as if it were additional markup attributes.\n If the '$' macro is surrounded by other text (as in the two examples above),\n quotation marks are not automatically supplied.\n

\n Note that a '$' macro can be placed anywhere in a markup tag and can\n be nested. This is valid:\n

\n-    <${tagName} ${attrName}=${value$ctr}>
\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

The tagName macro can contain any tag name, even a self-defined\n metatag. Note that $ctr is expanded before the valueX\n macro is expanded, so assuming that ctr was set to 1 it will expand\n value1.\n

\n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,36 +1,65 @@\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**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be U\bUS\bSE\bE will expand macros that have been previously\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl declared with either _\bS_\bE_\bT or _\bB_\bL_\bO_\bC_\bK. USE can only be\n-\u00a0 _\bU_\bs_\ba_\bg_\be used outside of other markup tags.\n-\u00a0 HTP Tags If you USE a block macro the value of expanded\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT block macros will be further parsed by htp. This is\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK maybe not what you want, for example, if the use is\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF inside a block which _\be_\bx_\bp_\ba_\bn_\bd_\bs itself. You can use\n-\u00a0 \u00a0 _\bD_\bE_\bF the noexpand attribute to prevent further\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE expansion.\n-\u00a0 \u00a0 _\bI_\bF USE will accept additional parameters, which are\n-\u00a0 \u00a0 _\bI_\bN_\bC \"local\" macros for the expanded macro. This is only\n-\u00a0 \u00a0 _\bI_\bM_\bG valid for _\bB_\bL_\bO_\bC_\bK macros. Macros created using _\bS_\bE_\bT\n-\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL cannot have parameters passed. For example:\n-\u00a0 \u00a0 _\bO_\bP_\bT (See below for a description of the '$' operator.)\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT The example on line 7 works because \"stuff\" has\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE been declared as a block macro, and the tag is\n-\u00a0 \u00a0 _\bS_\bE_\bT passing the \"email\" macro to the \"stuff\" macro.\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF Line 8 fails because the \"email\" macro is\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT unavailable once the block macro is completely\n-\u00a0 [>] _\bU_\bS_\bE_\b,_\b _\b$ expanded, and cannot be passed to a SET macro.\n-\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE Note that the \"email\" macro is available to other\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- macros or included files called within the \"stuff\"\n-\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by block.\n-\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt Inside a markup tag, like _\bI_\bM_\bG, A (anchor), or any\n-\u00a0 _\bB_\bu_\bg_\bs other standard HTML or htp tag, the '$' operator\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 U\bUS\bSE\bE will expand macros that have been previously\n+\u00a0 _\bU_\bs_\ba_\bg_\be declared with either _\bS_\bE_\bT or _\bB_\bL_\bO_\bC_\bK. USE can only be\n+\u00a0 HTP Tags used outside of other markup tags.\n+\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT If you USE a block macro the value of expanded\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK block macros will be further parsed by htp. This is\n+\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF maybe not what you want, for example, if the use is\n+\u00a0 \u00a0 _\bD_\bE_\bF inside a block which _\be_\bx_\bp_\ba_\bn_\bd_\bs itself. You can use\n+\u00a0 \u00a0 _\bF_\bI_\bL_\bE the noexpand attribute to prevent further\n+\u00a0 \u00a0 _\bI_\bF expansion.\n+\u00a0 \u00a0 _\bI_\bN_\bC USE will accept additional parameters, which are\n+\u00a0 \u00a0 _\bI_\bM_\bG \"local\" macros for the expanded macro. This is only\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL valid for _\bB_\bL_\bO_\bC_\bK macros. Macros created using _\bS_\bE_\bT\n+\u00a0 \u00a0 _\bO_\bP_\bT cannot have parameters passed. For example:\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT \u00a01. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bd_\be_\bf name=\"sharedimg\" option=\"name\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE alt\">\n+\u00a0 \u00a0 _\bS_\bE_\bT \u00a02. \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bm_\bg src=\"/home/sharedimages/$\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF {name}\" alt=\"${alt}\">;\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT \u00a03. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bd_\be_\bf>\n+\u00a0 [>] _\bU_\bS_\bE_\b,_\b _\b$ \u00a04.\n+\u00a0 \u00a0 _\bW_\bH_\bI_\bL_\bE \u00a05. \u00a0 \n+\u00a0 _\bH_\bi_\bs_\bt_\bo_\br_\by \u00a06. \u00a0 \u00a0 \n+\u00a0 _\bW_\bi_\bs_\bh_\b _\bl_\bi_\bs_\bt \u00a07. \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bI_\bF>\n+\u00a0 _\bB_\bu_\bg_\bs \u00a08. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bD_\bE_\bF>\n+ \u00a09.\n+ 10. \u00a0 \n+ 11.\n+ 12. \u00a0 \n+ 13.\n+ 14. \u00a0 This will fail:\n+ 15. \u00a0 \n+ 16.\n+ 17. \u00a0 Instead, use * like this:\n+ 18. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bD_\bE_\bF NAME=\"MYIMG\" OPTION=\"SRC *\">\n+ 19. \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bM_\bG SRC=\"pics/${src}\" $*>\n+ 20. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bD_\bE_\bF>\n+ 21. \u00a0 \u00a0\n+ 22. \u00a0 \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+ Line 8 fails because the \"email\" macro is\n+ unavailable once the block macro is completely\n+ expanded, and cannot be passed to a SET macro.\n+ Note that the \"email\" macro is available to other\n+ macros or included files called within the \"stuff\"\n+ block.\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. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt sect-ctr=\"0\">\n \u00a02. \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf name=\"section\">\n@@ -55,15 +84,21 @@\n it with quotation marks to prevent spaces from\n delimiting the text as if it were additional markup\n attributes. If the '$' macro is surrounded by other\n text (as in the two examples above), quotation\n marks are not automatically supplied.\n Note that a '$' macro can be placed anywhere in a\n markup tag and can be nested. This is valid:\n- \u00a0 \u00a0 <${tagName} ${attrName}=${value$ctr}>\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"header.hti\">\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt sect-ctr=\"1\">\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bw_\bh_\bi_\bl_\be sect-${sect-ctr}>\n+ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be sect-${sect-ctr}>\n+ \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bi_\bn_\bc sect-ctr>\n+ \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bw_\bh_\bi_\bl_\be>\n+ <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bf_\bi_\bl_\be include=\"footer.hti\">\n The tagName macro can contain any tag name, even a\n self-defined metatag. Note that $ctr is expanded\n before the valueX macro is expanded, so assuming\n that ctr was set to 1 it will expand value1.\n \n \n \n"}]}, {"source1": "./usr/share/doc/htp/while.html", "source2": "./usr/share/doc/htp/while.html", "unified_diff": "@@ -114,36 +114,34 @@\n Bugs\n \n \n \n \n

syntax

\n

\n+    <\"[ref]\"SET emailaddr=\"jnelson@crl.com\">
\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+<a href=\"mailto:$email\">mailto hyperlink</a>
\n+<a href=\"http://$domain/~${username}/\">another hyperlink</a>
\n+me>
\n

\n

\n Just as with \"[ref]\"IF you can also check for a\n macro's existance:\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+    <${tagName} ${attrName}=${value$ctr}>
\n

\n

\n If the condition is true, the block is evaluated and afterwards the\n WHILE tag is evaluated again. If the '$'-operator is used in the\n WHILE tag it is also reevaluated on each iteration.\n

\n A loop block must be closed with the /WHILE tag.\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1,45 +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: 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**\b**\b**\b* s\bsy\byn\bno\bop\bps\bsi\bis\bs *\b**\b**\b**\b**\b*\n-\u00a0 _\bL_\bi_\bc_\be_\bn_\bs_\be W\bWH\bHI\bIL\bLE\bE is the building block for repeated\n-\u00a0 _\bT_\bu_\bt_\bo_\br_\bi_\ba_\bl processing. The basic form is shown above.\n-\u00a0 _\bU_\bs_\ba_\bg_\be \"Conditional\" is either a \"compare\" or \"is defined\"\n-\u00a0 HTP Tags operation. A compare operator is a test of the\n-\u00a0 \u00a0 _\bA_\bL_\bT_\bT_\bE_\bX_\bT value of a macro against a literal string. If the\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK NOT tag is present in the WHILE markup, the\n-\u00a0 \u00a0 _\bB_\bL_\bO_\bC_\bK_\bD_\bE_\bF evaluation of the conditional is reversed:\n-\u00a0 \u00a0 _\bD_\bE_\bF Just as with _\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF you can also check for a\n-\u00a0 \u00a0 _\bF_\bI_\bL_\bE macro's existance:\n-\u00a0 \u00a0 _\bI_\bF \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bs_\be_\bt sect-ctr=\"0\">\n-\u00a0 \u00a0 _\bI_\bN_\bC \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf name=\"section\">\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 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bb_\bl_\bo_\bc_\bk name=\"sect-${sect-ctr}\" expand\n-\u00a0 \u00a0 _\bO_\bP_\bT global>\n-\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT \u00a0 \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bu_\bs_\be block noexpand>\n-\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk>\n-\u00a0 \u00a0 _\bS_\bE_\bT \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\b/_\bb_\bl_\bo_\bc_\bk_\bd_\be_\bf>\n-\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF If the condition is true, the block is evaluated\n-\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT and afterwards the WHILE tag is evaluated again. If\n-\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ the '$'-operator is used in the WHILE tag it is\n-\u00a0 [>] _\bW_\bH_\bI_\bL_\bE also reevaluated on each iteration.\n-\u00a0 \u00a0 _\b<_\b!_\b-_\b-_\b- A loop block m\bmu\bus\bst\bt be closed with the /WHILE tag.\n+\u00a0 _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn \u00a0 \u00a0 <_\b[_\b[_\br_\be_\bf_\b]_\b]_\bS_\bE_\bT emailaddr=\"jnelson@crl.com\">\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 mailto hyperlink\n+\u00a0 \u00a0 _\bI_\bF another\n+\u00a0 \u00a0 _\bI_\bN_\bC hyperlink\n+\u00a0 \u00a0 _\bI_\bM_\bG me>\n+\u00a0 \u00a0 _\bI_\bM_\bA_\bG_\bE_\bU_\bR_\bL Just as with _\b[_\b[_\br_\be_\bf_\b]_\b]_\bI_\bF you can also check for a\n+\u00a0 \u00a0 _\bO_\bP_\bT macro's existance:\n+\u00a0 \u00a0 _\bO_\bU_\bT_\bP_\bU_\bT \u00a0 \u00a0 <${tagName} ${attrName}=${value$ctr}>\n+\u00a0 \u00a0 _\bQ_\bU_\bO_\bT_\bE If the condition is true, the block is evaluated\n+\u00a0 \u00a0 _\bS_\bE_\bT and afterwards the WHILE tag is evaluated again. If\n+\u00a0 \u00a0 _\bU_\bN_\bD_\bE_\bF the '$'-operator is used in the WHILE tag it is\n+\u00a0 \u00a0 _\bU_\bN_\bS_\bE_\bT also reevaluated on each iteration.\n+\u00a0 \u00a0 _\bU_\bS_\bE_\b,_\b _\b$ A loop block m\bmu\bus\bst\bt be closed with the /WHILE tag.\n+\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"}]}]}]}]}]}