A Generic frame work for writing static macros in Java to generate elaborate boilerplate in HTML text files on the desktop without requiring any server side coding. It could also be used to expand macros in any text files. The basic idea is this. You embed magic comments in your HTML that look like something like this: Then you run htmlmacros.exe and it expands those comments to boilerplate that looks like this: 20 cm (7.87 in) and renders for your viewers like this: 20 cm (7.87 in) For more detail, read the manual posted at http://mindprod.com/application/htmlmacrosmanual.html Some of the 100 odd Macros that already exist include: Age Calculate Age of something in years/months/days AllPosters affiliate link to AllPosters.com Amazon link to non-book product at Amazon Art link to art.com poster Audio link to audio file BestBrowsers describe recommended browsers Book links to sell a book at various bookstores CurrCon show currency in multiple countries DailySpecial random link to take a change page on the website changed daily. Degrees show both Fahrenheit/Celsius Dim metric/English width x height DVD link to DVD stores FileSize insert the current size of a local file Foot footer with google and public service ads. Head generic header, there are also many special purpose variants. Image display an png, jpg, gif Include include boilerplate, possibly containing embedded macros J2EE macro: link to Sun's J2EE docs JDisplay display pretty colourised code listing JDK refer to the current JDK JRE refer to the current JRE KJV link to verses in the KJV bible Link smart href with webroot-relative link. Independent of where it is. Used in Includes instead of href. LL generate a entry for one person in the living love database Macro Interface that all macros implement MailTo munged link to email Measure display in both metric and imperial units MenuItem menu item Moved generate a stub to redirect to a document that has moved NeedJava why Java needed NeedJWS why Java Web Start Needed Newsgroup link to a newsgroup NoJava display if Java missing OSes generate a list of OSes PayPal generate encrypted link to PayPal Photo link to photo not displayed, with clickable camera icon. Quilt generate an n x m list of links QuiltPair generate an n x m list of cell pairs Quotation random quote of the day Reunion generates entry for one person coming to a reunion. Revised generates date last revised RFC link to RFC RSS RSS feed item RSSBegin beginning of a group of RSS feed items to sort and group by day. RSSEnd beginning of a group of RSS feed times to sort and group by day. Sun links to Sun site/bundled documentation SunBug link to Sun bug report SunJDKandJREVersions constants for various Sun JRE and JDK current and previous versions SunJDKFile ref to file in JDK SunJREFile ref to file in JRE SunRFE link to Sun RFE (Request For Enhancement) Video Generates link to video file. WebRing generates navbar link to WebRing Why Use HTML Static Macros 1. You don't need to run any code on the server, just a vanilla HTML server. This means you can host an elaborate website on a free or almost free server. 2. You can run a arbibtrarily large website on a server with just tiny amount of RAM. 3. It means your website in unusually responsive since all pages are prepared ahead of time before you upload. 4. Using the Replicator, your clients can maintain a local copy of your website they can access rapidly without requiring any sort of local server, just a browser. 5. It is easy to rapidly validate your HTML, spelling, links, and global changes using ordinary HTML tools that work with your local disk copies. Why Not Use HTML Static Macros 1. With static macros, your website cannot interact with the user via servlets. You must use Java Applets or Java Web Start. 2. The cost of JSP hosting has dropped drastically. 3. Very few people are using this approach.