1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5 <meta name="resource-type" content="document">
6 <link rel="stylesheet" href="style.css" type="text/css" media="all">
7 <title>mdocml.bsd.lv</title>
16 <b>mdocml</b> – mdoc macro compiler
27 <span class="nm">mdocml</span> is a suite of tools compiling “mdoc”, the roff macro
28 package for BSD manual pages. The mission of <span class="nm">mdocml</span> is to deprecate <a
29 href="http://www.gnu.org/software/groff/" class="external">groff</a>, the GNU roff implementation, for
30 displaying BSD mdoc pages.
34 Why? groff amounts to roughly 5,2 MB of source code (OpenBSD 4.2), some of which is C++ and all of
35 which is GPL. It runs slowly, produces uncertain output, and varies in operation from system
36 to system. mdocml strives to fix this (respectively small, C, ISC-licensed, fast and regular).
40 The core of <span class="nm">mdocml</span> is the libmdoc library, a validating scanner-parser producing
41 intermediate-form output from mdoc input. libmdoc is a simple, fast library operating on memory buffers
42 of mdoc input. Its intermediate output, an abstract syntax tree, is fully documented in the <span
43 class="man">mdoc(3)</span> reference manual.
47 There are three utilities implementing <span class="man">mdoc(3)</span>:
51 <li><span class="man">mdocterm(1)</span> – formats mdoc input for display on the terminal
52 <li><span class="man">mdochtml(1)</span> – formats mdoc input as HTML/CSS (nascent)
53 <li><span class="man">mdoclint(1)</span> – validates mdoc input
54 <li><span class="man">mdoctree(1)</span> – prints input abstract syntax tree
58 The <span class="man">mdocterm(1)</span> utility is intended to deprecate usage of <a
59 href="http://www.gnu.org/software/groff/" class="external">groff</a> for displaying BSD manuals to the
60 terminal, either directly or cached as a “catman” page.
64 <span class="attn">Please submit patches!</span> Although a significant implementation exists, work
65 remains for the backend library and especially the front-end utilities. See the <a
66 href="#contact">contact</a> information below to submit patches and bug reports.
77 Sources correctly build and install on OpenBSD, NetBSD and Linux operating systems, tested variously on
78 i386, AMD64 and Alpha.
82 The most current version is <span class="attn">@VERSION@</span>, dated
83 <span class="attn">@VDATE@</span>.
91 CVS sources are checkedout and snapshotted with version updates. These may be found in the <a
92 href="/snapshots/">/snapshots/</a> directory.
97 % ftp -V -o- http://mdocml.bsd.lv/snapshots/mdocml.tar.gz | tar -zvxf -<br>
109 The source snapshot is automatically converted into an OpenBSD port (ports for other BSD systems not
110 yet available). These may be found in the <a href="/ports-openbsd/">/ports-openbsd/</a> directory.
111 You <span class="emph">must</span> have the ports tree installed.
115 # pkg_delete mdocml<br>
116 # cd /usr/ports/devel/<br>
118 # ftp -V -o- http://mdocml.bsd.lv/ports-openbsd/mdocml.tar.gz | tar -zvxf -<br>
133 Please contact Kristaps, kris<a class="external"
134 href="http://mailhide.recaptcha.net/d?k=01jt88xIsFONwVjHZmGpc4AQ==&c=sb5E6ulipc-eTnpTVqI-BQ=="
135 onclick="window.open('http://mailhide.recaptcha.net/d?k=01jt88xIsFONwVjHZmGpc4AQ==&c=sb5E6ulipc-eTnpTVqI-BQ==',
136 '', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300'); return
137 false;" title="Reveal this e-mail address">...</a>@kth.se, with questions, bug reports, patches, and so on.
141 If you'd like to submit patches, please contact us beforehand in case larger changes are pending but not
142 checked in. If making a bug report, please make sure it's repeatable on the most current snapshot.
149 Copyright © 2009 Kristaps Džonsons, $Date: 2009/02/27 10:55:16 $