summaryrefslogtreecommitdiff
path: root/doc/examples/WWW/m4lib/layout.m4
diff options
context:
space:
mode:
authorGary V. Vaughan <gary@gnu.org>2013-09-22 09:49:06 +0700
committerGary V. Vaughan <gary@gnu.org>2013-09-22 09:49:06 +0700
commit578bd023ea85d57d8488b8cb88265fbe3a3071e4 (patch)
treecc5a6088277c1a747041f5969cf21d7fca2ca4f1 /doc/examples/WWW/m4lib/layout.m4
parent1eacf10370529972a7407bdbb368f5f69f87a1b8 (diff)
downloadm4-578bd023ea85d57d8488b8cb88265fbe3a3071e4.tar.gz
configury: move usage examples into doc subdirectory.
* examples: Move from here... * doc/examples: ...to here. * Makefile.am (EXTRA_DIST, dist_pkgdata_DATA): Adjust. * README, doc/m4.texi, tests/builtins.at, tests/generate.awk, tests/others.at: Likewise. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Diffstat (limited to 'doc/examples/WWW/m4lib/layout.m4')
-rw-r--r--doc/examples/WWW/m4lib/layout.m465
1 files changed, 65 insertions, 0 deletions
diff --git a/doc/examples/WWW/m4lib/layout.m4 b/doc/examples/WWW/m4lib/layout.m4
new file mode 100644
index 00000000..e54002db
--- /dev/null
+++ b/doc/examples/WWW/m4lib/layout.m4
@@ -0,0 +1,65 @@
+\divert(-1);
+The semicolons are just to get GNU Emacs C mode to indent properly.
+
+\define([C_TEXT], [text="#000000"]);
+\define([C_LINK], [link="#0000EF"]);
+\define([C_ALINK], [vlink="#51188E"]);
+\define([C_VLINK], [alink="#FF0000"]);
+\define([C_BG1], [bgcolor="#FFCC99"]);
+\define([C_BG2], [bgcolor="#FF9900"]);
+\define([C_BG3], [bgcolor="#CC6600"]);
+
+\define([DO_HEADER],
+ [\head([\title([GNU m4 - \defn([_TITLE])])],
+ [\meta_if_set([AUTHOR])],
+ [\meta_if_set([GENERATOR])],
+ [\meta_if_set([KEYWORDS])],
+ )]);
+
+\define([DO_BODY],
+ [\body([\C_TEXT \C_BG1 \C_LINK \C_VLINK \C_ALINK],
+ [\table([cellpadding=5 width="100%"],
+ [\tr([align=left valign=bottom],
+ [\td([align=center valign=middle colspan="3" width="100%" \C_BG2],
+ [\h1([GNU m4])],
+ [\h2(\defn([_TITLE]))],
+ )],
+ )],
+ [\tr([],
+ [\td([align=left valign=top width="15%" \C_BG2],
+ [\include([menu.m4])],
+ )],
+ [\td([align=left valign=top width="90%"],
+ [$*],
+ )],
+ )],
+ )],
+ )]
+ );
+
+\define([DO_LAYOUT],
+ [\doctype([html public "-//w3c//dtd html 4.0 transitional//en"])
+\html([\DO_HEADER], [\DO_BODY([$*])])]
+ );
+
+\define([<], [&lt;]);
+\define([>], [&gt;]);
+
+\define([showlink], [\link($1, $1)]);
+\define([mailto], [\link(mailto:$1, $1)]);
+
+
+<!-- These macros are for having first a simple toc and later a more
+thorough description of each item -->
+
+\define([print_items], [\undivert(2)])
+
+\define([item], [\li \link([[#]$1], [$2.])
+\pushdef([_div], \divnum)\dnl
+\divert(2)\dnl
+\hr([align=center width="50%"])\dnl
+\h2([\target([$1], [$2])])\dnl
+$3\dnl
+\divert(\_div)\dnl
+\popdef([_div])\dnl
+])