diff options
Diffstat (limited to 'doc/examples/WWW/m4lib/html.m4')
-rw-r--r-- | doc/examples/WWW/m4lib/html.m4 | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/doc/examples/WWW/m4lib/html.m4 b/doc/examples/WWW/m4lib/html.m4 new file mode 100644 index 00000000..94ed69ed --- /dev/null +++ b/doc/examples/WWW/m4lib/html.m4 @@ -0,0 +1,122 @@ +\define([n], [ +]) + +\define([concat], [\ifelse($#, 0, , + $#, 1, [$1], + [$1 \concat(\shift($@))])]) + +\define([toupper], [\translit([$*], [a-z], [A-Z])]) + +\define([container], +[\pushdef([_tag], \toupper([$1]))\dnl +\ifelse($#, 1, [<\_tag></[\_tag]>], + $#, 2, [<\_tag>$2</\_tag>], + $#, 3, [<\_tag $2>$3</\_tag>], + [<\_tag $2>\concat(\shift(\shift($@)))</\_tag>])\dnl +\popdef([_tag])\dnl +]) + +\define([large_container], +[\pushdef([_tag], \toupper([$1]))\dnl +\ifelse($#, 1, [<\_tag></\_tag>\n], + $#, 2, [<\_tag>\n[]$2\n</\_tag>\n], + $#, 3, [<\_tag $2>\n[]$3\n</\_tag>\n], + [<\_tag $2>\n\concat(\shift(\shift($@)))\n</\_tag>\n])\dnl +\popdef([_tag])\dnl +]) + +\define([large_simple_container], +[\pushdef([_tag], \toupper([$1]))\dnl +<\_tag>\n\concat(\shift($@))\n</\_tag>\n\dnl +\popdef([_tag])\dnl +]) + +\define([simple_container], +[\pushdef([_tag], \toupper([$1]))\dnl +<\_tag>\concat(\shift($@))</\_tag>\dnl +\popdef([_tag])\dnl +]) + +\define([simple_tag], +[\pushdef([_tag], \toupper([$1]))\dnl +\ifelse([$2], [], [<\_tag>], [<\_tag $2>])\dnl +\popdef([_tag])\dnl +]) + +\define([doctype], [\simple_tag([!DOCTYPE], $@)]) + +\define([html], [\large_simple_container([$0], $@)]) +\define([head], [\large_simple_container([$0], $@)]) +\define([title], [\simple_container([$0], $@)]) + +\define([meta], [\n<META NAME="[$1]" CONTENT="[$2]">]) +\define([http_equiv], [\n<META HTTP-EQUIV="[$1]" CONTENT="[$2]">]) + +\define([body], [\large_container([$0], $@)]) + +\define([center], [\large_simple_container([$0], $@)]) +\define([right], [\large_simple_container([$0], $@)]) +\define([left], [\large_simple_container([$0], $@)]) +\define([div], [\large_container([$0], $@)]) + +\define([b], [\simple_container([$0], $@)]) +\define([i], [\simple_container([$0], $@)]) +\define([tt], [\simple_container([$0], $@)]) + +\define([table], [\large_container([$0], $@)]) +\define([tr], [\large_container([$0], $@)]) +\define([td], [\large_container([$0], $@)]) +\define([th], [\large_container([$0], $@)]) + +\define([link], [<A HREF="$1">\shift($*)</A>]) +\define([target], [<A NAME="$1">\shift($*)</A>]) + +\define([font], [\n\container([$0], $@)\n]) + +\define([h1], [\n\container([$0], $@)\n]) +\define([h2], [\n\container([$0], $@)\n]) +\define([h3], [\n\container([$0], $@)\n]) +\define([h4], [\n\container([$0], $@)\n]) +\define([h5], [\n\container([$0], $@)\n]) +\define([h6], [\n\container([$0], $@)\n]) + +\define([p], [\large_simple_container([$0], $@)]) + +\define([hr], [\simple_tag([$0], $@)]) + +\define([ul], [\large_container([$0], $@)]) +\define([ol], [\large_container([$0], $@)]) + +\define([li], [\simple_tag([$0], $@)]) + +\define([blockquote], [\large_simple_container([$0], $@)]) + +\define([dl], [\large_simple_container([$0], $@)]) +\define([dt], [\simple_container([$0], $@)]) +\define([dd], [\large_simple_container([$0], $@)]) + +\define([br], [\simple_tag([$0], $@)]) +\define([hline], [\simple_tag([$0], $@)]) + +\define([pre], [\simple_container([$0], $@)]) + + + +\define([set_title], [\define([_TITLE], [$*])]) +\set_title(_TITLE) + +\define([set_author], [\define([_AUTHOR], [$*])]) +\set_author() + +\define([set_generator], [\define([_GENERATOR], [$*])]) +\set_generator([GNU m4 \__m4_version__]) + +\define([set_keywords], [\define([_KEYWORDS], [$*])]) +\set_keywords() + +\define([set_body], [\define([_BODY], [$*])]) +\set_body() + +\define([meta_if_set], + [\ifelse(\defn([_$1]), [], [], \meta([$1], \defn([_$1])))]\dnl +) |