summaryrefslogtreecommitdiff
path: root/examples/WWW/m4lib/thissite.m4
blob: eecfa9cf0aea0bbc61ac02014fe6f8605d783f39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
include(`setup.m4')

\set_author([René Seindal])
\set_title([This site])

\divert(1)

\p([This GNU m4 site is maintained by René Seindal,
(\mailto(rene@seindal.dk)).])

\p([All files are generated using GNU m4 \__m4_version__.  You can view
the \link(m4lib/, source files).  They are very simple.  They use some
features from GNU m4 1.4l])

\p([The basic M4 definitions of quotes, comments, escapes are in
\showlink(m4lib/setup.m4).  This is first included by all files to
configure the enviroment correctly for the other files.  To avoid have
macros called by accident, an escape character is defined with
changesyntax.  \i(This is a new feature in m4 1.4l).])

\p([Some fairly general macros to generate various HTML construct are
found in \showlink(m4lib/html.m4).  There are macros for simple tags,
containers with and without attributes, links and a few utility macros.])

\p([The visual aspects of the pages are in \showlink(m4lib/layout.m4).
The macros herein generate the complete HTML structure for the pages.
There are macros for making the header and the body of the document.])

\p([The definition of the left hand menu is in \showlink(m4lib/menu.m4).
I convinced GNU Emacs to do the indentation by switching to c-mode.])

\p([The page body is passed to the layout definitions as an argument.  As
the text can be large, it is first diverted and the text passed to the
layout macros is simply a call to undivert.  That way a very large text
can be passed around with very little cost.  This page is made with
\link(m4lib/thissite.m4, these definitions).])

\p([There is a single file for each HTML file.])

\divert(0)\dnl
\DO_LAYOUT([\undivert(1)])
\divert(-1)