MacroHTML allows you to define snippets of HTML and include them in your web pages. This allows you to have a consistent look and feel on all of your pages, and write sections just once, with one change being reflected in many files. It does this by using the double arrow bracket directive, eg. ((include/me)) (substituting normal brackets for arrow ones).
This tells the pre-compiler to include a file directly at that position, replacing the tag include directive that was there. As the file is being included, it in turn is checked to see whether it, too includes other files. If it does, then these are also included in a recursive manner unless doing so would create a circular path (at which point a warning message is placed in the parent file and compilation continues, but skipping that path).
Finally, the resultant pseudo-HTML stream is passed to the macro-compiler where the tags are expanded out to real HTML. That text stream is written to disk in an output directory as .html files which can be read by a browser.
An example:
<<header.inc>>
==Hello==
This is an un-ordered list of things:
* Item 1
* Item 2
* Item 3
with a right justified picture with an alternate text tag: {{mypicture.jpg|some text description }} Notice the space at the right just before the curly brackets - that makes the image right aligned.
<<footer.inc>>
<<header.inc>> includes the entire contents of the header.inc file that you (presumably) made earlier. If header.inc also includes any other include file, then they will also be included recursively. Once you change header.inc (or any of its parts), the site can be re-generated by pressing the 'Make All' button.
Whenever there is text that is repeated in your html source (even is it's in the same file), consider using an include file. Then, changes that you make to that one include file will be replicated in all other files that use it, and this makes for a much more consistent site. Although it is a little more trouble at the start, I'm sure that you'll soon realize how much grief and stress this single feature can save you. As an alternative for very short phrases and names, check out the 'hot text' feature.