;;; 4.mhtml
;;;
<set-var title="Developing A Product Template">
<include header.mhtml>

<plain-text>
  We've noticed that each cake product page is formatted in a very
  similar way.  We would like to distill out the common HTML commands,
  like we did with the <file header.mhtml> and <file footer.mhtml>
  files, but we can't just use the <funref include> command, because the
  product descriptions are not exactly the same, they just share a
  common HTML format.

  We can however, define a new Meta-HTML tag called
  <code>cake-template</code>, using the <funref defmacro>
  command. <code>cake-template</code> formats
  the description of a cake in a particular way, but we
  can pass in the actual text of the description as variables.

  This lets us make the source Web page for each cake product
  be very compact, and more importantly, lets us change the
  HTML formatting on all the pages, simultaneously, just by
  changing the definition of <code>cake-template</code>.

  <section-pages 4>
  cake-template.mhtml
  red.mhtml
  green.mhtml
  black.mhtml
  blue.mhtml
  header.mhtml
  footer.mhtml
  </section-pages>

  <pagelist-control-panel>
</plain-text>
<include footer.mhtml>
