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="index.css" TYPE="text/css" MEDIA="all">
7 <TITLE>mdocml | mdoc macro compiler</TITLE>
10 <TABLE CLASS="frame" SUMMARY="[frame]">
16 <B>mdocml</B> – mdoc macro compiler
23 <A NAME="description">DESCRIPTION</A>
27 <SPAN CLASS="nm">mdocml</SPAN> is a suite of tools compiling <Q>-<A HREF="mdoc.7.html">mdoc</A></Q>, the
28 roff macro package of choice for BSD manual pages, and <Q>-<A HREF="man.7.html">man</A></Q>, the
29 predominant historical package for UNIX manuals. The mission of <SPAN CLASS="nm">mdocml</SPAN> is to
30 deprecate <A HREF="http://www.gnu.org/software/groff/" CLASS="external">groff</A>, the GNU troff
31 implementation, for displaying -mdoc pages whilst providing token support for -man.
35 Why? groff amounts to over 5 MB of source code, most of which is C++ and all of which is GPL. It runs
36 slowly, produces uncertain output, and varies in operation from system to system. mdocml strives to fix
37 this (respectively small, C, <A CLASS="external"
38 HREF="http://www.isc.org/software/license">ISC</A>-licensed, fast and regular).
42 <SPAN CLASS="nm">mdocml</SPAN> consists of the <A HREF="mdoc.3.html">libmdoc</A>, <A
43 HREF="man.3.html">libman</A>, and <A HREF="roff.3.html">libroff</A> validating compilers; and <A
44 HREF="mandoc.1.html">mandoc</A>, which interfaces with the compiler libraries to format output for UNIX
45 terminals, XHTML, HTML, PostScript, and PDF. It is a <A CLASS="external"
46 HREF="http://bsd.lv/">BSD.lv</A> project.
50 <I>Disambiguation</I>: <SPAN CLASS="nm">mdocml</SPAN> is often referred to by its installed binary,
58 <A NAME="sources">SOURCES</A>
62 <SPAN CLASS="nm">mdocml</SPAN> is architecture- and system-neutral, written in plain-old C. The most
63 current version is <SPAN CLASS="attn">@VERSION@</SPAN>, dated <SPAN class="attn">@VDATE@</SPAN>. A full
64 <A HREF="ChangeLog.html">ChangeLog</A> (<A HREF="ChangeLog.txt">txt</A>) is written with each release.
71 <TABLE WIDTH="100%" SUMMARY="Current Sources">
76 <TD>Source archive</TD>
78 <A HREF="/snapshots/mdocml.tar.gz">/snapshots/mdocml.tar.gz</A>
79 (<A HREF="/snapshots/mdocml.md5">md5</A>)
83 <TD>Online source</TD>
85 <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/?cvsroot=mdocml">cvsweb</A>
95 <TABLE WIDTH="100%" SUMMARY="Downstream Sources">
100 <TD>DragonFly BSD</TD>
102 <A HREF="http://gitweb.dragonflybsd.org/dragonfly.git/tree/HEAD:/usr.bin/mandoc"
103 CLASS="external">usr.bin/mandoc</A>
109 <A HREF="http://www.freebsd.org/cgi/cvsweb.cgi/ports/textproc/mdocml/"
110 CLASS="external">ports/textproc/mdocml</A>
116 <A HREF="http://cvsweb.netbsd.org/bsdweb.cgi/src/external/bsd/mdocml/"
117 CLASS="external">src/external/bsd/mdocml</A>
123 <A HREF="http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/mandoc/"
124 CLASS="external">src/usr.bin/mandoc</A>
134 <TABLE WIDTH="100%" SUMMARY="Archived Sources">
139 <TD>Source archive</TD>
141 <A HREF="/snapshots/">/snapshots/</A>
151 <A NAME="documentation">DOCUMENTATION</A>
155 These manuals are generated automatically and refer to the current snapshot.
158 <TABLE WIDTH="100%" SUMMARY="Documentation">
163 <TD VALIGN="top"><A HREF="mandoc.1.html">mandoc(1)</A></TD>
165 format and display UNIX manuals
166 <SPAN STYLE="font-size: smaller;">
167 (<A HREF="mandoc.1.txt">text</A> |
168 <A HREF="mandoc.1.xhtml">xhtml</A> |
169 <A HREF="mandoc.1.pdf">pdf</A> |
170 <A HREF="mandoc.1.ps">postscript</A>)
175 <TD VALIGN="top"><A HREF="man.3.html">man(3)</A></TD>
177 man macro compiler library
178 <SPAN STYLE="font-size: smaller;">
179 (<A HREF="man.3.txt">text</A> |
180 <A HREF="man.3.xhtml">xhtml</A> |
181 <A HREF="man.3.pdf">pdf</A> |
182 <A HREF="man.3.ps">postscript</A>)
187 <TD VALIGN="top"><A HREF="mdoc.3.html">mdoc(3)</A></TD>
189 mdoc macro compiler library
190 <SPAN STYLE="font-size: smaller;">
191 (<A HREF="mdoc.3.txt">text</A> |
192 <A HREF="mdoc.3.xhtml">xhtml</A> |
193 <A HREF="mdoc.3.pdf">pdf</A> |
194 <A HREF="mdoc.3.ps">postscript</A>)
199 <TD VALIGN="top"><A HREF="roff.3.html">roff(3)</A></TD>
201 roff macro compiler library
202 <SPAN STYLE="font-size: smaller;">
203 (<A HREF="roff.3.txt">text</A> |
204 <A HREF="roff.3.xhtml">xhtml</A> |
205 <A HREF="roff.3.pdf">pdf</A> |
206 <A HREF="roff.3.ps">postscript</A>)
211 <TD VALIGN="top"><A HREF="man.7.html">man(7)</A></TD>
213 man language reference
214 <SPAN STYLE="font-size: smaller;">
215 (<A HREF="man.7.txt">text</A> |
216 <A HREF="man.7.xhtml">xhtml</A> |
217 <A HREF="man.7.pdf">pdf</A> |
218 <A HREF="man.7.ps">postscript</A>)
223 <TD VALIGN="top"><A HREF="mandoc_char.7.html">mandoc_char(7)</A></TD>
225 mandoc special characters
226 <SPAN STYLE="font-size: smaller;">
227 (<A HREF="mandoc_char.7.txt">text</A> |
228 <A HREF="mandoc_char.7.xhtml">xhtml</A> |
229 <A HREF="mandoc_char.7.pdf">pdf</A> |
230 <A HREF="mandoc_char.7.ps">postscript</A>)
235 <TD VALIGN="top"><A HREF="mdoc.7.html">mdoc(7)</A></TD>
237 mdoc language reference
238 <SPAN STYLE="font-size: smaller;">
239 (<A HREF="mdoc.7.txt">text</A> |
240 <A HREF="mdoc.7.xhtml">xhtml</A> |
241 <A HREF="mdoc.7.pdf">pdf</A> |
242 <A HREF="mdoc.7.ps">postscript</A>)
247 <TD VALIGN="top"><A HREF="roff.7.html">roff(7)</A></TD>
249 roff-mandoc language reference
250 <SPAN STYLE="font-size: smaller;">
251 (<A HREF="roff.7.txt">text</A> |
252 <A HREF="roff.7.xhtml">xhtml</A> |
253 <A HREF="roff.7.pdf">pdf</A> |
254 <A HREF="roff.7.ps">postscript</A>)
259 <TD VALIGN="top"><A HREF="tbl.7.html">tbl(7)</A></TD>
261 tbl-mandoc language reference
262 <SPAN STYLE="font-size: smaller;">
263 (<A HREF="tbl.7.txt">text</A> |
264 <A HREF="tbl.7.xhtml">xhtml</A> |
265 <A HREF="tbl.7.pdf">pdf</A> |
266 <A HREF="tbl.7.ps">postscript</A>)
274 See <Q><A CLASS="external" HREF="http://manpages.bsd.lv">Writing UNIX Manual Pages</A></Q> for a general
275 introduction to manpages and mdoc.
282 <A NAME="contact">CONTACT</A>
286 Please use the mailing lists for bug-reports, patches, questions, etc. (these require
287 subscription). Beyond that, contact Kristaps at <A
288 HREF="http://mailhide.recaptcha.net/d?k=01M6h_w7twDp58ZgH57eWC_w==&c=Q2DBUt401ePlSeupJFrq_Q=="
289 TITLE="Reveal this e-mail address">kris...</A>@bsd.lv.
292 <TABLE WIDTH="100%" SUMMARY="Mailing Lists">
298 disc<A CLASS="external" TITLE="Reveal this e-mail address"
299 HREF="http://www.google.com/recaptcha/mailhide/d?k=01KQ80PFH5n3BBNpF5Gs4sRg==&c=EV1QytpQqTHSItc2IXvZyocgYLPnG5K0JKw_gwMC9yc=">...</A>@mdocml.bsd.lv
302 bug-reports, general questions, and announcements
303 <SPAN STYLE="font-size: smaller;">(<A HREF="/archives/discuss/summary.html">archive</A>)</SPAN>
308 tec<A CLASS="external" TITLE="Reveal this e-mail address"
309 HREF="http://www.google.com/recaptcha/mailhide/d?k=01qDX_iV0RlUOarEvb6mR28g==&c=gRXsTjza0NNCFPaYu-Taj2tF0pmYZSc90EZkFkhkxgo=">...</A>@mdocml.bsd.lv
312 patches and system discussions
313 <SPAN STYLE="font-size: smaller;">(<A HREF="/archives/tech/summary.html">archive</A>)</SPAN>
318 sou<A CLASS="external" TITLE="Reveal this e-mail address"
319 HREF="http://www.google.com/recaptcha/mailhide/d?k=01prQrAZhhl2EbIwVcRfABsQ==&c=KtTW4Yic9xk-8g40KzJoca4fR3MYXv28g8NC6OQV-T8=">...</A>@mdocml.bsd.lv
322 source commit messages
323 <SPAN STYLE="font-size: smaller;">(<A HREF="/archives/source/summary.html">archive</A>)</SPAN>
333 <A NAME="news">NEWS</A>
337 <SPAN CLASS="date">07-01-2011</SPAN>:
341 Many back-end fixes have been implemented: argument handling (quoting), <A
342 HREF="man.7.html">man</A> improvements, error/warning classes, and many more.
345 Initial <A HREF="tbl.7.html">tbl</A> functionality (see the <Q>TS</Q>, <Q>TE</Q>, and
346 <Q>T&</Q> macros in the <A HREF="roff.7.html#x5c265453">roff</A> manual) has been
347 merged from <A CLASS="external" HREF="http://tbl.bsd.lv">tbl.bsd.lv</A>. Output is
348 still minimal, especially for <SPAN CLASS="flag">-Thtml</SPAN> and <SPAN
349 CLASS="flag">-Txhtml</SPAN>, but manages to at least display data. This means that <A
350 HREF="mandoc.1.html">mandoc</A> now has built-in support for two troff preprocessors via
351 <A HREF="roff.3.html">libroff</A>: soelim and tbl.
356 <SPAN CLASS="date">24-12-2010</SPAN>:
360 Significant improvements merged from <A CLASS="external"
361 HREF="http://www.openbsd.org">OpenBSD</A> downstream, including
364 <LI>many new <A HREF="roff.7.html">roff</A> components,</LI>
365 <LI>in-line implementation of troff's soelim,</LI>
366 <LI>broken-block handling,</LI>
367 <LI>overhauled error classifications, and</LI>
368 <LI>cleaned up handling of error conditions.</LI>
371 Also overhauled the <SPAN CLASS="flag">-Thtml</SPAN> and <SPAN
372 CLASS="flag">-Txhtml</SPAN> output modes. They now display readable output in arbitrary
373 browsers, including text-based ones like <A CLASS="external"
374 HREF="http://lynx.isc.org">lynx</A>. See HTML and XHTML manuals in the <A
375 HREF="#documentation">DOCUMENTATION</A> section for examples. <SPAN
376 CLASS="attn">Attention: available style-sheet classes have been considerably
377 changed!</SPAN> See the <SPAN CLASS="file">example.style.css</SPAN> file for details.
378 Lastly, <A HREF="mdoc.3.html">libmdoc</A> and <A HREF="man.3.html">libman</A> have been
379 cleaned up and reduced in size and complexity.
383 See <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/index.sgml?cvsroot=mdocml">cvsweb</A> for
391 Copyright © 2008–2011 Kristaps Dzonsons, $Date: 2011/01/07 15:22:21 $