Annotation of mandoc/index.sgml, Revision 1.134
1.1 kristaps 1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
1.40 kristaps 2: <HTML>
3: <HEAD>
4: <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
5: <LINK REL="stylesheet" HREF="index.css" TYPE="text/css" MEDIA="all">
1.47 kristaps 6: <TITLE>mdocml | mdoc macro compiler</TITLE>
1.40 kristaps 7: </HEAD>
8: <BODY>
1.112 kristaps 9: <P CLASS="head">
10: <B>mdocml</B> – mdoc macro compiler
11: </P>
12: <H1>
1.118 kristaps 13: <A NAME="description">Description</A>
1.112 kristaps 14: </H1>
15: <P>
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>.
21: </P>
22: <P>
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).
26: </P>
27: <P>
28: <SPAN CLASS="nm">mdocml</SPAN> consists of the <A HREF="mandoc.3.html">libmandoc</A> validating compiler and <A
1.121 kristaps 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
1.128 schwarze 32: HREF="mandocdb.8.html">mandocdb</A>, for indexing manuals.
1.121 kristaps 33: It is a <A CLASS="external" HREF="http://bsd.lv/">BSD.lv</A> project.
1.112 kristaps 34: </P>
35: <P>
36: <I>Disambiguation</I>: <SPAN CLASS="nm">mdocml</SPAN> is often referred to by its installed binary, <Q>mandoc</Q>.
37: </P>
38: <H1>
1.118 kristaps 39: <A NAME="sources">Sources</A>
1.112 kristaps 40: </H1>
41: <P>
1.132 kristaps 42: <SPAN CLASS="nm">mdocml</SPAN> is in plain-old ANSI C and should build and run on any modern system (<A
1.128 schwarze 43: HREF="mandocdb.8.html">mandocdb</A> requires <A CLASS="external"
1.132 kristaps 44: HREF="http://www.oracle.com/technetwork/database/berkeleydb/overview/index.html">Berkeley Database</A>, installed by
45: default on all BSD UNIX operating systems).
46: </P>
47: <P>
1.121 kristaps 48: To compile <SPAN CLASS="nm">mdocml</SPAN>, run <CODE>make</CODE>, then <CODE>make install</CODE> to install into
1.132 kristaps 49: <I>/usr/local</I>. Be aware: if you have an existing <A HREF="http://www.gnu.org/software/groff/"
50: CLASS="external">groff</A> installation, this may overwrite its <B>preconv</B> binary. The <A
51: HREF="mandocdb.8.html">mandocdb</A> utility is not yet linked to the build: you must run <CODE>make mandocdb</CODE> to
52: build it (it does not install).
53: </P>
54: <P>
1.121 kristaps 55: The most current version of <SPAN CLASS="nm">mdocml</SPAN> is <SPAN CLASS="attn">@VERSION@</SPAN>, dated <SPAN
56: class="attn">@VDATE@</SPAN>.
57: </P>
1.112 kristaps 58: <H2>
59: Current
60: </H2>
61: <TABLE WIDTH="100%" SUMMARY="Current Sources">
1.134 ! kristaps 62: <COL WIDTH="200">
1.112 kristaps 63: <COL>
64: <TBODY>
65: <TR>
66: <TD>Source archive</TD>
67: <TD>
68: <A HREF="/snapshots/mdocml.tar.gz">/snapshots/mdocml.tar.gz</A>
1.121 kristaps 69: <SMALL>(<A HREF="/snapshots/mdocml.md5">md5</A>)</SMALL>
1.112 kristaps 70: </TD>
71: </TR>
72: <TR>
73: <TD>Online source</TD>
74: <TD>
75: <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/?cvsroot=mdocml">cvsweb</A>
76: </TD>
77: </TR>
1.132 kristaps 78: <TR>
1.134 ! kristaps 79: <TD>Win32 (i686) binary archive</TD>
1.132 kristaps 80: <TD>
1.133 kristaps 81: <A HREF="/binaries/mdocml-win32.zip">/binaries/mdocml-win32.zip</A>
1.132 kristaps 82: </TD>
83: </TR>
1.134 ! kristaps 84: <TR>
! 85: <TD>Win64 (x86_64) binary archive</TD>
! 86: <TD>
! 87: <A HREF="/binaries/mdocml-win64.zip">/binaries/mdocml-win64.zip</A>
! 88: </TD>
! 89: </TR>
1.112 kristaps 90: </TBODY>
91: </TABLE>
92: <H2>
93: Downstream
94: </H2>
95: <TABLE WIDTH="100%" SUMMARY="Downstream Sources">
1.134 ! kristaps 96: <COL WIDTH="200">
1.112 kristaps 97: <COL>
98: <TBODY>
99: <TR>
100: <TD>DragonFly BSD</TD>
101: <TD>
102: <A HREF="http://gitweb.dragonflybsd.org/dragonfly.git/tree/HEAD:/usr.bin/mandoc"
103: CLASS="external">usr.bin/mandoc</A>
104: </TD>
105: </TR>
106: <TR>
107: <TD>FreeBSD</TD>
108: <TD>
109: <A HREF="http://www.freebsd.org/cgi/cvsweb.cgi/ports/textproc/mdocml/"
110: CLASS="external">ports/textproc/mdocml</A>
111: </TD>
112: </TR>
113: <TR>
114: <TD>NetBSD</TD>
115: <TD>
116: <A HREF="http://cvsweb.netbsd.org/bsdweb.cgi/src/external/bsd/mdocml/"
117: CLASS="external">src/external/bsd/mdocml</A>
118: </TD>
119: </TR>
120: <TR>
121: <TD>OpenBSD</TD>
122: <TD>
123: <A HREF="http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/mandoc/"
124: CLASS="external">src/usr.bin/mandoc</A>
125: </TD>
126: </TR>
127: </TBODY>
128: </TABLE>
129: <H2>
130: Historical
131: </H2>
132: <TABLE WIDTH="100%" SUMMARY="Archived Sources">
1.134 ! kristaps 133: <COL WIDTH="200">
1.112 kristaps 134: <COL>
135: <TBODY>
136: <TR>
137: <TD>Source archive</TD>
138: <TD>
139: <A HREF="/snapshots/">/snapshots/</A>
140: </TD>
141: </TR>
1.132 kristaps 142: <TR>
143: <TD>Binary archive</TD>
144: <TD>
145: <A HREF="/binaries/">/binaries/</A>
146: </TD>
147: </TR>
1.112 kristaps 148: </TBODY>
149: </TABLE>
150: <H1>
1.118 kristaps 151: <A NAME="documentation">Documentation</A>
1.112 kristaps 152: </H1>
153: <P>
154: These manuals are generated automatically and refer to the current snapshot.
155: </P>
156:
157: <TABLE WIDTH="100%" SUMMARY="Documentation">
1.134 ! kristaps 158: <COL WIDTH="200">
1.112 kristaps 159: <COL>
160: <TBODY>
161: <TR>
162: <TD VALIGN="top"><A HREF="mandoc.1.html">mandoc(1)</A></TD>
163: <TD VALIGN="top">
164: format and display UNIX manuals
165: <SMALL>
166: (<A HREF="mandoc.1.txt">text</A> |
167: <A HREF="mandoc.1.xhtml">xhtml</A> |
168: <A HREF="mandoc.1.pdf">pdf</A> |
169: <A HREF="mandoc.1.ps">postscript</A>)
170: </SMALL>
171: </TD>
172: </TR>
173: <TR>
1.128 schwarze 174: <TD VALIGN="top"><A HREF="mandocdb.8.html">mandocdb(8)</A></TD>
1.114 kristaps 175: <TD VALIGN="top">
176: index UNIX manuals
177: <SMALL>
1.128 schwarze 178: (<A HREF="mandocdb.8.txt">text</A> |
179: <A HREF="mandocdb.8.xhtml">xhtml</A> |
180: <A HREF="mandocdb.8.pdf">pdf</A> |
181: <A HREF="mandocdb.8.ps">postscript</A>)
1.114 kristaps 182: </SMALL>
183: </TD>
184: </TR>
185: <TR>
1.120 kristaps 186: <TD VALIGN="top"><A HREF="preconv.1.html">preconv(1)</A></TD>
187: <TD VALIGN="top">
188: recode multibyte UNIX manuals
189: <SMALL>
190: (<A HREF="preconv.1.txt">text</A> |
191: <A HREF="preconv.1.xhtml">xhtml</A> |
192: <A HREF="preconv.1.pdf">pdf</A> |
193: <A HREF="preconv.1.ps">postscript</A>)
194: </SMALL>
195: </TD>
196: </TR>
197: <TR>
1.112 kristaps 198: <TD VALIGN="top"><A HREF="mandoc.3.html">mandoc(3)</A></TD>
199: <TD VALIGN="top">
200: mandoc macro compiler library
201: <SMALL>
202: (<A HREF="mandoc.3.txt">text</A> |
203: <A HREF="mandoc.3.xhtml">xhtml</A> |
204: <A HREF="mandoc.3.pdf">pdf</A> |
205: <A HREF="mandoc.3.ps">postscript</A>)
206: </SMALL>
207: </TD>
208: </TR>
209: <TR>
210: <TD VALIGN="top"><A HREF="man.7.html">man(7)</A></TD>
211: <TD VALIGN="top">
212: man language reference
213: <SMALL>
214: (<A HREF="man.7.txt">text</A> |
215: <A HREF="man.7.xhtml">xhtml</A> |
216: <A HREF="man.7.pdf">pdf</A> |
217: <A HREF="man.7.ps">postscript</A>)
218: </SMALL>
219: </TD>
220: </TR>
221: <TR>
222: <TD VALIGN="top"><A HREF="eqn.7.html">eqn(7)</A></TD>
223: <TD VALIGN="top">
224: eqn-mandoc language reference
225: <SMALL>
226: (<A HREF="eqn.7.txt">text</A> |
227: <A HREF="eqn.7.xhtml">xhtml</A> |
228: <A HREF="eqn.7.pdf">pdf</A> |
229: <A HREF="eqn.7.ps">postscript</A>)
230: </SMALL>
231: </TD>
232: </TR>
233: <TR>
234: <TD VALIGN="top"><A HREF="mandoc_char.7.html">mandoc_char(7)</A></TD>
235: <TD VALIGN="top">
236: mandoc special characters
237: <SMALL>
238: (<A HREF="mandoc_char.7.txt">text</A> |
239: <A HREF="mandoc_char.7.xhtml">xhtml</A> |
240: <A HREF="mandoc_char.7.pdf">pdf</A> |
241: <A HREF="mandoc_char.7.ps">postscript</A>)
242: </SMALL>
243: </TD>
244: </TR>
245: <TR>
246: <TD VALIGN="top"><A HREF="mdoc.7.html">mdoc(7)</A></TD>
247: <TD VALIGN="top">
248: mdoc language reference
249: <SMALL>
250: (<A HREF="mdoc.7.txt">text</A> |
251: <A HREF="mdoc.7.xhtml">xhtml</A> |
252: <A HREF="mdoc.7.pdf">pdf</A> |
253: <A HREF="mdoc.7.ps">postscript</A>)
254: </SMALL>
255: </TD>
256: </TR>
257: <TR>
258: <TD VALIGN="top"><A HREF="roff.7.html">roff(7)</A></TD>
259: <TD VALIGN="top">
260: roff-mandoc language reference
261: <SMALL>
262: (<A HREF="roff.7.txt">text</A> |
263: <A HREF="roff.7.xhtml">xhtml</A> |
264: <A HREF="roff.7.pdf">pdf</A> |
265: <A HREF="roff.7.ps">postscript</A>)
266: </SMALL>
267: </TD>
268: </TR>
269: <TR>
270: <TD VALIGN="top"><A HREF="tbl.7.html">tbl(7)</A></TD>
271: <TD VALIGN="top">
272: tbl-mandoc language reference
273: <SMALL>
274: (<A HREF="tbl.7.txt">text</A> |
275: <A HREF="tbl.7.xhtml">xhtml</A> |
276: <A HREF="tbl.7.pdf">pdf</A> |
277: <A HREF="tbl.7.ps">postscript</A>)
278: </SMALL>
279: </TD>
280: </TR>
281: </TBODY>
282: </TABLE>
283: <H1>
1.118 kristaps 284: <A NAME="contact">Contact</A>
1.112 kristaps 285: </H1>
286: <P>
287: Use the mailing lists for bug-reports, patches, questions, etc. (these require subscription). Please check the
288: <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/TODO?cvsroot=mdocml">TODO</A> for known issues
289: before posting. Beyond that, contact Kristaps at <A
290: HREF="http://mailhide.recaptcha.net/d?k=01M6h_w7twDp58ZgH57eWC_w==&c=Q2DBUt401ePlSeupJFrq_Q==" TITLE="Reveal
291: this e-mail address">kris...</A>@bsd.lv.
292: </P>
293: <TABLE WIDTH="100%" SUMMARY="Mailing Lists">
1.134 ! kristaps 294: <COL WIDTH="200">
1.112 kristaps 295: <COL>
296: <TBODY>
297: <TR>
298: <TD>
299: disc<A CLASS="external" TITLE="Reveal this e-mail address"
300: HREF="http://www.google.com/recaptcha/mailhide/d?k=01KQ80PFH5n3BBNpF5Gs4sRg==&c=EV1QytpQqTHSItc2IXvZyocgYLPnG5K0JKw_gwMC9yc=">...</A>@mdocml.bsd.lv
301: </TD>
302: <TD>
303: bug-reports, general questions, and announcements
304: <SMALL>(<A HREF="/archives/discuss/summary.html">archive</A>)</SMALL>
305: </TD>
306: </TR>
307: <TR>
308: <TD>
309: tec<A CLASS="external" TITLE="Reveal this e-mail address"
310: HREF="http://www.google.com/recaptcha/mailhide/d?k=01qDX_iV0RlUOarEvb6mR28g==&c=gRXsTjza0NNCFPaYu-Taj2tF0pmYZSc90EZkFkhkxgo=">...</A>@mdocml.bsd.lv
311: </TD>
312: <TD>
313: patches and system discussions
314: <SMALL>(<A HREF="/archives/tech/summary.html">archive</A>)</SMALL>
315: </TD>
316: </TR>
317: <TR>
318: <TD>
319: sou<A CLASS="external" TITLE="Reveal this e-mail address"
320: HREF="http://www.google.com/recaptcha/mailhide/d?k=01prQrAZhhl2EbIwVcRfABsQ==&c=KtTW4Yic9xk-8g40KzJoca4fR3MYXv28g8NC6OQV-T8=">...</A>@mdocml.bsd.lv
321: </TD>
322: <TD>
323: source commit messages
324: <SMALL>(<A HREF="/archives/source/summary.html">archive</A>)</SMALL>
325: </TD>
326: </TR>
327: </TBODY>
328: </TABLE>
329: <H1>
1.118 kristaps 330: <A NAME="news">News</A>
1.112 kristaps 331: </H1>
1.124 kristaps 332: <P CLASS="news">
1.134 ! kristaps 333: 16-08-2011: version 1.11.6
! 334: </P>
! 335: <P>
! 336: Handling of <B>tr</B> macro in <A HREF="roff.7.html">roff</A> implemented. This makes Perl documentation much more
! 337: readable. Hyphenation is also now enabled in <A HREF="man.7.html">man</A> format documents. Many other general
! 338: improvements have been implemented, and a 64-bit Windows binary is now available at <A
! 339: HREF="/binaries/mdocml-win64.zip">/binaries/mdocml-win64.zip</A>.
! 340: </P>
! 341: <P CLASS="news">
1.131 kristaps 342: 24-07-2011: version 1.11.5
1.129 kristaps 343: </P>
344: <P>
1.130 kristaps 345: Significant <A HREF="eqn.7.html">eqn</A> improvements. <SPAN CLASS="nm">mdocml</SPAN> can now parse arbitrary eqn input
346: (although few GNU extensions are accepted, nor is mixing low-level roff with eqn). See the <A HREF="eqn.7.html">eqn</A>
347: manual for details. For the time being, equations are rendered as simple in-line text. The equation parser satisfies
348: the language specified in the <A CLASS="external" HREF="http://www.kohala.com/start/troff/v7man/eqn/eqn2e.ps">Second
1.131 kristaps 349: Edition User's Guide</A>.
1.129 kristaps 350: </P>
1.132 kristaps 351: <P>
352: This is also the first release featuring a distributed Windows binary, available at <A
353: HREF="/binaries/mdocml-win32.zip">/binaries/mdocml-win32.zip</A>.
354: </P>
1.129 kristaps 355: <P CLASS="news">
1.125 kristaps 356: 12-07-2011: version 1.11.4
1.124 kristaps 357: </P>
358: <P>
1.128 schwarze 359: Bug-fixes and clean-ups across all systems, especially in <INS><A HREF="mandocdb.8.html">mandocdb</A></INS> <DEL>makewhatis</DEL> (note: still not
1.127 kristaps 360: connected to the general build and must be compiled with <INS><CODE>make mandocdb</CODE></INS> <DEL><CODE>make makewhatis</CODE></DEL>) and the <A
1.125 kristaps 361: HREF="man.7.html">man</A> parser. This release was significantly assisted by participants in <A CLASS="external"
362: HREF="http://www.openbsd.org">OpenBSD</A>'s c2k11. Thanks!
1.124 kristaps 363: </P>
1.112 kristaps 364: <P>
365: See <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/index.sgml?cvsroot=mdocml">cvsweb</A> for
366: historical notes.
367: </P>
368: <P CLASS="foot">
1.118 kristaps 369: <SMALL>
370: Copyright © 2008–2011
371: <A CLASS="external" HREF="http://kristaps.bsd.lv">Kristaps Dzonsons</A>,
1.134 ! kristaps 372: $Date: 2011/07/24 19:08:09 $
1.118 kristaps 373: </SMALL>
1.112 kristaps 374: </P>
1.40 kristaps 375: </BODY>
376: </HTML>
CVSweb