version 1.68, 2010/05/14 12:02:12 |
version 1.82, 2010/06/19 20:43:35 |
|
|
<DIV CLASS="head"> |
<DIV CLASS="head"> |
<B>mdocml</B> – mdoc macro compiler |
<B>mdocml</B> – mdoc macro compiler |
</DIV> |
</DIV> |
|
<DIV CLASS="subhead"> |
|
<A HREF="#description">Description</A> | |
|
<A HREF="#sources">Sources</A> | |
|
<A HREF="#documentation">Documentation</A> | |
|
<A HREF="#contact">Contact</A> | |
|
<A HREF="#news">News</A> |
|
</DIV> |
</TD> |
</TD> |
</TR> |
</TR> |
<TR> |
<TR> |
<TD VALIGN="top"> |
<TD VALIGN="top"> |
<H1> |
<H1> |
DESCRIPTION |
<A NAME="description">DESCRIPTION</A> |
</H1> |
</H1> |
|
|
<P> |
<P> |
|
|
</P> |
</P> |
|
|
<P> |
<P> |
The core of <SPAN CLASS="nm">mdocml</SPAN> is composed of the <i>libmdoc</i> and <i>libman</i> |
The core of <SPAN CLASS="nm">mdocml</SPAN> is composed of the <A HREF="mdoc.3.html">libmdoc</A>, <A |
validating compiler libraries. Both are simple, fast libraries operating on memory buffers, so they may |
HREF="man.3.html">libman</A>, and <A HREF="roff.3.html">libroff</A> validating compiler libraries. All |
be used for a variety of front-ends (terminal-based, CGI and so on). The primary front-end is <i> |
are simple, fast libraries operating on memory buffers, so they may be used for a variety of front-ends |
mandoc</i>, which formats manuals for display on the terminal. |
(terminal-based, CGI and so on). The front-end is <A HREF="mandoc.1.html">mandoc</A>, which formats |
|
manuals for display. |
</P> |
</P> |
|
|
<P> |
<P> |
The <SPAN CLASS="nm">mdocml</SPAN> utility is a <A CLASS="external" HREF="http://bsd.lv/">BSD.lv |
The <SPAN CLASS="nm">mdocml</SPAN> suite is a <A CLASS="external" HREF="http://bsd.lv/">BSD.lv |
Project</A> member. |
Project</A> member. |
</P> |
</P> |
</TD> |
</TD> |
|
|
<TR> |
<TR> |
<TD> |
<TD> |
<H1> |
<H1> |
SOURCES |
<A NAME="sources">SOURCES</A> |
</H1> |
</H1> |
|
|
<P> |
<P> |
Sources correctly build and install on DragonFly BSD, FreeBSD, OpenBSD, NetBSD, and GNU/Linux operating |
Sources correctly build and install on DragonFly BSD, FreeBSD, OpenBSD, NetBSD, GNU/Linux, and many |
systems, tested variously on i386, AMD64, alpha, and others. The most current version is <SPAN |
other operating systems, tested variously on i386, AMD64, alpha, and others. The most current version |
CLASS="attn">@VERSION@</SPAN>, dated <SPAN class="attn">@VDATE@</SPAN>. A full <A |
is <SPAN CLASS="attn">@VERSION@</SPAN>, dated <SPAN class="attn">@VDATE@</SPAN>. A full <A |
HREF="ChangeLog.html">ChangeLog</A> (<A HREF="ChangeLog.txt">txt</A>) is written with each release. |
HREF="ChangeLog.html">ChangeLog</A> (<A HREF="ChangeLog.txt">txt</A>) is written with each release. |
</P> |
</P> |
|
|
|
|
<TR> |
<TR> |
<TD>Online source</TD> |
<TD>Online source</TD> |
<TD> |
<TD> |
<A CLASS="external" HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/?cvsroot=mdocml">cvsweb</A> |
<A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/?cvsroot=mdocml">cvsweb</A> |
</TD> |
</TD> |
</TR> |
</TR> |
</TBODY> |
</TBODY> |
|
|
<TR> |
<TR> |
<TD> |
<TD> |
<H1> |
<H1> |
DOCUMENTATION |
<A NAME="documentation">DOCUMENTATION</A> |
</H1> |
</H1> |
|
|
<P> |
<P> |
|
|
<COL> |
<COL> |
<TBODY> |
<TBODY> |
<TR> |
<TR> |
<TD><A HREF="mandoc.1.html">mandoc(1)</A> (<A HREF="mandoc.1.txt">text</A>)</TD> |
<TD VALIGN="top"><A HREF="man.3.html">man(3)</A></TD> |
<TD>format and display UNIX manuals</TD> |
<TD VALIGN="top"> |
|
man macro compiler library |
|
<DIV STYLE="font-size: smaller;"> |
|
<A HREF="man.3.txt">text</A> | <A HREF="man.3.ps">postscript</A> |
|
</DIV> |
|
</TD> |
</TR> |
</TR> |
<TR> |
<TR> |
<TD><A HREF="mandoc_char.7.html">mandoc_char(7)</A> (<A HREF="mandoc_char.7.txt">text</A>)</TD> |
<TD VALIGN="top"><A HREF="man.7.html">man(7)</A></TD> |
<TD>mandoc special characters</TD> |
<TD VALIGN="top"> |
|
man language reference |
|
<DIV STYLE="font-size: smaller;"> |
|
<A HREF="man.7.txt">text</A> | <A HREF="man.7.ps">postscript</A> |
|
</DIV> |
|
</TD> |
</TR> |
</TR> |
<TR> |
<TR> |
<TD><A HREF="mdoc.7.html">mdoc(7)</A> (<A HREF="mdoc.7.txt">text</A>)</TD> |
<TD VALIGN="top"><A HREF="mandoc.1.html">mandoc(1)</A></TD> |
<TD>mdoc language reference</TD> |
<TD VALIGN="top"> |
|
format and display UNIX manuals |
|
<DIV STYLE="font-size: smaller;"> |
|
<A HREF="mandoc.1.txt">text</A> | <A HREF="mandoc.1.ps">postscript</A> |
|
</DIV> |
|
</TD> |
</TR> |
</TR> |
<TR> |
<TR> |
<TD><A HREF="man.7.html">man(7)</A> (<A HREF="man.7.txt">text</A>)</TD> |
<TD VALIGN="top"><A HREF="mandoc_char.7.html">mandoc_char(7)</A></TD> |
<TD>man language reference</TD> |
<TD VALIGN="top"> |
|
mandoc special characters |
|
<DIV STYLE="font-size: smaller;"> |
|
<A HREF="mandoc_char.7.txt">text</A> | <A HREF="mandoc_char.7.ps">postscript</A> |
|
</DIV> |
|
</TD> |
</TR> |
</TR> |
<TR> |
<TR> |
<TD><A HREF="manuals.7.html">manuals(7)</A> (<A HREF="manuals.7.txt">text</A>)</TD> |
<TD VALIGN="top"><A HREF="mdoc.3.html">mdoc(3)</A></TD> |
<TD>a guide to writing UNIX manuals</TD> |
<TD VALIGN="top"> |
|
mdoc macro compiler library |
|
<DIV STYLE="font-size: smaller;"> |
|
<A HREF="mdoc.3.txt">text</A> | <A HREF="mdoc.3.ps">postscript</A> |
|
</DIV> |
|
</TD> |
</TR> |
</TR> |
<TR> |
<TR> |
<TD><A HREF="mdoc.3.html">mdoc(3)</A> (<A HREF="mdoc.3.txt">text</A>)</TD> |
<TD VALIGN="top"><A HREF="mdoc.7.html">mdoc(7)</A></TD> |
<TD>mdoc macro compiler library</TD> |
<TD VALIGN="top"> |
|
mdoc language reference |
|
<DIV STYLE="font-size: smaller;"> |
|
<A HREF="mdoc.7.txt">text</A> | <A HREF="mdoc.7.ps">postscript</A> |
|
</DIV> |
|
</TD> |
</TR> |
</TR> |
<TR> |
<TR> |
<TD><A HREF="man.3.html">man(3)</A> (<A HREF="man.3.txt">text</A>)</TD> |
<TD VALIGN="top"><A HREF="roff.3.html">roff(3)</A></TD> |
<TD>man macro compiler library</TD> |
<TD VALIGN="top"> |
|
roff macro compiler library |
|
<DIV STYLE="font-size: smaller;"> |
|
<A HREF="roff.3.txt">text</A> | <A HREF="roff.3.ps">postscript</A> |
|
</DIV> |
|
</TD> |
</TR> |
</TR> |
|
<TR> |
|
<TD VALIGN="top"><A HREF="roff.7.html">roff(7)</A></TD> |
|
<TD VALIGN="top"> |
|
roff-mandoc language reference |
|
<DIV STYLE="font-size: smaller;"> |
|
<A HREF="roff.7.txt">text</A> | <A HREF="roff.7.ps">postscript</A> |
|
</DIV> |
|
</TD> |
|
</TR> |
</TBODY> |
</TBODY> |
</TABLE> |
</TABLE> |
|
|
|
<P> |
|
See <Q><A CLASS="external" HREF="http://manpages.bsd.lv">Writing UNIX Manual Pages</A></Q> for a general |
|
introduction to manpages and mdoc. |
|
</P> |
</TD> |
</TD> |
</TR> |
</TR> |
<TR> |
<TR> |
<TD> |
<TD> |
<H1> |
<H1> |
CONTACT |
<A NAME="contact">CONTACT</A> |
</H1> |
</H1> |
|
|
<P> |
<P> |
|
|
|
|
<P> |
<P> |
You may also subscribe to several mailing lists (these require subscription, which is moderated). An |
You may also subscribe to several mailing lists (these require subscription, which is moderated). An |
archive is not yet available. |
archive is not yet available on-line, although you may request one once subscribed. |
</P> |
</P> |
|
|
<TABLE WIDTH="100%" SUMMARY="Mailing Lists"> |
<TABLE WIDTH="100%" SUMMARY="Mailing Lists"> |
|
|
<TR> |
<TR> |
<TD> |
<TD> |
disc<A CLASS="external" TITLE="Reveal this e-mail address" |
disc<A CLASS="external" TITLE="Reveal this e-mail address" |
HREF="http://www.google.com/recaptcha/mailhide/d?k=01KQ80PFH5n3BBNpF5Gs4sRg==&c=EV1QytpQqTHSItc2IXvZyocgYLPnG5K0JKw_gwMC9yc=">...</a>@mdocml.bsd.lv |
HREF="http://www.google.com/recaptcha/mailhide/d?k=01KQ80PFH5n3BBNpF5Gs4sRg==&c=EV1QytpQqTHSItc2IXvZyocgYLPnG5K0JKw_gwMC9yc=">...</A>@mdocml.bsd.lv |
</TD> |
</TD> |
<TD>discussions and announcements</TD> |
<TD>high-level discussions and version announcements</TD> |
</TR> |
</TR> |
<TR> |
<TR> |
<TD> |
<TD> |
|
tec<A CLASS="external" TITLE="Reveal this e-mail address" |
|
HREF="http://www.google.com/recaptcha/mailhide/d?k=01qDX_iV0RlUOarEvb6mR28g==&c=gRXsTjza0NNCFPaYu-Taj2tF0pmYZSc90EZkFkhkxgo=">...</A>@mdocml.bsd.lv |
|
</TD> |
|
<TD>low-level discussions</TD> |
|
</TR> |
|
<TR> |
|
<TD> |
sou<A CLASS="external" TITLE="Reveal this e-mail address" |
sou<A CLASS="external" TITLE="Reveal this e-mail address" |
HREF="http://www.google.com/recaptcha/mailhide/d?k=01prQrAZhhl2EbIwVcRfABsQ==&c=KtTW4Yic9xk-8g40KzJoca4fR3MYXv28g8NC6OQV-T8=">...</a>@mdocml.bsd.lv |
HREF="http://www.google.com/recaptcha/mailhide/d?k=01prQrAZhhl2EbIwVcRfABsQ==&c=KtTW4Yic9xk-8g40KzJoca4fR3MYXv28g8NC6OQV-T8=">...</A>@mdocml.bsd.lv |
</TD> |
</TD> |
<TD>source commit messages</TD> |
<TD>source commit messages</TD> |
</TR> |
</TR> |
|
|
<TR> |
<TR> |
<TD> |
<TD> |
<H1> |
<H1> |
NEWS |
<A NAME="news">NEWS</A> |
</H1> |
</H1> |
|
<DIV CLASS="news"> |
<TABLE WIDTH="100%" CELLPADDING="2"> |
<P> |
<COL CLASS="date"> |
<SPAN CLASS="date">19-06-2010</SPAN>: |
<TBODY> |
version 1.10.2 |
<TR> |
</P> |
<TD VALIGN="top"><SPAN CLASS="date">13-05-2010</SPAN></TD> |
<P> |
<TD VALIGN="top"> |
Small release featuring text-decoration in <SPAN CLASS="flag">-Tps</SPAN> output, a few |
Fixed handling of <Q>\*(Ba</Q> escape. Backed out <SPAN |
minor relaxations of errors, and some optimisations. |
CLASS="flag">-fno-ign-chars</SPAN> (pointless complexity). Fixed erroneous |
</P> |
breaking of literal lines. Fixed SYNOPSIS breaking lines before non-initial |
</DIV> |
macros. Changed default section ordering. Most importantly, the framework for |
<DIV CLASS="news"> |
end-of-sentence double-spacing is in place, now implemented for the |
<P> |
<Q>end-of-sentence, end-of-line</Q> rule. This is a stable roll-back point |
<SPAN CLASS="date">07-06-2010</SPAN>: |
before the mandoc hackathon in Rostock! |
version 1.10.1 |
Version: <SPAN CLASS="rev">1.9.25</SPAN>. |
</P> |
</TR> |
<P> |
<TR> |
This primarily focusses on the <Q>Bl</Q> and <Q>It</Q> macros described in <A |
<TD VALIGN="top"><SPAN CLASS="date">09-05-2010</SPAN></TD> |
HREF="mdoc.7.html">mdoc</A>. Multi-line column support is now fully compatible with |
<TD VALIGN="top"> |
groff, as are implicit list entries for columns. Removed manuals.7 in favour of <A |
Rolled back break-at-hyphen. <SPAN CLASS="flag">-DUGLY</SPAN> is now the |
CLASS="external" HREF="http://manpages.bsd.lv">http://manpages.bsd.lv</A>. The way we |
default (no feature splits!). Free-form text is not de-chunked any more: lines |
handle the SYNOPSIS section (see the SYNOPSIS documentation in <A |
are passed whole-sale into the front-end, including whitespace. Added mailing |
HREF="mdoc.7.html#x4d414e55414cx20x535452554354555245">MANUAL STRUCTURE</A>) has also |
lists. Lastly, <SPAN CLASS="nm">mdocml</SPAN> is the focus of two <A |
been considerably simplified compared to groff's method. Furthermore, the <SPAN |
CLASS="external" HREF="http://socghop.appspot.com/">Google Summer of Code</A> |
CLASS="flag">-Owidth=width</SPAN> output option has been added to <SPAN |
projects this year: <Q><A CLASS="external" |
CLASS="flag">-Tascii</SPAN> (see <A HREF="mandoc.1.html">mandoc</A>). Lastly, initial |
HREF="http://netbsd-soc.sourceforge.net/projects/mandoc_ps/">mandoc -Tps</A></Q> |
PostScript output has been added with the <SPAN CLASS="flag">-Tps</SPAN> option to <A |
(NetBSD) and <Q><A CLASS="external" |
HREF="mandoc.1.html">mandoc</A>. It's brutally simple at the moment: fixed-font, with |
HREF="http://wiki.freebsd.org/SummerOfCode2010Projects">BSD-licensed |
no font decorations. |
Text-Processing Tools</A></Q> (FreeBSD). |
</P> |
Version: <SPAN CLASS="rev">1.9.24</SPAN>. |
</DIV> |
</TD> |
<DIV CLASS="news"> |
</TR> |
<P> |
|
<SPAN CLASS="date">29-05-2010</SPAN>: |
<TR> |
version 1.10.0 |
<TD VALIGN="top"><SPAN CLASS="date">07-04-2010</SPAN></TD> |
</P> |
<TD VALIGN="top"> |
<P> |
<SPAN CLASS="nm">mdocml</SPAN> has been linked to the <A CLASS="external" |
Release consisting of the results from the m2k10 hackathon and up-merge from OpenBSD. |
HREF="http://www.openbsd.org/faq/current.html#20100403">OpenBSD build</a>. This |
This requires a significant note of thanks to Ingo Schwarze (OpenBSD) and Joerg |
version incorporates many small changes, mostly from patches by OpenBSD, |
Sonnenberger (NetBSD) for their hard work, and again to Joerg for hosting m2k10. |
allowing crufty manuals to slip by with warnings instead of erroring-out. Some |
Highlights (mostly cribbed from Ingo's m2k10 report) follow in no particular order: |
subtle semantic issues, such as punctuation scope, have also been fixed. |
</P> |
Lastly, some issues with <SPAN CLASS="flag">-Thtml</SPAN> have been fixed, which |
<UL> |
prompted an update to the <A HREF="mandoc.1.html">online</A> <A |
<LI>a <A HREF="roff.3.html">libroff</A> preprocessor in front of <A |
HREF="mandoc_char.7.html">manual</A> <A HREF="man.7.html">pages</A> style |
HREF="mdoc.3.html">libmdoc</A> and <A HREF="man.3.html">libman</A> stripping out |
layout. Version: <SPAN CLASS="rev">1.9.23</SPAN>. |
<A HREF="roff.7.html">roff</A> instructions;</LI> |
</TD> |
<LI>end-of-sentence (EOS) detection in free-form and macro lines;</LI> |
</TR> |
<LI>correct handling of tab-separated columnar lists in <SPAN |
<TR> |
CLASS="flag">-mdoc</SPAN>;</LI> |
<TD VALIGN="top"><SPAN CLASS="date">31-03-2010</SPAN></TD> |
<LI>improved main calling routines to optionally use mmap() for better |
<TD VALIGN="top"> |
performance;</LI> |
Version <SPAN CLASS="rev">1.9.22</SPAN>: adjusted merge of the significant work |
<LI>cleaned up exiting when invoked as <SPAN CLASS="flag">-Tlint</SPAN> or over |
by Ingo Schwarze in getting <Q>Xo</Q> blocks (block full implicit, e.g., |
multiple files with <SPAN CLASS="flag">-fign-errors</SPAN>;</LI> |
<Q>It</Q> for non-columnar lists) to work properly. This isn't enabled by |
<LI>error and warning message handling re-written to be unified for <A |
default: you must specify <SPAN CLASS="flag">-DUGLY</SPAN> as a compiler flag |
HREF="roff.3.html">libroff</A>, <A HREF="mdoc.3.html">libmdoc</A>, and <A |
(see the Makefile for details). |
HREF="man.3.html">libman</A>;</LI> |
</TD> |
<LI>handling of badly-nested explicit-scoped macros;</LI> |
</TR> |
<LI>improved free-form text parsing in <A HREF="man.3.html">libman</A> and <A |
<TR> |
HREF="mdoc.3.html">libmdoc</A>;</LI> |
<TD VALIGN="top"><SPAN CLASS="date">30-03-2010</SPAN></TD> |
<LI>significant GNU troff compatibility improvements in <SPAN |
<TD VALIGN="top"> |
CLASS="flag">-Tascii</SPAN>, largely in terms of spacing;</LI> |
Version <SPAN CLASS="rev">1.9.20</SPAN>: more efforts to get roff instructions |
<LI>a regression framework for making sure the many fragilities of GNU troff |
in -man documents under control. Note that roff instructions embedded in |
aren't trampled in subsequent work;</LI> |
line-scoped, next-line macros (e.g. <Q>B</Q>) are not supported. Leading |
<LI>support for <SPAN CLASS="flag">-Tascii</SPAN> breaking at hyphens |
punctuation for -mdoc macros, such as <Q>Fl ( ( a</Q>, are now correctly |
encountered in free-form text;</LI> |
handled. |
<LI>and many more minor fixes and improvements (no really, consult <A |
</TD> |
HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/?cvsroot=mdocml">cvsweb</A> and see |
</TR> |
for yourself!).</LI> |
<TR> |
</UL> |
<TD VALIGN="top"><SPAN CLASS="date">27-03-2010</SPAN></TD> |
</DIV> |
<TD VALIGN="top"> |
<DIV CLASS="news"> |
Version <SPAN CLASS="rev">1.9.18</SPAN>: many fixes (largely pertaining to |
<P> |
scope) and improvements (e.g., handling of apostrophe-control macros, which |
<SPAN CLASS="date">13-05-2010</SPAN>: |
fixes the strange <Q>BR</Q> seen in some macro output) to handling roff |
version 1.9.25 |
instructions in -man documents. |
</P> |
</TD> |
<P> |
</TR> |
Fixed handling of <Q>\*(Ba</Q> escape. Backed out <SPAN |
<TR> |
CLASS="flag">-fno-ign-chars</SPAN> (pointless complexity). Fixed erroneous |
<TD VALIGN="top"><SPAN CLASS="date">25-03-2010</SPAN></TD> |
breaking of literal lines. Fixed SYNOPSIS breaking lines before non-initial |
<TD VALIGN="top"> |
macros. Changed default section ordering. Most importantly, the framework for |
Version <SPAN CLASS="rev">1.9.17</SPAN> highlights: accept <A |
end-of-sentence double-spacing is in place, now implemented for the |
HREF="http://perldoc.perl.org/" CLASS="external">perlpod</A> standard preamble. |
<Q>end-of-sentence, end-of-line</Q> rule. This is a stable roll-back point |
Also accept (and discard) <Q>de</Q>, <Q>dei</Q>, <Q>am</Q>, <Q>ami</Q>, and |
before the mandoc hackathon in Rostock! |
<Q>ig</Q> roff macro blocks. |
</P> |
</TD> |
</DIV> |
</TR> |
<DIV CLASS="news"> |
<TR> |
<P> |
<TD VALIGN="top"><SPAN CLASS="date">22-03-2010</SPAN></TD> |
<SPAN CLASS="date">09-05-2010</SPAN>: |
<TD VALIGN="top"> |
version 1.9.24 |
Version <SPAN CLASS="rev">1.9.16</SPAN> highlights: inspired by patches and bug |
</P> |
reports by Ingo Schwarze, allowed <SPAN CLASS="flag">-man</SPAN> to accept |
<P> |
non-printing elements to be nested within next-line scopes, such as <Q>br</Q> |
Rolled back break-at-hyphen. <SPAN CLASS="flag">-DUGLY</SPAN> is now the |
within <Q>B</Q> or <Q>TH</Q>, which is valid roff. Longsoon architecture also |
default (no feature splits!). Free-form text is not de-chunked any more: lines |
noted and Makefile cleaned up. |
are passed whole-sale into the front-end, including whitespace. Added mailing |
</TD> |
lists. Lastly, <SPAN CLASS="nm">mdocml</SPAN> is the focus of two <A |
</TR> |
CLASS="external" HREF="http://socghop.appspot.com/">Google Summer of Code</A> |
<TR> |
projects this year: <Q><A CLASS="external" |
<TD VALIGN="top"><SPAN CLASS="date">18-02-2010</SPAN></TD> |
HREF="http://netbsd-soc.sourceforge.net/projects/mandoc_ps/">mandoc -Tps</A></Q> |
<TD VALIGN="top"> |
(NetBSD) and <Q><A CLASS="external" |
Moved to our new <A HREF="http://bsd.lv" CLASS="external">BSD.lv</A> home. |
HREF="http://wiki.freebsd.org/SummerOfCode2010Projects">BSD-licensed |
Version <SPAN CLASS="rev">1.9.15</SPAN> highlights: XHTML is now an acceptable |
Text-Processing Tools</A></Q> (FreeBSD). |
output mode for <A HREF="mandoc.1.html">mandoc(1)</A>; <Q>Xr</Q> made more |
</P> |
compatible with groff; <Q>Vt</Q> fixed when invoked in SYNOPSIS; <Q>\\</Q> |
</DIV> |
escape removed; end-of-line white-space detected for all lines; subtle bug |
<P> |
fixed in list display for some modes; compatibility layer checked in for |
See <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/index.sgml?cvsroot=mdocml">cvsweb</A> for |
compilation in diverse UNIX systems; and column lengths handled correctly. |
historical notes. |
</TD> |
</P> |
</TR> |
|
</TBODY> |
|
</TABLE> |
|
</TD> |
</TD> |
</TR> |
</TR> |
<TR> |
<TR> |