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 <LINK REL="stylesheet" HREF="index.css" TYPE="text/css" MEDIA="all">
6 <TITLE>mdocml | mdoc macro compiler</TITLE>
10 <B>mdocml</B> – mdoc macro compiler
13 <A NAME="description">Description</A>
16 <SPAN CLASS="nm">mdocml</SPAN> is a suite of tools compiling <I><A HREF="mdoc.7.html">mdoc</A></I>, the roff macro
17 package of choice for BSD manual pages, and <I><A HREF="man.7.html">man</A></I>, the predominant historical package for
18 UNIX manuals. The mission of <SPAN CLASS="nm">mdocml</SPAN> is to deprecate <A
19 HREF="http://www.gnu.org/software/groff/" CLASS="external">groff</A>, the GNU troff implementation, for displaying <I>mdoc</I>
20 pages whilst providing token support for <I>man</I>.
23 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
24 uncertain output, and varies in operation from system to system. mdocml strives to fix this (respectively small, C, <A
25 CLASS="external" HREF="http://www.isc.org/software/license">ISC</A>-licensed, fast and regular).
28 <SPAN CLASS="nm">mdocml</SPAN> consists of the <A HREF="mandoc.3.html">libmandoc</A> validating compiler and <A
29 HREF="mandoc.1.html">mandoc</A>, which interfaces with the compiler library to format output for UNIX terminals (with
30 support for wide-character locales), XHTML, HTML, PostScript, and PDF.
31 It also includes <A HREF="preconv.1.html">preconv</A>, for recoding multibyte manuals; and <A
32 HREF="makewhatis.1.html">makewhatis</A>, for indexing manuals.
33 It is a <A CLASS="external" HREF="http://bsd.lv/">BSD.lv</A> project.
36 <I>Disambiguation</I>: <SPAN CLASS="nm">mdocml</SPAN> is often referred to by its installed binary, <Q>mandoc</Q>.
39 <A NAME="sources">Sources</A>
42 <SPAN CLASS="nm">mdocml</SPAN> is in plain-old ANSI C and should build and run on any UNIX system, although <A
43 HREF="makewhatis.1.html">makewhatis</A> requires <A CLASS="external"
44 HREF="http://www.oracle.com/technetwork/database/berkeleydb/overview/index.html">Berkeley Database</A> (this is
45 installed by default on all BSD operating systems).
46 To compile <SPAN CLASS="nm">mdocml</SPAN>, run <CODE>make</CODE>, then <CODE>make install</CODE> to install into
48 Be aware: if you have an existing <A HREF="http://www.gnu.org/software/groff/" CLASS="external">groff</A> installation,
49 this may overwrite its <B>preconv</B> binary.
50 The <A HREF="makewhatis.1.html">makewhatis</A> utility is not yet linked to the build. You must run <CODE>make
51 makewhatis</CODE> to build it (it does not install).
54 The most current version of <SPAN CLASS="nm">mdocml</SPAN> is <SPAN CLASS="attn">@VERSION@</SPAN>, dated <SPAN
55 class="attn">@VDATE@</SPAN>.
60 <TABLE WIDTH="100%" SUMMARY="Current Sources">
65 <TD>Source archive</TD>
67 <A HREF="/snapshots/mdocml.tar.gz">/snapshots/mdocml.tar.gz</A>
68 <SMALL>(<A HREF="/snapshots/mdocml.md5">md5</A>)</SMALL>
72 <TD>Online source</TD>
74 <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/?cvsroot=mdocml">cvsweb</A>
82 <TABLE WIDTH="100%" SUMMARY="Downstream Sources">
87 <TD>DragonFly BSD</TD>
89 <A HREF="http://gitweb.dragonflybsd.org/dragonfly.git/tree/HEAD:/usr.bin/mandoc"
90 CLASS="external">usr.bin/mandoc</A>
96 <A HREF="http://www.freebsd.org/cgi/cvsweb.cgi/ports/textproc/mdocml/"
97 CLASS="external">ports/textproc/mdocml</A>
103 <A HREF="http://cvsweb.netbsd.org/bsdweb.cgi/src/external/bsd/mdocml/"
104 CLASS="external">src/external/bsd/mdocml</A>
110 <A HREF="http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/mandoc/"
111 CLASS="external">src/usr.bin/mandoc</A>
119 <TABLE WIDTH="100%" SUMMARY="Archived Sources">
124 <TD>Source archive</TD>
126 <A HREF="/snapshots/">/snapshots/</A>
132 <A NAME="documentation">Documentation</A>
135 These manuals are generated automatically and refer to the current snapshot.
138 <TABLE WIDTH="100%" SUMMARY="Documentation">
143 <TD VALIGN="top"><A HREF="mandoc.1.html">mandoc(1)</A></TD>
145 format and display UNIX manuals
147 (<A HREF="mandoc.1.txt">text</A> |
148 <A HREF="mandoc.1.xhtml">xhtml</A> |
149 <A HREF="mandoc.1.pdf">pdf</A> |
150 <A HREF="mandoc.1.ps">postscript</A>)
155 <TD VALIGN="top"><A HREF="makewhatis.1.html">makewhatis(1)</A></TD>
159 (<A HREF="makewhatis.1.txt">text</A> |
160 <A HREF="makewhatis.1.xhtml">xhtml</A> |
161 <A HREF="makewhatis.1.pdf">pdf</A> |
162 <A HREF="makewhatis.1.ps">postscript</A>)
167 <TD VALIGN="top"><A HREF="preconv.1.html">preconv(1)</A></TD>
169 recode multibyte UNIX manuals
171 (<A HREF="preconv.1.txt">text</A> |
172 <A HREF="preconv.1.xhtml">xhtml</A> |
173 <A HREF="preconv.1.pdf">pdf</A> |
174 <A HREF="preconv.1.ps">postscript</A>)
179 <TD VALIGN="top"><A HREF="mandoc.3.html">mandoc(3)</A></TD>
181 mandoc macro compiler library
183 (<A HREF="mandoc.3.txt">text</A> |
184 <A HREF="mandoc.3.xhtml">xhtml</A> |
185 <A HREF="mandoc.3.pdf">pdf</A> |
186 <A HREF="mandoc.3.ps">postscript</A>)
191 <TD VALIGN="top"><A HREF="man.7.html">man(7)</A></TD>
193 man language reference
195 (<A HREF="man.7.txt">text</A> |
196 <A HREF="man.7.xhtml">xhtml</A> |
197 <A HREF="man.7.pdf">pdf</A> |
198 <A HREF="man.7.ps">postscript</A>)
203 <TD VALIGN="top"><A HREF="eqn.7.html">eqn(7)</A></TD>
205 eqn-mandoc language reference
207 (<A HREF="eqn.7.txt">text</A> |
208 <A HREF="eqn.7.xhtml">xhtml</A> |
209 <A HREF="eqn.7.pdf">pdf</A> |
210 <A HREF="eqn.7.ps">postscript</A>)
215 <TD VALIGN="top"><A HREF="mandoc_char.7.html">mandoc_char(7)</A></TD>
217 mandoc special characters
219 (<A HREF="mandoc_char.7.txt">text</A> |
220 <A HREF="mandoc_char.7.xhtml">xhtml</A> |
221 <A HREF="mandoc_char.7.pdf">pdf</A> |
222 <A HREF="mandoc_char.7.ps">postscript</A>)
227 <TD VALIGN="top"><A HREF="mdoc.7.html">mdoc(7)</A></TD>
229 mdoc language reference
231 (<A HREF="mdoc.7.txt">text</A> |
232 <A HREF="mdoc.7.xhtml">xhtml</A> |
233 <A HREF="mdoc.7.pdf">pdf</A> |
234 <A HREF="mdoc.7.ps">postscript</A>)
239 <TD VALIGN="top"><A HREF="roff.7.html">roff(7)</A></TD>
241 roff-mandoc language reference
243 (<A HREF="roff.7.txt">text</A> |
244 <A HREF="roff.7.xhtml">xhtml</A> |
245 <A HREF="roff.7.pdf">pdf</A> |
246 <A HREF="roff.7.ps">postscript</A>)
251 <TD VALIGN="top"><A HREF="tbl.7.html">tbl(7)</A></TD>
253 tbl-mandoc language reference
255 (<A HREF="tbl.7.txt">text</A> |
256 <A HREF="tbl.7.xhtml">xhtml</A> |
257 <A HREF="tbl.7.pdf">pdf</A> |
258 <A HREF="tbl.7.ps">postscript</A>)
265 <A NAME="contact">Contact</A>
268 Use the mailing lists for bug-reports, patches, questions, etc. (these require subscription). Please check the
269 <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/TODO?cvsroot=mdocml">TODO</A> for known issues
270 before posting. Beyond that, contact Kristaps at <A
271 HREF="http://mailhide.recaptcha.net/d?k=01M6h_w7twDp58ZgH57eWC_w==&c=Q2DBUt401ePlSeupJFrq_Q==" TITLE="Reveal
272 this e-mail address">kris...</A>@bsd.lv.
274 <TABLE WIDTH="100%" SUMMARY="Mailing Lists">
280 disc<A CLASS="external" TITLE="Reveal this e-mail address"
281 HREF="http://www.google.com/recaptcha/mailhide/d?k=01KQ80PFH5n3BBNpF5Gs4sRg==&c=EV1QytpQqTHSItc2IXvZyocgYLPnG5K0JKw_gwMC9yc=">...</A>@mdocml.bsd.lv
284 bug-reports, general questions, and announcements
285 <SMALL>(<A HREF="/archives/discuss/summary.html">archive</A>)</SMALL>
290 tec<A CLASS="external" TITLE="Reveal this e-mail address"
291 HREF="http://www.google.com/recaptcha/mailhide/d?k=01qDX_iV0RlUOarEvb6mR28g==&c=gRXsTjza0NNCFPaYu-Taj2tF0pmYZSc90EZkFkhkxgo=">...</A>@mdocml.bsd.lv
294 patches and system discussions
295 <SMALL>(<A HREF="/archives/tech/summary.html">archive</A>)</SMALL>
300 sou<A CLASS="external" TITLE="Reveal this e-mail address"
301 HREF="http://www.google.com/recaptcha/mailhide/d?k=01prQrAZhhl2EbIwVcRfABsQ==&c=KtTW4Yic9xk-8g40KzJoca4fR3MYXv28g8NC6OQV-T8=">...</A>@mdocml.bsd.lv
304 source commit messages
305 <SMALL>(<A HREF="/archives/source/summary.html">archive</A>)</SMALL>
311 <A NAME="news">News</A>
314 xx-06-2011: version 1.11.4
317 Bug-fixes and clean-ups across all systems, especially in <A HREF="makewhatis.1.html">makewhatis</A> (note: still not
318 connected to the general build and must be compiled with <CODE>make makewhatis</CODE>).
321 The output for <A HREF="makewhatis.1.html">makewhatis</A> is used by several tools in the <A CLASS="external"
322 HREF="http://mdocml.bsd.lv/mandoc-tools">mandoc-tools</A> package. In time these may be merged into <SPAN
323 CLASS="nm">mdocml</SPAN>, but for the time being their development is separate.
326 26-05-2011: version 1.11.3
329 Introduce locale-encoding of output with the <B>-Tlocale</B> output option and Unicode escaped-character input.
330 See <A HREF="mandoc.1.html">mandoc</A> and <A HREF="mandoc_char.7.html">mandoc_char</A>, respectively, for details.
331 This allows for non-ASCII characters (e.g., <I>\[u5000]</I>) to be rendered in the locale's encoding, if said
332 environment supports wide-character encoding (if it does not, <B>-Tascii</B> is used instead).
333 Locale support can be turned off at compile time by removing <I>-DUSE_WCHAR</I> in the <I>Makefile</I>, in which case
334 <B>-Tlocale</B> is always a synonym for <B>-Tascii</B>.
337 Furthermore, multibyte-encoded documents, such as those in UTF-8, may be on-the-fly recoded into <A
338 HREF="mandoc.1.html">mandoc</A> input by using the newly-added <A HREF="preconv.1.html">preconv</A> utility.
339 Note: in the future, this feature may be integrated into <A HREF="mandoc.1.html">mandoc</A>.
342 12-05-2011: version 1.11.2
345 Corrected some installation issues in version 1.11.1.
346 Further migration to <A HREF="mandoc.3.html">libmandoc</A>.
347 Initial public release (this utility is very much under development) of <A HREF="makewhatis.1.html">makewhatis</A>,
348 initially named mandoc-db.
349 This utility produces keyword databases of manual content
350 <STRIKE>mandoc-cgi</STRIKE>,
351 <A HREF="http://mdocml.bsd.lv/mandoc-tools/index.html">mandoc-tools</A>,
352 which features semantic querying of manual content.
355 See <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/index.sgml?cvsroot=mdocml">cvsweb</A> for
360 Copyright © 2008–2011
361 <A CLASS="external" HREF="http://kristaps.bsd.lv">Kristaps Dzonsons</A>,
362 $Date: 2011/07/01 10:20:26 $