- mdocml is a suite of tools compiling “-mdoc”, the roff macro package
- of choice for BSD manual pages, and “-man”, the predominant historical package for UNIX
- manuals. The mission of mdocml is to deprecate groff, the GNU roff implementation, for
- displaying -mdoc pages whilst providing token support for -man.
-
+
+ mdocml is a suite of tools compiling -mdoc, the
+ roff macro package of choice for BSD manual pages, and -man, the
+ predominant historical package for UNIX manuals. The mission of mdocml is to
+ deprecate groff, the GNU troff
+ implementation, for displaying -mdoc pages whilst providing token support for -man.
+
-
+
Why? groff amounts to over 5 MB of source code, most of which is C++ and all of which is GPL. It runs
slowly, produces uncertain output, and varies in operation from system to system. mdocml strives to fix
- this (respectively small, C, ISC-licensed, fast and regular).
-
+ this (respectively small, C, ISC-licensed, fast and regular).
+
-
- The core of mdocml is composed of the libmdoc and libman
- validating compiler libraries. Both are simple, fast libraries operating on memory buffers, so they may
- be used for a variety of front-ends (terminal-based, CGI and so on). The primary front-end is
- mandoc, which formats manuals for display on the terminal.
-
-
-
-
-
-
- INSTALLING SOURCES
-
+
+ mdocml consists of the libmandoc validating
+ compilers and mandoc, which interfaces with the compiler library to format
+ output for UNIX terminals, XHTML, HTML, PostScript, and PDF. It is a BSD.lv project.
+
-
- Sources correctly build and install on FreeBSD, OpenBSD, NetBSD and Linux operating systems, tested
- variously on i386, AMD64, alpha and others. The most current version is @VERSION@, dated @VDATE@.
-
+
+ Disambiguation: mdocml is often referred to by its installed binary,
+ mandoc.
+
+ mdocml is in plain-old ANSI C and should build and run on any UNIX system.
+ The most current version is @VERSION@, dated @VDATE@.
+
-
- CVS sources are checkedout and snapshotted with version updates. These (and all historical snapshots)
- may be found in the /snapshots/ directory. A full ChangeLog is written with each new snapshot.
-
+ Use the mailing lists for bug-reports, patches, questions, etc. (these require
+ subscription).
+ Please check the
+ TODO for known issues
+ before posting.
+ Beyond that, contact Kristaps at kris...@bsd.lv.
+
-
- FreeBSD port
-
-
-
- Note: a port is maintained in-tree at textproc/mdocml. Please use
- this instead of the provided port.
-
- For all issues related to mdocml, contact Kristaps, kris...@kth.se.
-
-
-
- If you want to receive a semi-automated mail-out of new versions, then please write with a message
- subject of “subscribe mdocml” (or, symmetrically, “unsubscribe mdocml”).
-
+ Many back-end fixes have been implemented: argument handling (quoting), man improvements, error/warning classes, and many more.
+
+
+ Initial tbl functionality (see the TS, TE, and
+ T& macros in the roff manual) has been
+ merged from tbl.bsd.lv. Output is
+ still minimal, especially for -Thtml and -Txhtml, but manages to at least display data. This means that mandoc now has built-in support for two troff preprocessors via
+ libroff: soelim and tbl.
+
+
+
+
+ 24-12-2010:
+ version 1.10.8
+
+
+ Significant improvements merged from OpenBSD downstream, including
+
+ Also overhauled the -Thtml and -Txhtml output modes. They now display readable output in arbitrary
+ browsers, including text-based ones like lynx. See HTML and XHTML manuals in the DOCUMENTATION section for examples. Attention: available style-sheet classes have been considerably
+ changed! See the example.style.css file for details.
+ Lastly, libmdoc and libman have been
+ cleaned up and reduced in size and complexity.
+