GNU m4

This site

General info

What is m4
Features
Uses of m4

Documentation

Manual

Source files

README
TODO
NEWS
ChangeLog
Contributors
Browse it

The Future

Modules
Visions

Feedback

Mailing-lists
Feedback
Discussion Forum

Development

Download
Known bugs

Examples

This site

Sponsor Links

Posters Shop
Movie Posters
Celebrity Photos
Art Prints
College Posters
Tanya Chalkin Kiss
Johnny Depp
Orlando Bloom
Kill Bill: Volume 2
Framed Art Prints

This GNU m4 site is maintained by René Seindal, (rene@seindal.dk).

All files are generated using GNU m4 1.4ppre2. You can view the source files. They are very simple. They use some features from GNU m4 1.4l

The basic M4 definitions of quotes, comments, escapes are in 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. This is a new feature in m4 1.4l.

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

The visual aspects of the pages are in 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.

The definition of the left hand menu is in m4lib/menu.m4. I convinced GNU Emacs to do the indentation by switching to c-mode.

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 these definitions.

There is a single file for each HTML file.