File: genhtml/__docs__/this-page-template.txt
$DOCTYPE$ <HTML> <HEAD> <TITLE>genhtml - Book supplemental example</TITLE> $META$ $ICON$ $STYLE$ $SCRIPT$ <STYLE> .notebox { margin-left: 40px; margin-right: 40px; margin-top: 30px; margin-bottom: 30px; border-style: solid; border-width: 1; padding: 5px; background-color: cornsilk; } </STYLE> </HEAD> <BODY> <H1><I>genhtml</I> — Static HTML Inserts for Website Files</H1> <P class=notebox> <I><B>New</B></I>: as of June 2017, genhtml now handles ".*" Mac/Unix cruft files in inserts and templates folders. This includes both ".DS_Store" Finder files, and any "._*" AppleDouble resource-fork files on non-Mac drives. Both are skipped in inserts to avoid errors, but are simply copied like other non-HTML in templates because more may pop up—filter later with your zip or upload tools (e.g., <A HREF="ziptools.html">ziptools</A>). See the new <A HREF="genhtml/genhtml.py">script's</A> docstring for details. For a quick example of genhtml at work, see also the template file for the page you are <A HREF="genhtml/this-page-template.txt">viewing</A>, and its expansion via your browser's "view source." <P> This Python 3.X program replaces keys in a folder's HTML code files with the content of correspondingly-named text files, providing basic HTML macro functionality. For static content, it can be used to avoid mass cut-and-pastes (which are prohibitively tedious); JavaScript hacks on the client (which users may disable); and PHP server-side inserts (which can make your pages dependent on a server). <P> Among its features, this program has automatic dependency tracking—HTML files are regenerated when their templates or any inserts they use have changed; configurable Unicode support—encodings in a sequence are tried in turn for each HTML file; and one-level nested inserts—insert files can insert other insert files. It also serves to illustrate a typical utility role for Python scripts. <P> See the main script's docstring and other items below for usage details. <P> <B><I>Code and docs</I></B>: <UL> <LI><A HREF="genhtml/genhtml.py">genhtml.py</A> — the main script's source (380 lines, 1/3 docstring) </UL> <P> <B><I>Example</I></B>: <UL> <LI><A HREF="genhtml/Html-inserts/FOOTERMAIN.txt">Inserts file</A> — filename gives key (plus the <A HREF="genhtml/Html-inserts/FOOTER-COMMON.txt">nested insert</A>) <LI><A HREF="genhtml/Html-templates/test1.html">Template page</A> — with insert targets (inspect with "view source") <LI><A HREF="genhtml/Complete/test1.html">Generated page</A> — with inserts applied (inspect with "view source") </UL> <P> <B><I>Usage</I></B>: <UL> <LI><A HREF="genhtml/__docs__/run-log.txt">Run log examples</A> — script interaction <LI><A HREF="genhtml/__docs__/console.png">Console screen shot</A> — session capture <LI><A HREF="genhtml/__docs__">Docs folder</A> — assorted documentation augmenting the script's docstring </UL> <P> <B><I>Download/view all</I></B>: <UL> <LI><A HREF="genhtml/genhtml.zip">genhtml.zip</A> — with all tests, docs, and examples</A> <LI><A HREF="genhtml/">Unzipped content online</A> — script, docs, more examples and test pages </UL> </P> <P> This program was last changed June 11, 2017. <P> For more code examples, see the <A HREF="programs.html">programs</A> page. </P> $FOOTERTAN$ </BODY> </HTML>