Annotation of mandoc/index.sgml, Revision 1.110
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: <META NAME="resource-type" CONTENT="document">
6: <LINK REL="stylesheet" HREF="index.css" TYPE="text/css" MEDIA="all">
1.47 kristaps 7: <TITLE>mdocml | mdoc macro compiler</TITLE>
1.40 kristaps 8: </HEAD>
9: <BODY>
10: <TABLE CLASS="frame" SUMMARY="[frame]">
11: <COL WIDTH="100%">
12: <TBODY>
13: <TR>
14: <TD>
15: <DIV CLASS="head">
16: <B>mdocml</B> – mdoc macro compiler
17: </DIV>
18: </TD>
19: </TR>
20: <TR>
21: <TD VALIGN="top">
22: <H1>
1.75 kristaps 23: <A NAME="description">DESCRIPTION</A>
1.40 kristaps 24: </H1>
1.1 kristaps 25:
1.40 kristaps 26: <P>
1.84 kristaps 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.
1.40 kristaps 32: </P>
1.9 kristaps 33:
1.40 kristaps 34: <P>
1.13 kristaps 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
1.84 kristaps 37: this (respectively small, C, <A CLASS="external"
38: HREF="http://www.isc.org/software/license">ISC</A>-licensed, fast and regular).
1.40 kristaps 39: </P>
1.1 kristaps 40:
1.40 kristaps 41: <P>
1.106 kristaps 42: <SPAN CLASS="nm">mdocml</SPAN> consists of the <A HREF="mandoc.3.html">libmandoc</A> validating
1.109 kristaps 43: compiler and <A HREF="mandoc.1.html">mandoc</A>, which interfaces with the compiler library to format
1.106 kristaps 44: output for UNIX terminals, XHTML, HTML, PostScript, and PDF. It is a <A CLASS="external"
1.84 kristaps 45: HREF="http://bsd.lv/">BSD.lv</A> project.
1.40 kristaps 46: </P>
47:
48: <P>
1.84 kristaps 49: <I>Disambiguation</I>: <SPAN CLASS="nm">mdocml</SPAN> is often referred to by its installed binary,
50: <Q>mandoc</Q>.
1.40 kristaps 51: </P>
52: </TD>
53: </TR>
54: <TR>
55: <TD>
56: <H1>
1.75 kristaps 57: <A NAME="sources">SOURCES</A>
1.40 kristaps 58: </H1>
1.1 kristaps 59:
1.40 kristaps 60: <P>
1.107 kristaps 61: <SPAN CLASS="nm">mdocml</SPAN> is in plain-old ANSI C and should build and run on any UNIX system.
62: The most current version is <SPAN CLASS="attn">@VERSION@</SPAN>, dated <SPAN class="attn">@VDATE@</SPAN>.
1.40 kristaps 63: </P>
1.7 kristaps 64:
1.40 kristaps 65: <H2>
1.26 kristaps 66: Current
1.40 kristaps 67: </H2>
1.1 kristaps 68:
1.40 kristaps 69: <TABLE WIDTH="100%" SUMMARY="Current Sources">
1.98 kristaps 70: <COL WIDTH="175">
1.40 kristaps 71: <COL>
72: <TBODY>
73: <TR>
74: <TD>Source archive</TD>
75: <TD>
76: <A HREF="/snapshots/mdocml.tar.gz">/snapshots/mdocml.tar.gz</A>
77: (<A HREF="/snapshots/mdocml.md5">md5</A>)
78: </TD>
79: </TR>
80: <TR>
81: <TD>Online source</TD>
82: <TD>
1.74 kristaps 83: <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/?cvsroot=mdocml">cvsweb</A>
1.40 kristaps 84: </TD>
85: </TR>
86: </TBODY>
87: </TABLE>
1.1 kristaps 88:
1.40 kristaps 89: <H2>
1.26 kristaps 90: Downstream
1.40 kristaps 91: </H2>
1.1 kristaps 92:
1.40 kristaps 93: <TABLE WIDTH="100%" SUMMARY="Downstream Sources">
1.98 kristaps 94: <COL WIDTH="175">
1.40 kristaps 95: <COL>
96: <TBODY>
97: <TR>
98: <TD>DragonFly BSD</TD>
99: <TD>
100: <A HREF="http://gitweb.dragonflybsd.org/dragonfly.git/tree/HEAD:/usr.bin/mandoc"
101: CLASS="external">usr.bin/mandoc</A>
102: </TD>
103: </TR>
104: <TR>
105: <TD>FreeBSD</TD>
106: <TD>
107: <A HREF="http://www.freebsd.org/cgi/cvsweb.cgi/ports/textproc/mdocml/"
108: CLASS="external">ports/textproc/mdocml</A>
109: </TD>
110: </TR>
111: <TR>
112: <TD>NetBSD</TD>
113: <TD>
114: <A HREF="http://cvsweb.netbsd.org/bsdweb.cgi/src/external/bsd/mdocml/"
115: CLASS="external">src/external/bsd/mdocml</A>
116: </TD>
117: </TR>
118: <TR>
119: <TD>OpenBSD</TD>
120: <TD>
121: <A HREF="http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/mandoc/"
122: CLASS="external">src/usr.bin/mandoc</A>
123: </TD>
124: </TR>
125: </TBODY>
126: </TABLE>
1.1 kristaps 127:
1.40 kristaps 128: <H2>
1.22 kristaps 129: Historical
1.40 kristaps 130: </H2>
1.10 kristaps 131:
1.40 kristaps 132: <TABLE WIDTH="100%" SUMMARY="Archived Sources">
1.98 kristaps 133: <COL WIDTH="175">
1.40 kristaps 134: <COL>
135: <TBODY>
136: <TR>
137: <TD>Source archive</TD>
138: <TD>
139: <A HREF="/snapshots/">/snapshots/</A>
140: </TD>
141: </TR>
142: </TBODY>
143: </TABLE>
144: </TD>
145: </TR>
146: <TR>
147: <TD>
148: <H1>
1.75 kristaps 149: <A NAME="documentation">DOCUMENTATION</A>
1.40 kristaps 150: </H1>
1.18 kristaps 151:
1.40 kristaps 152: <P>
1.84 kristaps 153: These manuals are generated automatically and refer to the current snapshot.
1.40 kristaps 154: </P>
1.24 kristaps 155:
1.40 kristaps 156: <TABLE WIDTH="100%" SUMMARY="Documentation">
1.98 kristaps 157: <COL WIDTH="175">
1.40 kristaps 158: <COL>
159: <TBODY>
160: <TR>
1.104 kristaps 161: <TD VALIGN="top"><A HREF="mandoc.1.html">mandoc(1)</A></TD>
162: <TD VALIGN="top">
163: format and display UNIX manuals
164: <SPAN STYLE="font-size: smaller;">
165: (<A HREF="mandoc.1.txt">text</A> |
166: <A HREF="mandoc.1.xhtml">xhtml</A> |
167: <A HREF="mandoc.1.pdf">pdf</A> |
168: <A HREF="mandoc.1.ps">postscript</A>)
169: </SPAN>
170: </TD>
171: </TR>
172: <TR>
1.106 kristaps 173: <TD VALIGN="top"><A HREF="mandoc.3.html">mandoc(3)</A></TD>
1.80 kristaps 174: <TD VALIGN="top">
1.106 kristaps 175: mandoc macro compiler library
1.84 kristaps 176: <SPAN STYLE="font-size: smaller;">
1.106 kristaps 177: (<A HREF="mandoc.3.txt">text</A> |
178: <A HREF="mandoc.3.xhtml">xhtml</A> |
179: <A HREF="mandoc.3.pdf">pdf</A> |
180: <A HREF="mandoc.3.ps">postscript</A>)
1.84 kristaps 181: </SPAN>
1.80 kristaps 182: </TD>
183: </TR>
184: <TR>
1.106 kristaps 185: <TD VALIGN="top"><A HREF="man.7.html">man(7)</A></TD>
1.104 kristaps 186: <TD VALIGN="top">
1.106 kristaps 187: man language reference
1.104 kristaps 188: <SPAN STYLE="font-size: smaller;">
1.106 kristaps 189: (<A HREF="man.7.txt">text</A> |
190: <A HREF="man.7.xhtml">xhtml</A> |
191: <A HREF="man.7.pdf">pdf</A> |
192: <A HREF="man.7.ps">postscript</A>)
1.104 kristaps 193: </SPAN>
194: </TD>
195: </TR>
196: <TR>
1.106 kristaps 197: <TD VALIGN="top"><A HREF="eqn.7.html">eqn(7)</A></TD>
1.80 kristaps 198: <TD VALIGN="top">
1.106 kristaps 199: eqn-mandoc language reference
1.84 kristaps 200: <SPAN STYLE="font-size: smaller;">
1.106 kristaps 201: (<A HREF="eqn.7.txt">text</A> |
202: <A HREF="eqn.7.xhtml">xhtml</A> |
203: <A HREF="eqn.7.pdf">pdf</A> |
204: <A HREF="eqn.7.ps">postscript</A>)
1.84 kristaps 205: </SPAN>
1.80 kristaps 206: </TD>
207: </TR>
208: <TR>
209: <TD VALIGN="top"><A HREF="mandoc_char.7.html">mandoc_char(7)</A></TD>
210: <TD VALIGN="top">
211: mandoc special characters
1.84 kristaps 212: <SPAN STYLE="font-size: smaller;">
1.91 kristaps 213: (<A HREF="mandoc_char.7.txt">text</A> |
1.97 kristaps 214: <A HREF="mandoc_char.7.xhtml">xhtml</A> |
1.91 kristaps 215: <A HREF="mandoc_char.7.pdf">pdf</A> |
216: <A HREF="mandoc_char.7.ps">postscript</A>)
1.84 kristaps 217: </SPAN>
1.80 kristaps 218: </TD>
219: </TR>
220: <TR>
221: <TD VALIGN="top"><A HREF="mdoc.7.html">mdoc(7)</A></TD>
222: <TD VALIGN="top">
223: mdoc language reference
1.84 kristaps 224: <SPAN STYLE="font-size: smaller;">
1.91 kristaps 225: (<A HREF="mdoc.7.txt">text</A> |
1.97 kristaps 226: <A HREF="mdoc.7.xhtml">xhtml</A> |
1.91 kristaps 227: <A HREF="mdoc.7.pdf">pdf</A> |
228: <A HREF="mdoc.7.ps">postscript</A>)
1.84 kristaps 229: </SPAN>
1.80 kristaps 230: </TD>
231: </TR>
232: <TR>
233: <TD VALIGN="top"><A HREF="roff.7.html">roff(7)</A></TD>
234: <TD VALIGN="top">
235: roff-mandoc language reference
1.84 kristaps 236: <SPAN STYLE="font-size: smaller;">
1.91 kristaps 237: (<A HREF="roff.7.txt">text</A> |
1.97 kristaps 238: <A HREF="roff.7.xhtml">xhtml</A> |
1.91 kristaps 239: <A HREF="roff.7.pdf">pdf</A> |
240: <A HREF="roff.7.ps">postscript</A>)
1.84 kristaps 241: </SPAN>
1.80 kristaps 242: </TD>
1.71 kristaps 243: </TR>
1.102 kristaps 244: <TR>
245: <TD VALIGN="top"><A HREF="tbl.7.html">tbl(7)</A></TD>
246: <TD VALIGN="top">
247: tbl-mandoc language reference
248: <SPAN STYLE="font-size: smaller;">
249: (<A HREF="tbl.7.txt">text</A> |
250: <A HREF="tbl.7.xhtml">xhtml</A> |
251: <A HREF="tbl.7.pdf">pdf</A> |
252: <A HREF="tbl.7.ps">postscript</A>)
253: </SPAN>
254: </TD>
255: </TR>
1.40 kristaps 256: </TBODY>
257: </TABLE>
1.79 kristaps 258:
259: <P>
260: See <Q><A CLASS="external" HREF="http://manpages.bsd.lv">Writing UNIX Manual Pages</A></Q> for a general
261: introduction to manpages and mdoc.
1.82 kristaps 262: </P>
1.40 kristaps 263: </TD>
264: </TR>
265: <TR>
266: <TD>
267: <H1>
1.75 kristaps 268: <A NAME="contact">CONTACT</A>
1.40 kristaps 269: </H1>
1.1 kristaps 270:
1.40 kristaps 271: <P>
1.108 kristaps 272: Use the mailing lists for bug-reports, patches, questions, etc. (these require
273: subscription).
274: Please check the
275: <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/TODO?cvsroot=mdocml">TODO</A> for known issues
276: before posting.
277: Beyond that, contact Kristaps at <A
1.84 kristaps 278: HREF="http://mailhide.recaptcha.net/d?k=01M6h_w7twDp58ZgH57eWC_w==&c=Q2DBUt401ePlSeupJFrq_Q=="
279: TITLE="Reveal this e-mail address">kris...</A>@bsd.lv.
1.40 kristaps 280: </P>
1.18 kristaps 281:
1.57 kristaps 282: <TABLE WIDTH="100%" SUMMARY="Mailing Lists">
1.98 kristaps 283: <COL WIDTH="175">
1.57 kristaps 284: <COL>
285: <TBODY>
286: <TR>
287: <TD>
1.60 kristaps 288: disc<A CLASS="external" TITLE="Reveal this e-mail address"
1.76 kristaps 289: HREF="http://www.google.com/recaptcha/mailhide/d?k=01KQ80PFH5n3BBNpF5Gs4sRg==&c=EV1QytpQqTHSItc2IXvZyocgYLPnG5K0JKw_gwMC9yc=">...</A>@mdocml.bsd.lv
1.57 kristaps 290: </TD>
1.92 kristaps 291: <TD>
292: bug-reports, general questions, and announcements
1.93 kristaps 293: <SPAN STYLE="font-size: smaller;">(<A HREF="/archives/discuss/summary.html">archive</A>)</SPAN>
1.92 kristaps 294: </TD>
1.72 kristaps 295: </TR>
296: <TR>
297: <TD>
298: tec<A CLASS="external" TITLE="Reveal this e-mail address"
1.76 kristaps 299: HREF="http://www.google.com/recaptcha/mailhide/d?k=01qDX_iV0RlUOarEvb6mR28g==&c=gRXsTjza0NNCFPaYu-Taj2tF0pmYZSc90EZkFkhkxgo=">...</A>@mdocml.bsd.lv
1.72 kristaps 300: </TD>
1.92 kristaps 301: <TD>
302: patches and system discussions
1.93 kristaps 303: <SPAN STYLE="font-size: smaller;">(<A HREF="/archives/tech/summary.html">archive</A>)</SPAN>
1.92 kristaps 304: </TD>
1.58 kristaps 305: </TR>
1.67 kristaps 306: <TR>
1.58 kristaps 307: <TD>
308: sou<A CLASS="external" TITLE="Reveal this e-mail address"
1.76 kristaps 309: HREF="http://www.google.com/recaptcha/mailhide/d?k=01prQrAZhhl2EbIwVcRfABsQ==&c=KtTW4Yic9xk-8g40KzJoca4fR3MYXv28g8NC6OQV-T8=">...</A>@mdocml.bsd.lv
1.58 kristaps 310: </TD>
1.92 kristaps 311: <TD>
312: source commit messages
1.93 kristaps 313: <SPAN STYLE="font-size: smaller;">(<A HREF="/archives/source/summary.html">archive</A>)</SPAN>
1.92 kristaps 314: </TD>
1.67 kristaps 315: </TR>
1.57 kristaps 316: </TBODY>
317: </TABLE>
1.40 kristaps 318: </TD>
319: </TR>
320: <TR>
321: <TD>
322: <H1>
1.75 kristaps 323: <A NAME="news">NEWS</A>
1.40 kristaps 324: </H1>
1.77 kristaps 325: <DIV CLASS="news">
326: <P>
1.110 ! kristaps 327: <SPAN CLASS="date">28-03-2011</SPAN>:
! 328: version 1.11.1
! 329: </P>
! 330: <P>
! 331: The earlier <I>libroff</I>, <I>libmdoc</I>, and <I>libman</I> soup have been merged into
! 332: a single library, <A HREF="mandoc.3.html">libmandoc</A>, which manages all aspects of
! 333: parsing real manuals (from line-handling to <A HREF="tbl.7.html">tbl</A> parsing).
! 334: </P>
! 335: <P>
! 336: Beyond this structural change, initial <A HREF="eqn.7.html">eqn</A> functionality is in
! 337: place. For the time being, this is limited to the recognition of equation blocks;
! 338: future version of <SPAN CLASS="nm">mdocml</SPAN> will expand upon this framework.
! 339: </P>
! 340: <P>
! 341: As usual, many general fixes and improvements have also occured. In particular, a great
! 342: deal of redundancy and superfluous code has been removed with the merging of the backend
! 343: libraries.
! 344: </P>
! 345: </DIV>
! 346: <DIV CLASS="news">
! 347: <P>
1.104 kristaps 348: <SPAN CLASS="date">07-01-2011</SPAN>:
1.100 kristaps 349: version 1.10.9
350: </P>
351: <P>
1.103 kristaps 352: Many back-end fixes have been implemented: argument handling (quoting), <A
353: HREF="man.7.html">man</A> improvements, error/warning classes, and many more.
354: </P>
355: <P>
1.104 kristaps 356: Initial <A HREF="tbl.7.html">tbl</A> functionality (see the <Q>TS</Q>, <Q>TE</Q>, and
1.102 kristaps 357: <Q>T&</Q> macros in the <A HREF="roff.7.html#x5c265453">roff</A> manual) has been
1.103 kristaps 358: merged from <A CLASS="external" HREF="http://tbl.bsd.lv">tbl.bsd.lv</A>. Output is
1.104 kristaps 359: still minimal, especially for <SPAN CLASS="flag">-Thtml</SPAN> and <SPAN
1.103 kristaps 360: CLASS="flag">-Txhtml</SPAN>, but manages to at least display data. This means that <A
361: HREF="mandoc.1.html">mandoc</A> now has built-in support for two troff preprocessors via
1.106 kristaps 362: <DEL>libroff</DEL>: soelim and tbl.
1.100 kristaps 363: </P>
364: </DIV>
365: <DIV CLASS="news">
366: <P>
1.99 kristaps 367: <SPAN CLASS="date">24-12-2010</SPAN>:
1.95 kristaps 368: version 1.10.8
369: </P>
370: <P>
371: Significant improvements merged from <A CLASS="external"
372: HREF="http://www.openbsd.org">OpenBSD</A> downstream, including
373: </P>
374: <UL>
375: <LI>many new <A HREF="roff.7.html">roff</A> components,</LI>
376: <LI>in-line implementation of troff's soelim,</LI>
377: <LI>broken-block handling,</LI>
378: <LI>overhauled error classifications, and</LI>
379: <LI>cleaned up handling of error conditions.</LI>
380: </UL>
381: <P>
382: Also overhauled the <SPAN CLASS="flag">-Thtml</SPAN> and <SPAN
1.96 kristaps 383: CLASS="flag">-Txhtml</SPAN> output modes. They now display readable output in arbitrary
384: browsers, including text-based ones like <A CLASS="external"
1.98 kristaps 385: HREF="http://lynx.isc.org">lynx</A>. See HTML and XHTML manuals in the <A
386: HREF="#documentation">DOCUMENTATION</A> section for examples. <SPAN
387: CLASS="attn">Attention: available style-sheet classes have been considerably
388: changed!</SPAN> See the <SPAN CLASS="file">example.style.css</SPAN> file for details.
1.106 kristaps 389: Lastly, <DEL>libmdoc</DEL> and <DEL>libman</DEL> have been
1.98 kristaps 390: cleaned up and reduced in size and complexity.
1.95 kristaps 391: </P>
392: </DIV>
1.75 kristaps 393: <P>
394: See <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/index.sgml?cvsroot=mdocml">cvsweb</A> for
395: historical notes.
396: </P>
1.40 kristaps 397: </TD>
398: </TR>
399: <TR>
400: <TD>
401: <DIV CLASS="foot">
1.110 ! kristaps 402: Copyright © 2008–2011 Kristaps Dzonsons, $Date: 2011/03/22 15:30:30 $
1.40 kristaps 403: </DIV>
404: </TD>
405: </TR>
406: </TBODY>
407: </TABLE>
408: </BODY>
409: </HTML>
CVSweb