Annotation of mandoc/index.sgml, Revision 1.74
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.1 kristaps 23: DESCRIPTION
1.40 kristaps 24: </H1>
1.1 kristaps 25:
1.40 kristaps 26: <P>
27: <SPAN CLASS="nm">mdocml</SPAN> is a suite of tools compiling <Q>-mdoc</Q>, the roff macro package
28: of choice for BSD manual pages, and <Q>-man</Q>, the predominant historical package for UNIX
29: manuals. The mission of <SPAN CLASS="nm">mdocml</SPAN> is to deprecate <A
30: HREF="http://www.gnu.org/software/groff/" CLASS="external">groff</A>, the GNU roff implementation, for
1.18 kristaps 31: 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
37: this (respectively small, C, ISC-licensed, fast and regular).
1.40 kristaps 38: </P>
1.1 kristaps 39:
1.40 kristaps 40: <P>
1.74 ! kristaps 41: The core of <SPAN CLASS="nm">mdocml</SPAN> is composed of the <A HREF="mdoc.3.html">libmdoc</A>, <A
! 42: HREF="man.3.html">libman</A>, and <A HREF="roff.3.html">libroff</A> validating compiler libraries. All
! 43: are simple, fast libraries operating on memory buffers, so they may be used for a variety of front-ends
! 44: (terminal-based, CGI and so on). The front-end is <A HREF="mandoc.1.html">mandoc</A>, which formats
! 45: manuals for display.
1.40 kristaps 46: </P>
47:
48: <P>
1.74 ! kristaps 49: The <SPAN CLASS="nm">mdocml</SPAN> suite is a <A CLASS="external" HREF="http://bsd.lv/">BSD.lv
1.40 kristaps 50: Project</A> member.
51: </P>
52: </TD>
53: </TR>
54: <TR>
55: <TD>
56: <H1>
1.33 kristaps 57: SOURCES
1.40 kristaps 58: </H1>
1.1 kristaps 59:
1.40 kristaps 60: <P>
1.74 ! kristaps 61: Sources correctly build and install on DragonFly BSD, FreeBSD, OpenBSD, NetBSD, GNU/Linux, and many
! 62: other operating systems, tested variously on i386, AMD64, alpha, and others. The most current version
! 63: is <SPAN CLASS="attn">@VERSION@</SPAN>, dated <SPAN class="attn">@VDATE@</SPAN>. A full <A
1.40 kristaps 64: HREF="ChangeLog.html">ChangeLog</A> (<A HREF="ChangeLog.txt">txt</A>) is written with each release.
65: </P>
1.7 kristaps 66:
1.40 kristaps 67: <H2>
1.26 kristaps 68: Current
1.40 kristaps 69: </H2>
1.1 kristaps 70:
1.40 kristaps 71: <TABLE WIDTH="100%" SUMMARY="Current Sources">
72: <COL WIDTH="200">
73: <COL>
74: <TBODY>
75: <TR>
76: <TD>Source archive</TD>
77: <TD>
78: <A HREF="/snapshots/mdocml.tar.gz">/snapshots/mdocml.tar.gz</A>
79: (<A HREF="/snapshots/mdocml.md5">md5</A>)
80: </TD>
81: </TR>
82: <TR>
83: <TD>Online source</TD>
84: <TD>
1.74 ! kristaps 85: <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/?cvsroot=mdocml">cvsweb</A>
1.40 kristaps 86: </TD>
87: </TR>
88: </TBODY>
89: </TABLE>
1.1 kristaps 90:
1.40 kristaps 91: <H2>
1.26 kristaps 92: Downstream
1.40 kristaps 93: </H2>
1.1 kristaps 94:
1.40 kristaps 95: <TABLE WIDTH="100%" SUMMARY="Downstream Sources">
96: <COL WIDTH="200">
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>
1.1 kristaps 129:
1.40 kristaps 130: <H2>
1.22 kristaps 131: Historical
1.40 kristaps 132: </H2>
1.10 kristaps 133:
1.40 kristaps 134: <TABLE WIDTH="100%" SUMMARY="Archived Sources">
135: <COL WIDTH="200">
136: <COL>
137: <TBODY>
138: <TR>
139: <TD>Source archive</TD>
140: <TD>
141: <A HREF="/snapshots/">/snapshots/</A>
142: </TD>
143: </TR>
144: </TBODY>
145: </TABLE>
146: </TD>
147: </TR>
148: <TR>
149: <TD>
150: <H1>
1.18 kristaps 151: DOCUMENTATION
1.40 kristaps 152: </H1>
1.18 kristaps 153:
1.40 kristaps 154: <P>
1.39 kristaps 155: These manuals are generated automatically and refer to the current snapshot.
1.40 kristaps 156: </P>
1.24 kristaps 157:
1.40 kristaps 158: <TABLE WIDTH="100%" SUMMARY="Documentation">
159: <COL WIDTH="200">
160: <COL>
161: <TBODY>
162: <TR>
1.74 ! kristaps 163: <TD><A HREF="man.3.html">man(3)</A> (<A HREF="man.3.txt">text</A>)</TD>
! 164: <TD>man macro compiler library</TD>
! 165: </TR>
! 166: <TR>
! 167: <TD><A HREF="man.7.html">man(7)</A> (<A HREF="man.7.txt">text</A>)</TD>
! 168: <TD>man language reference</TD>
! 169: </TR>
! 170: <TR>
1.40 kristaps 171: <TD><A HREF="mandoc.1.html">mandoc(1)</A> (<A HREF="mandoc.1.txt">text</A>)</TD>
172: <TD>format and display UNIX manuals</TD>
173: </TR>
174: <TR>
175: <TD><A HREF="mandoc_char.7.html">mandoc_char(7)</A> (<A HREF="mandoc_char.7.txt">text</A>)</TD>
176: <TD>mandoc special characters</TD>
177: </TR>
178: <TR>
179: <TD><A HREF="manuals.7.html">manuals(7)</A> (<A HREF="manuals.7.txt">text</A>)</TD>
180: <TD>a guide to writing UNIX manuals</TD>
181: </TR>
182: <TR>
183: <TD><A HREF="mdoc.3.html">mdoc(3)</A> (<A HREF="mdoc.3.txt">text</A>)</TD>
184: <TD>mdoc macro compiler library</TD>
185: </TR>
186: <TR>
1.74 ! kristaps 187: <TD><A HREF="mdoc.7.html">mdoc(7)</A> (<A HREF="mdoc.7.txt">text</A>)</TD>
! 188: <TD>mdoc language reference</TD>
! 189: </TR>
! 190: <TR>
! 191: <TD><A HREF="roff.3.html">roff(3)</A> (<A HREF="roff.3.txt">text</A>)</TD>
! 192: <TD>roff macro compiler library</TD>
1.40 kristaps 193: </TR>
1.71 kristaps 194: <TR>
195: <TD><A HREF="roff.7.html">roff(7)</A> (<A HREF="roff.7.txt">text</A>)</TD>
1.74 ! kristaps 196: <TD>roff-mandoc language reference</TD>
1.71 kristaps 197: </TR>
1.40 kristaps 198: </TBODY>
199: </TABLE>
200: </TD>
201: </TR>
202: <TR>
203: <TD>
204: <H1>
1.1 kristaps 205: CONTACT
1.40 kristaps 206: </H1>
1.1 kristaps 207:
1.40 kristaps 208: <P>
209: For all issues related to <SPAN CLASS="nm">mdocml</SPAN>, contact Kristaps Dzonsons, kris<A
210: CLASS="external"
211: HREF="http://mailhide.recaptcha.net/d?k=01M6h_w7twDp58ZgH57eWC_w==&c=Q2DBUt401ePlSeupJFrq_Q=="
212: TITLE="Reveal this e-mail address">...</A>@bsd.lv.
213: </P>
1.18 kristaps 214:
1.40 kristaps 215: <P>
1.68 kristaps 216: You may also subscribe to several mailing lists (these require subscription, which is moderated). An
1.74 ! kristaps 217: archive is not yet available on-line, although you may request one once subscribed.
1.40 kristaps 218: </P>
1.57 kristaps 219:
220: <TABLE WIDTH="100%" SUMMARY="Mailing Lists">
221: <COL WIDTH="200">
222: <COL>
223: <TBODY>
224: <TR>
225: <TD>
1.60 kristaps 226: disc<A CLASS="external" TITLE="Reveal this e-mail address"
1.59 kristaps 227: HREF="http://www.google.com/recaptcha/mailhide/d?k=01KQ80PFH5n3BBNpF5Gs4sRg==&c=EV1QytpQqTHSItc2IXvZyocgYLPnG5K0JKw_gwMC9yc=">...</a>@mdocml.bsd.lv
1.57 kristaps 228: </TD>
1.72 kristaps 229: <TD>high-level discussions and version announcements</TD>
230: </TR>
231: <TR>
232: <TD>
233: tec<A CLASS="external" TITLE="Reveal this e-mail address"
234: HREF="http://www.google.com/recaptcha/mailhide/d?k=014mgcCKFE_qqo9NLETCAiEA==&c=-y6beh3b_SMDe6Iauc3PW-c1wlVbRqYJdj1RETN9WMs=">...</a>@mdocml.bsd.lv
235: </TD>
236: <TD>low-level discussions</TD>
1.58 kristaps 237: </TR>
1.67 kristaps 238: <TR>
1.58 kristaps 239: <TD>
240: sou<A CLASS="external" TITLE="Reveal this e-mail address"
241: HREF="http://www.google.com/recaptcha/mailhide/d?k=01prQrAZhhl2EbIwVcRfABsQ==&c=KtTW4Yic9xk-8g40KzJoca4fR3MYXv28g8NC6OQV-T8=">...</a>@mdocml.bsd.lv
242: </TD>
1.59 kristaps 243: <TD>source commit messages</TD>
1.67 kristaps 244: </TR>
1.57 kristaps 245: </TBODY>
246: </TABLE>
1.40 kristaps 247: </TD>
248: </TR>
249: <TR>
250: <TD>
251: <H1>
252: NEWS
253: </H1>
254:
255: <TABLE WIDTH="100%" CELLPADDING="2">
1.42 kristaps 256: <COL CLASS="date">
1.40 kristaps 257: <TBODY>
258: <TR>
1.69 kristaps 259: <TD VALIGN="top"><SPAN CLASS="date">xx-05-2010</SPAN></TD>
1.73 kristaps 260: <TD VALIGN="top">
1.74 ! kristaps 261: Release consisting of the results from the m2k10 hackathon and up-merge from
! 262: OpenBSD. This requires a significant note of thanks to Ingo Schwarze (OpenBSD)
! 263: and Joerg Sonnenberger (NetBSD) for their hard work, and again to Joerg for
! 264: hosting m2k10. Highlights (mostly cribbed from Ingo's m2k10 report) follow in
! 265: no particular order:
! 266: <UL>
! 267: <LI>a <A HREF="roff.3.html">libroff</A> preprocessor in front of <A
! 268: HREF="mdoc.3.html">libmdoc</A> and <A HREF="man.3.html">libman</A> stripping out
! 269: <A HREF="roff.7.html">roff</A> instructions;</LI>
! 270: <LI>end-of-sentence (EOS) detection in free-form and macro lines;</LI>
! 271: <LI>correct handling of tab-separated columnar lists in <SPAN
! 272: CLASS="flag">-mdoc</SPAN>;</LI>
! 273: <LI>improved main calling routines to optionally use mmap() for better
! 274: performance;</LI>
! 275: <LI>cleaned up exiting when invoked as <SPAN CLASS="flag">-Tlint</SPAN> or over
! 276: multiple files with <SPAN CLASS="flag">-fign-errors</SPAN>;</LI>
! 277: <LI>error and warning message handling re-written to be unified for <A
! 278: HREF="roff.3.html">libroff</A>, <A HREF="mdoc.3.html">libmdoc</A>, and <A
! 279: HREF="man.3.html">libman</A>;</LI>
! 280: <LI>handling of badly-nested explicit-scoped macros;</LI>
! 281: <LI>improved free-form text parsing in <A HREF="man.3.html">libman</A> and <A
! 282: HREF="mdoc.3.html">libmdoc</A>;</LI>
! 283: <LI>significant GNU troff compatibility improvements in <SPAN
! 284: CLASS="flag">-Tascii</SPAN>, largely in terms of spacing;</LI>
! 285: <LI>a regression framework for making sure the many fragilities of GNU troff
! 286: aren't trampled in subsequent work;</LI>
! 287: <LI>support for <SPAN CLASS="flag">-Tascii</SPAN> breaking at hyphens
! 288: encountered in free-form text;</LI>
! 289: <LI>and many more minor fixes and improvements (no really, consult <A
! 290: HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/?cvsroot=mdocml">cvsweb</A> and see
! 291: for yourself!).</LI>
! 292: </UL>
! 293: Version: <SPAN CLASS="rev">1.10.0</SPAN>.
! 294: </TD>
1.69 kristaps 295: </TR>
296: <TR>
1.66 kristaps 297: <TD VALIGN="top"><SPAN CLASS="date">13-05-2010</SPAN></TD>
1.53 kristaps 298: <TD VALIGN="top">
1.64 kristaps 299: Fixed handling of <Q>\*(Ba</Q> escape. Backed out <SPAN
1.66 kristaps 300: CLASS="flag">-fno-ign-chars</SPAN> (pointless complexity). Fixed erroneous
301: breaking of literal lines. Fixed SYNOPSIS breaking lines before non-initial
302: macros. Changed default section ordering. Most importantly, the framework for
303: end-of-sentence double-spacing is in place, now implemented for the
304: <Q>end-of-sentence, end-of-line</Q> rule. This is a stable roll-back point
305: before the mandoc hackathon in Rostock!
306: Version: <SPAN CLASS="rev">1.9.25</SPAN>.
1.74 ! kristaps 307: </TD>
1.64 kristaps 308: </TR>
309: <TR>
310: <TD VALIGN="top"><SPAN CLASS="date">09-05-2010</SPAN></TD>
311: <TD VALIGN="top">
1.59 kristaps 312: Rolled back break-at-hyphen. <SPAN CLASS="flag">-DUGLY</SPAN> is now the
313: default (no feature splits!). Free-form text is not de-chunked any more: lines
314: are passed whole-sale into the front-end, including whitespace. Added mailing
315: lists. Lastly, <SPAN CLASS="nm">mdocml</SPAN> is the focus of two <A
316: CLASS="external" HREF="http://socghop.appspot.com/">Google Summer of Code</A>
317: projects this year: <Q><A CLASS="external"
318: HREF="http://netbsd-soc.sourceforge.net/projects/mandoc_ps/">mandoc -Tps</A></Q>
319: (NetBSD) and <Q><A CLASS="external"
320: HREF="http://wiki.freebsd.org/SummerOfCode2010Projects">BSD-licensed
321: Text-Processing Tools</A></Q> (FreeBSD).
1.53 kristaps 322: Version: <SPAN CLASS="rev">1.9.24</SPAN>.
323: </TD>
324: </TR>
325:
326: <TR>
1.51 kristaps 327: <TD VALIGN="top"><SPAN CLASS="date">07-04-2010</SPAN></TD>
1.50 kristaps 328: <TD VALIGN="top">
329: <SPAN CLASS="nm">mdocml</SPAN> has been linked to the <A CLASS="external"
330: HREF="http://www.openbsd.org/faq/current.html#20100403">OpenBSD build</a>. This
331: version incorporates many small changes, mostly from patches by OpenBSD,
332: allowing crufty manuals to slip by with warnings instead of erroring-out. Some
333: subtle semantic issues, such as punctuation scope, have also been fixed.
334: Lastly, some issues with <SPAN CLASS="flag">-Thtml</SPAN> have been fixed, which
335: prompted an update to the <A HREF="mandoc.1.html">online</A> <A
336: HREF="mandoc_char.7.html">manual</A> <A HREF="man.7.html">pages</A> style
1.52 kristaps 337: layout. Version: <SPAN CLASS="rev">1.9.23</SPAN>.
1.50 kristaps 338: </TD>
339: </TR>
340: <TR>
1.74 ! kristaps 341: <TD VALIGN="top"></TD>
1.40 kristaps 342: <TD VALIGN="top">
1.74 ! kristaps 343: See
! 344: <A
! 345: HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/index.sgml?cvsroot=mdocml">cvsweb</A>
! 346: for historical notes.
1.40 kristaps 347: </TD>
348: </TR>
349: </TBODY>
350: </TABLE>
351: </TD>
352: </TR>
353: <TR>
354: <TD>
355: <DIV CLASS="foot">
1.74 ! kristaps 356: Copyright © 2008–2010 Kristaps Dzonsons, $Date: 2010/05/25 12:44:53 $
1.40 kristaps 357: </DIV>
358: </TD>
359: </TR>
360: </TBODY>
361: </TABLE>
362: </BODY>
363: </HTML>
CVSweb