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