[BACK]Return to index.sgml CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/Attic/index.sgml between version 1.2 and 1.115

version 1.2, 2009/02/23 15:38:20 version 1.115, 2011/05/13 00:42:26
Line 1 
Line 1 
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html>  <HTML>
         <head>          <HEAD>
                 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">                  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
                 <meta name="resource-type" content="document">                  <LINK REL="stylesheet" HREF="index.css" TYPE="text/css" MEDIA="all">
                 <link rel="stylesheet" href="style.css" type="text/css" media="all">                  <TITLE>mdocml | mdoc macro compiler</TITLE>
                 <title>mdocml.bsd.lv</title>          </HEAD>
         </head>          <BODY>
         <body>                  <P CLASS="head">
         <table width="600">                          <B>mdocml</B> &#8211; mdoc macro compiler
                 <col width="100%">                  </P>
                 <tbody>  
                         <tr>  
                                 <td>  
                                         <div class="head">  
                                                 <b>mdocml</b> &#8211; mdoc macro compiler  
                                         </div>  
                                 </td>  
                         </tr>  
                         <tr>  
                                 <td valign="top">  
                                         <h1>  
                                         DESCRIPTION  
                                         </h1>  
   
                                         <p>                  <H1>
                                         <span class="nm">mdocml</span> is a suite of tools that compile &#8220;mdoc&#8221;, the roff macro                          <A NAME="description">DESCRIPTION</A>
                                         package of the BSD manual pages.  The mission of <span class="nm">mdocml</span> is to deprecate <a                  </H1>
                                         href="http://www.gnu.org/software/groff/" class="external">groff</a>, the GNU roff implementation, for  
                                         displaying BSD mdoc pages.  groff amounts to over 60 000 lines of GPL C++ source, which is a  
                                         considerable encumbrance to BSD operating system.  
                                         </p>  
   
                                         <p>                  <P>
                                         The core of <span class="nm">mdocml</span> is the libmdoc library, a validating scanner-parser producing                          <SPAN CLASS="nm">mdocml</SPAN> is a suite of tools compiling <I><A HREF="mdoc.7.html">mdoc</A></I>, the roff macro
                                         intermediate-form output from mdoc input.  libmdoc is a simple, fast library operating on memory buffers                          package of choice for BSD manual pages, and <I><A HREF="man.7.html">man</A></I>, the predominant historical package for
                                         of mdoc input.  Its intermediate output, an abstract syntax tree, is fully documented in the <span                          UNIX manuals.  The mission of <SPAN CLASS="nm">mdocml</SPAN> is to deprecate <A
                                         class="man">mdoc(3)</span> reference manual.                          HREF="http://www.gnu.org/software/groff/" CLASS="external">groff</A>, the GNU troff implementation, for displaying <I>mdoc</I>
                                         </p>                          pages whilst providing token support for <I>man</I>.
                   </P>
   
                                         <p>                  <P>
                                         There are three utilities implementing <span class="man">mdoc(3)</span>:                          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
                                         </p>                          uncertain output, and varies in operation from system to system.  mdocml strives to fix this (respectively small, C, <A
                           CLASS="external" HREF="http://www.isc.org/software/license">ISC</A>-licensed, fast and regular).
                   </P>
   
                                         <ul>                  <P>
                                         <li><span class="man">mdocterm(1)</span> &#8211; formats mdoc input for display on the terminal                          <SPAN CLASS="nm">mdocml</SPAN> consists of the <A HREF="mandoc.3.html">libmandoc</A> validating compiler and <A
                                         <li><span class="man">mdochtml(1)</span> &#8211; formats mdoc input as strict HTML (nascent)                          HREF="mandoc.1.html">mandoc</A>, which interfaces with the compiler library to format output for UNIX terminals, XHTML,
                                         <li><span class="man">mdoclint(1)</span> &#8211; validates mdoc input                          HTML, PostScript, and PDF.  It is a <A CLASS="external" HREF="http://bsd.lv/">BSD.lv</A> project.
                                         <li><span class="man">mdoctree(1)</span> &#8211; prints input abstract syntax tree                  </P>
                                         </ul>  
   
                                         <p>                  <P>
                                         The <span class="man">mdocterm(1)</span> utility is intended to deprecate usage of <a                          <I>Disambiguation</I>: <SPAN CLASS="nm">mdocml</SPAN> is often referred to by its installed binary, <Q>mandoc</Q>.
                                         href="http://www.gnu.org/software/groff/" class="external">groff</a> for displaying BSD manuals to the                  </P>
                                         terminal, either directly or cached as a &#8220;catman&#8221; page.  
                                         </p>  
   
                                         <p>                  <H1>
                                         <span class="attn">Please submit patches!</span> Although a significant implementation exists, work                          <A NAME="sources">SOURCES</A>
                                         remains for the backend library and especially the front-end utilities.  See the <a                  </H1>
                                         href="#contact">contact</a> information below to submit patches and bug reports.  
                                         </p>  
                                 </td>  
                         </tr>  
                         <tr>  
                                 <td>  
                                         <h1>  
                                         INSTALLING SOURCES  
                                         </h1>  
   
                                         <p>                  <P>
                                         Sources correctly build and install on OpenBSD, NetBSD and Linux operating systems, tested variously on                          <SPAN CLASS="nm">mdocml</SPAN> is in plain-old ANSI C and should build and run on any UNIX system.  The most current
                                         i386, AMD64 and Alpha.                          version is <SPAN CLASS="attn">@VERSION@</SPAN>, dated <SPAN class="attn">@VDATE@</SPAN>.  If your system doesn't come
                                         </p>                          with <SPAN CLASS="nm">mdocml</SPAN> (see <Q>Downstream</Q>), run <CODE>make</CODE> to compile and <CODE>make
                           install</CODE> to install into <I>/usr/local</I>.
                   </P>
                   <P>
                           Note that <A HREF="makewhatis.1.html">makewhatis</A> is not yet linked to the build.  You must run <CODE>make
                           makewhatis</CODE> to build it.
                   </P>
   
                                         <h2>                  <H2>
                                         nightly source                          Current
                                         </h2>                  </H2>
   
                                         <p>                  <TABLE WIDTH="100%" SUMMARY="Current Sources">
                                         CVS sources are checkedout and snapshotted nightly.  These may be found in the <a                          <COL WIDTH="175">
                                         href="/snapshots/">/snapshots/</a> directory.                          <COL>
                                         </p>                          <TBODY>
                                   <TR>
                                           <TD>Source archive</TD>
                                           <TD>
                                           <A HREF="/snapshots/mdocml.tar.gz">/snapshots/mdocml.tar.gz</A>
                                           (<A HREF="/snapshots/mdocml.md5">md5</A>)
                                           </TD>
                                   </TR>
                                   <TR>
                                           <TD>Online source</TD>
                                           <TD>
                                           <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/?cvsroot=mdocml">cvsweb</A>
                                           </TD>
                                   </TR>
                           </TBODY>
                   </TABLE>
   
                                         <p class="boxed">                  <H2>
                                         % cd /tmp<br>                          Downstream
                                         % ftp -V -o- http://mdocml.bsd.lv/snapshots/mdocml.tgz | tar -zxf -<br>                  </H2>
                                         % cd mdocml<br>  
                                         % make<br>  
                                         % make regress<br>  
                                         % make install  
                                         </p>  
   
                                         <h2>                  <TABLE WIDTH="100%" SUMMARY="Downstream Sources">
                                         nightly port                          <COL WIDTH="175">
                                         </h2>                          <COL>
                           <TBODY>
                                   <TR>
                                           <TD>DragonFly BSD</TD>
                                           <TD>
                                           <A HREF="http://gitweb.dragonflybsd.org/dragonfly.git/tree/HEAD:/usr.bin/mandoc"
                                                   CLASS="external">usr.bin/mandoc</A>
                                           </TD>
                                   </TR>
                                   <TR>
                                           <TD>FreeBSD</TD>
                                           <TD>
                                           <A HREF="http://www.freebsd.org/cgi/cvsweb.cgi/ports/textproc/mdocml/"
                                                   CLASS="external">ports/textproc/mdocml</A>
                                           </TD>
                                   </TR>
                                   <TR>
                                           <TD>NetBSD</TD>
                                           <TD>
                                           <A HREF="http://cvsweb.netbsd.org/bsdweb.cgi/src/external/bsd/mdocml/"
                                                   CLASS="external">src/external/bsd/mdocml</A>
                                           </TD>
                                   </TR>
                                   <TR>
                                           <TD>OpenBSD</TD>
                                           <TD>
                                           <A HREF="http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/mandoc/"
                                                   CLASS="external">src/usr.bin/mandoc</A>
                                           </TD>
                                   </TR>
                           </TBODY>
                   </TABLE>
   
                                         <p>                  <H2>
                                         The nightly snapshot is automatically converted into an OpenBSD port (ports for other BSD systems not                          Historical
                                         yet available).  These may be found in the <a href="/ports-openbsd/">/ports-openbsd/</a> directory.                  </H2>
                                         </p>  
   
                                         <p>                  <TABLE WIDTH="100%" SUMMARY="Archived Sources">
                                         If installing for the first time:                          <COL WIDTH="175">
                                         </p>                          <COL>
                           <TBODY>
                                   <TR>
                                           <TD>Source archive</TD>
                                           <TD>
                                           <A HREF="/snapshots/">/snapshots/</A>
                                           </TD>
                                   </TR>
                           </TBODY>
                   </TABLE>
   
                                         <p class="boxed">                  <H1>
                                         % ftp -V -o- http://mdocml.bsd.lv/ports-openbsd/mdocml.tgz | tar -zxf -<br>                          <A NAME="documentation">DOCUMENTATION</A>
                                         % cd mdocml<br>                  </H1>
                                         % sudo make<br>  
                                         % sudo make install  
                                         </p>  
   
                                         <p>                  <P>
                                         Subsequent installations:                          These manuals are generated automatically and refer to the current snapshot.
                                         </p>                  </P>
   
                                         <p class="boxed">                  <TABLE WIDTH="100%" SUMMARY="Documentation">
                                         % sudo pkg_add -r mdocml                          <COL WIDTH="175">
                                         </p>                          <COL>
                                 </td>                          <TBODY>
                         </tr>                                  <TR>
                         <tr>                                          <TD VALIGN="top"><A HREF="mandoc.1.html">mandoc(1)</A></TD>
                                 <td>                                          <TD VALIGN="top">
                                         <h1>                                                  format and display UNIX manuals
                                         CONTACT                                                  <SMALL>
                                         </h1>                                                          (<A HREF="mandoc.1.txt">text</A> |
                                                           <A HREF="mandoc.1.xhtml">xhtml</A> |
                                                           <A HREF="mandoc.1.pdf">pdf</A> |
                                                           <A HREF="mandoc.1.ps">postscript</A>)
                                                   </SMALL>
                                           </TD>
                                   </TR>
                                   <TR>
                                           <TD VALIGN="top"><A HREF="mandoc.1.html">makewhatis(1)</A></TD>
                                           <TD VALIGN="top">
                                                   index UNIX manuals
                                                   <SMALL>
                                                           (<A HREF="makewhatis.1.txt">text</A> |
                                                           <A HREF="makewhatis.1.xhtml">xhtml</A> |
                                                           <A HREF="makewhatis.1.pdf">pdf</A> |
                                                           <A HREF="makewhatis.1.ps">postscript</A>)
                                                   </SMALL>
                                           </TD>
                                   </TR>
                                   <TR>
                                           <TD VALIGN="top"><A HREF="mandoc.3.html">mandoc(3)</A></TD>
                                           <TD VALIGN="top">
                                                   mandoc macro compiler library
                                                   <SMALL>
                                                           (<A HREF="mandoc.3.txt">text</A> |
                                                           <A HREF="mandoc.3.xhtml">xhtml</A> |
                                                           <A HREF="mandoc.3.pdf">pdf</A> |
                                                           <A HREF="mandoc.3.ps">postscript</A>)
                                                   </SMALL>
                                           </TD>
                                   </TR>
                                   <TR>
                                           <TD VALIGN="top"><A HREF="man.7.html">man(7)</A></TD>
                                           <TD VALIGN="top">
                                                   man language reference
                                                   <SMALL>
                                                           (<A HREF="man.7.txt">text</A> |
                                                           <A HREF="man.7.xhtml">xhtml</A> |
                                                           <A HREF="man.7.pdf">pdf</A> |
                                                           <A HREF="man.7.ps">postscript</A>)
                                                   </SMALL>
                                           </TD>
                                   </TR>
                                   <TR>
                                           <TD VALIGN="top"><A HREF="eqn.7.html">eqn(7)</A></TD>
                                           <TD VALIGN="top">
                                                   eqn-mandoc language reference
                                                   <SMALL>
                                                           (<A HREF="eqn.7.txt">text</A> |
                                                           <A HREF="eqn.7.xhtml">xhtml</A> |
                                                           <A HREF="eqn.7.pdf">pdf</A> |
                                                           <A HREF="eqn.7.ps">postscript</A>)
                                                   </SMALL>
                                           </TD>
                                   </TR>
                                   <TR>
                                           <TD VALIGN="top"><A HREF="mandoc_char.7.html">mandoc_char(7)</A></TD>
                                           <TD VALIGN="top">
                                                   mandoc special characters
                                                   <SMALL>
                                                           (<A HREF="mandoc_char.7.txt">text</A> |
                                                           <A HREF="mandoc_char.7.xhtml">xhtml</A> |
                                                           <A HREF="mandoc_char.7.pdf">pdf</A> |
                                                           <A HREF="mandoc_char.7.ps">postscript</A>)
                                                   </SMALL>
                                           </TD>
                                   </TR>
                                   <TR>
                                           <TD VALIGN="top"><A HREF="mdoc.7.html">mdoc(7)</A></TD>
                                           <TD VALIGN="top">
                                                   mdoc language reference
                                                   <SMALL>
                                                           (<A HREF="mdoc.7.txt">text</A> |
                                                           <A HREF="mdoc.7.xhtml">xhtml</A> |
                                                           <A HREF="mdoc.7.pdf">pdf</A> |
                                                           <A HREF="mdoc.7.ps">postscript</A>)
                                                   </SMALL>
                                           </TD>
                                   </TR>
                                   <TR>
                                           <TD VALIGN="top"><A HREF="roff.7.html">roff(7)</A></TD>
                                           <TD VALIGN="top">
                                                   roff-mandoc language reference
                                                   <SMALL>
                                                           (<A HREF="roff.7.txt">text</A> |
                                                           <A HREF="roff.7.xhtml">xhtml</A> |
                                                           <A HREF="roff.7.pdf">pdf</A> |
                                                           <A HREF="roff.7.ps">postscript</A>)
                                                   </SMALL>
                                           </TD>
                                   </TR>
                                   <TR>
                                           <TD VALIGN="top"><A HREF="tbl.7.html">tbl(7)</A></TD>
                                           <TD VALIGN="top">
                                                   tbl-mandoc language reference
                                                   <SMALL>
                                                           (<A HREF="tbl.7.txt">text</A> |
                                                           <A HREF="tbl.7.xhtml">xhtml</A> |
                                                           <A HREF="tbl.7.pdf">pdf</A> |
                                                           <A HREF="tbl.7.ps">postscript</A>)
                                                   </SMALL>
                                           </TD>
                                   </TR>
                           </TBODY>
                   </TABLE>
   
                                         <p>                  <H1>
                                         Please contact Kristaps, kris<a class="external"                          <A NAME="contact">CONTACT</A>
                                         href="http://mailhide.recaptcha.net/d?k=01jt88xIsFONwVjHZmGpc4AQ==&amp;c=sb5E6ulipc-eTnpTVqI-BQ=="                  </H1>
                                         onclick="window.open('http://mailhide.recaptcha.net/d?k=01jt88xIsFONwVjHZmGpc4AQ==&amp;c=sb5E6ulipc-eTnpTVqI-BQ==',  
                                         '', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300'); return                  <P>
                                         false;" title="Reveal this e-mail address">...</a>@kth.se, with questions, bug reports, patches, and so on.                          Use the mailing lists for bug-reports, patches, questions, etc. (these require subscription).  Please check the
                                         </p>                          <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/TODO?cvsroot=mdocml">TODO</A> for known issues
                           before posting.  Beyond that, contact Kristaps at <A
                                         <p>                          HREF="http://mailhide.recaptcha.net/d?k=01M6h_w7twDp58ZgH57eWC_w==&amp;c=Q2DBUt401ePlSeupJFrq_Q==" TITLE="Reveal
                                         If you'd like to submit patches, please contact us beforehand in case larger changes are pending but not                          this e-mail address">kris...</A>@bsd.lv.
                                         checked in.  If making a bug report, please make sure it's repeatable on the most current snapshot.                  </P>
                                         </p>  
                                 </td>                  <TABLE WIDTH="100%" SUMMARY="Mailing Lists">
                         </tr>                          <COL WIDTH="175">
                         <tr>                          <COL>
                                 <td>                          <TBODY>
                                         <div class="foot">                                  <TR>
                                                 Copyright &#169; 2009 Kristaps D&#382;onsons, $Date$                                          <TD>
                                         </div>                                                  disc<A CLASS="external" TITLE="Reveal this e-mail address"
                                 </td>                                                  HREF="http://www.google.com/recaptcha/mailhide/d?k=01KQ80PFH5n3BBNpF5Gs4sRg==&amp;c=EV1QytpQqTHSItc2IXvZyocgYLPnG5K0JKw_gwMC9yc=">...</A>@mdocml.bsd.lv
                         </tr>                                          </TD>
                 </tbody>                                          <TD>
         </table>                                                  bug-reports, general questions, and announcements
         </body>                                                  <SMALL>(<A HREF="/archives/discuss/summary.html">archive</A>)</SMALL>
 </html>                                          </TD>
                                   </TR>
                                   <TR>
                                           <TD>
                                                   tec<A CLASS="external" TITLE="Reveal this e-mail address"
                                                   HREF="http://www.google.com/recaptcha/mailhide/d?k=01qDX_iV0RlUOarEvb6mR28g==&amp;c=gRXsTjza0NNCFPaYu-Taj2tF0pmYZSc90EZkFkhkxgo=">...</A>@mdocml.bsd.lv
                                           </TD>
                                           <TD>
                                                   patches and system discussions
                                                   <SMALL>(<A HREF="/archives/tech/summary.html">archive</A>)</SMALL>
                                           </TD>
                                   </TR>
                                   <TR>
                                           <TD>
                                                   sou<A CLASS="external" TITLE="Reveal this e-mail address"
                                                   HREF="http://www.google.com/recaptcha/mailhide/d?k=01prQrAZhhl2EbIwVcRfABsQ==&amp;c=KtTW4Yic9xk-8g40KzJoca4fR3MYXv28g8NC6OQV-T8=">...</A>@mdocml.bsd.lv
                                           </TD>
                                           <TD>
                                                   source commit messages
                                                   <SMALL>(<A HREF="/archives/source/summary.html">archive</A>)</SMALL>
                                           </TD>
                                   </TR>
                           </TBODY>
                   </TABLE>
   
                   <H1>
                           <A NAME="news">NEWS</A>
                   </H1>
   
                   <P CLASS="news">
                           12-05-2011: version 1.11.2
                   </P>
                   <P>
                           Corrected some installation issues in version 1.11.1.
                           Initial public release (this utility is very much under development) of <A HREF="makewhatis.1.html">makewhatis</A>,
                           initially named mandoc-db.
                           This utility produces keyword databases of manual content
                           <A HREF="http://mdocml.bsd.lv/mandoc-cgi/index.html">mandoc-cgi</A>, which features semantic querying of manual content.
                   </P>
   
                   <P CLASS="news">
                           04-04-2011: version 1.11.1
                   </P>
                   <P>
                           The earlier <I>libroff</I>, <I>libmdoc</I>, and <I>libman</I> soup have been merged into
                           a single library, <A HREF="mandoc.3.html">libmandoc</A>, which manages all aspects of
                           parsing real manuals (from line-handling to <A HREF="tbl.7.html">tbl</A> parsing).
                   </P>
                   <P>
                           Beyond this structural change, initial <A HREF="eqn.7.html">eqn</A> functionality is in
                           place.  For the time being, this is limited to the recognition of equation blocks;
                           future version of <SPAN CLASS="nm">mdocml</SPAN> will expand upon this framework.
                   </P>
                   <P>
                           As usual, many general fixes and improvements have also occurred.  In particular, a great
                           deal of redundancy and superfluous code has been removed with the merging of the backend
                           libraries.
                   </P>
   
                   <P CLASS="news">
                           07-01-2011: version 1.10.9
                   </P>
                   <P>
                           Many back-end fixes have been implemented: argument handling (quoting), <A
                           HREF="man.7.html">man</A> improvements, error/warning classes, and many more.
                   </P>
                   <P>
                           Initial <A HREF="tbl.7.html">tbl</A> functionality (see the <Q>TS</Q>, <Q>TE</Q>, and
                           <Q>T&amp;</Q> macros in the <A HREF="roff.7.html#x5c265453">roff</A> manual) has been
                           merged from <A CLASS="external" HREF="http://tbl.bsd.lv">tbl.bsd.lv</A>.  Output is
                           still minimal, especially for <SPAN CLASS="flag">-Thtml</SPAN> and <SPAN
                           CLASS="flag">-Txhtml</SPAN>, but manages to at least display data.  This means that <A
                           HREF="mandoc.1.html">mandoc</A> now has built-in support for two troff preprocessors via
                           <DEL>libroff</DEL>: soelim and tbl.
                   </P>
   
                   <P CLASS="news">
                           24-12-2010: version 1.10.8
                   </P>
                   <P>
                           Significant improvements merged from <A CLASS="external"
                           HREF="http://www.openbsd.org">OpenBSD</A> downstream, including
                   </P>
                   <UL>
                           <LI>many new <A HREF="roff.7.html">roff</A> components,</LI>
                           <LI>in-line implementation of troff's soelim,</LI>
                           <LI>broken-block handling,</LI>
                           <LI>overhauled error classifications, and</LI>
                           <LI>cleaned up handling of error conditions.</LI>
                   </UL>
                   <P>
                           Also overhauled the <SPAN CLASS="flag">-Thtml</SPAN> and <SPAN
                           CLASS="flag">-Txhtml</SPAN> output modes.  They now display readable output in arbitrary
                           browsers, including text-based ones like <A CLASS="external"
                           HREF="http://lynx.isc.org">lynx</A>.  See HTML and XHTML manuals in the <A
                           HREF="#documentation">DOCUMENTATION</A> section for examples.  <SPAN
                           CLASS="attn">Attention: available style-sheet classes have been considerably
                           changed!</SPAN> See the <SPAN CLASS="file">example.style.css</SPAN> file for details.
                           Lastly, <DEL>libmdoc</DEL> and <DEL>libman</DEL> have been
                           cleaned up and reduced in size and complexity.
                   </P>
   
                   <P>
                           See <A HREF="http://mdocml.bsd.lv/cgi-bin/cvsweb/index.sgml?cvsroot=mdocml">cvsweb</A> for
                           historical notes.
                   </P>
   
                   <P CLASS="foot">
                           Copyright &#169; 2008&#8211;2011
                           <A CLASS="external" HREF="http://kristaps.bsd.lv">Kristaps Dzonsons</A>,
                           $Date$
                   </P>
           </BODY>
   </HTML>

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.115

CVSweb