+
+
-
- mdocml is a suite of tools that compile “mdoc”, the roff macro
- package of the BSD manual pages. The mission of mdocml is to deprecate groff, the GNU roff implementation, for
- displaying BSD mdoc pages. groff amounts to over 60 000 lines of GPL C++ source, which is a
- considerable encumbrance to BSD operating system.
-
+
+ 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.
+
-
- The core of mdocml is the libmdoc library, a validating scanner-parser producing
- intermediate-form output from mdoc input. libmdoc is a simple, fast library operating on memory buffers
- of mdoc input. Its intermediate output, an abstract syntax tree, is fully documented in the mdoc(3) reference manual.
-
+
+ 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).
+
-
- There are three utilities implementing mdoc(3):
-
+
+ mdocml consists of the libmdoc, libman, and libroff validating compilers; and mandoc, which interfaces with the compiler libraries to format output for UNIX
+ terminals, XHTML, HTML, and PostScript. mdocml is a BSD.lv project.
+
-
- - mdocterm(1) – formats mdoc input for display on the terminal
-
- mdochtml(1) – formats mdoc input as strict HTML (nascent)
-
- mdoclint(1) – validates mdoc input
-
- mdoctree(1) – prints input abstract syntax tree
-
+
+ Disambiguation: mdocml is often referred to by its installed binary,
+ mandoc .
+
+ |
+
+
+
+
-
- The mdocterm(1) utility is intended to deprecate usage of groff for displaying BSD manuals to the
- terminal, either directly or cached as a “catman” page.
-
+
+ mdocml is architecture- and system-neutral, written in plain-old C. The most
+ current version is @VERSION@, dated @VDATE@. A full
+ ChangeLog (txt) is written with each release.
+
-
- Please submit patches! Although a significant implementation exists, work
- remains for the backend library and especially the front-end utilities. See the contact information below to submit patches and bug reports.
-
- |
-
-
-
-
- INSTALLING SOURCES
-
+
+ Current
+
-
- Sources correctly build and install on OpenBSD, NetBSD and Linux operating systems, tested variously on
- i386, AMD64 and Alpha.
-
+
-
- nightly source
-
+
+ Downstream
+
-
- CVS sources are checkedout and snapshotted nightly. These may be found in the /snapshots/ directory.
-
+
-
- % cd /tmp
- % ftp -V -o- http://mdocml.bsd.lv/snapshots/mdocml.tgz | tar -zxf -
- % cd mdocml
- % make
- % make regress
- % make install
-
+
+ Historical
+
-
- nightly port
-
+
+ |
+
+
+
+
-
- Subsequent installations:
-
+
+ Please use the mailing lists for bug-reports, patches, questions, etc. Beyond that, contact
+ Kristaps at kris...@bsd.lv.
+
-
- % sudo pkg_add -r mdocml
-
- |
-
-
-
-
- CONTACT
-
+
+ You may also subscribe to several mailing lists (these require subscription, which is
+ moderated).
+
-
- Please contact Kristaps, kris...@kth.se, with questions, bug reports, patches, and so on.
-
-
-
- If you'd like to submit patches, please contact us beforehand in case larger changes are pending but not
- checked in. If making a bug report, please make sure it's repeatable on the most current snapshot.
-
- |
-
-