@@ -24,100 +24,153 @@
- 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 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 BSD mdoc pages. groff amounts to over 60 000 lines of GPL C++ source, which is a
- considerable encumbrance to BSD operating system.
+ 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):
-
-
-
- - 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
-
-
-
- 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.
-
-
-
- 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.
+ 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
+ DOWNLOADS
- Sources correctly build and install on OpenBSD, NetBSD and Linux operating systems, tested variously on
- i386, AMD64 and Alpha.
+ 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@. A full ChangeLog is written with each release.
- nightly source
+ Current
-
- 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
-
+
- nightly port
+ Downstream
-
- The nightly snapshot is automatically converted into an OpenBSD port (ports for other BSD systems not
- yet available). These may be found in the /ports-openbsd/ directory.
-
+
-
- If installing for the first time:
-
+
+ Historical
+
-
- % ftp -V -o- http://mdocml.bsd.lv/ports-openbsd/mdocml.tgz | tar -zxf -
- % cd mdocml
- % sudo make
- % sudo make install
-
+
+ |
+
+
@@ -127,23 +180,22 @@
- Please contact Kristaps, krismdocml, contact Kristaps Džonsons, kris...@kth.se, with questions, bug reports, patches, and so on.
+ title="Reveal this e-mail address">...@kth.se.
-
+
- 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.
+ If you want to receive a semi-automated mail-out of new releases, then please write with a message
+ subject of subscribe mdocml (or unsubscribe mdocml).