Annotation of mandoc/index.sgml, Revision 1.10
1.1 kristaps 1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
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="style.css" type="text/css" media="all">
7: <title>mdocml.bsd.lv</title>
8: </head>
9: <body>
10: <table width="600">
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>
23: DESCRIPTION
24: </h1>
25:
26: <p>
1.9 kristaps 27: <span class="nm">mdocml</span> is a suite of tools compiling “mdoc”, the roff macro
28: package for BSD manual pages. The mission of <span class="nm">mdocml</span> is to deprecate <a
1.1 kristaps 29: href="http://www.gnu.org/software/groff/" class="external">groff</a>, the GNU roff implementation, for
1.9 kristaps 30: displaying BSD mdoc pages.
31: </p>
32:
33: <p>
34: Why? groff amounts to roughly 5,2 MB of source code (OpenBSD 4.2), some of which is C++ and all of
35: which is GPL. It runs slowly, produces uncertain output, and varies in operation from system
36: to system. mdocml strives to fix this (respectively small, C, ISC-licensed, fast and regular).
1.1 kristaps 37: </p>
38:
39: <p>
40: The core of <span class="nm">mdocml</span> is the libmdoc library, a validating scanner-parser producing
41: intermediate-form output from mdoc input. libmdoc is a simple, fast library operating on memory buffers
42: of mdoc input. Its intermediate output, an abstract syntax tree, is fully documented in the <span
43: class="man">mdoc(3)</span> reference manual.
44: </p>
45:
46: <p>
47: There are three utilities implementing <span class="man">mdoc(3)</span>:
48: </p>
49:
50: <ul>
51: <li><span class="man">mdocterm(1)</span> – formats mdoc input for display on the terminal
1.9 kristaps 52: <li><span class="man">mdochtml(1)</span> – formats mdoc input as HTML/CSS (nascent)
1.1 kristaps 53: <li><span class="man">mdoclint(1)</span> – validates mdoc input
54: <li><span class="man">mdoctree(1)</span> – prints input abstract syntax tree
55: </ul>
56:
57: <p>
58: The <span class="man">mdocterm(1)</span> utility is intended to deprecate usage of <a
59: href="http://www.gnu.org/software/groff/" class="external">groff</a> for displaying BSD manuals to the
60: terminal, either directly or cached as a “catman” page.
61: </p>
62:
63: <p>
64: <span class="attn">Please submit patches!</span> Although a significant implementation exists, work
65: remains for the backend library and especially the front-end utilities. See the <a
66: href="#contact">contact</a> information below to submit patches and bug reports.
67: </p>
68: </td>
69: </tr>
70: <tr>
71: <td>
72: <h1>
73: INSTALLING SOURCES
74: </h1>
75:
1.2 kristaps 76: <p>
77: Sources correctly build and install on OpenBSD, NetBSD and Linux operating systems, tested variously on
78: i386, AMD64 and Alpha.
79: </p>
80:
1.7 kristaps 81: <p>
1.8 kristaps 82: The most current version is <span class="attn">@VERSION@</span>, dated
83: <span class="attn">@VDATE@</span>.
1.7 kristaps 84: </p>
85:
1.1 kristaps 86: <h2>
1.9 kristaps 87: Snapshot source
1.1 kristaps 88: </h2>
89:
90: <p>
1.9 kristaps 91: CVS sources are checkedout and snapshotted with version updates. These may be found in the <a
1.1 kristaps 92: href="/snapshots/">/snapshots/</a> directory.
93: </p>
94:
95: <p class="boxed">
96: % cd /tmp<br>
1.4 kristaps 97: % ftp -V -o- http://mdocml.bsd.lv/snapshots/mdocml.tar.gz | tar -zvxf -<br>
1.1 kristaps 98: % cd mdocml<br>
1.6 kristaps 99: % make all<br>
100: % make regress<br>
101: # make install
1.1 kristaps 102: </p>
103:
104: <h2>
1.10 ! kristaps 105: Snapshot port/pkgsrc
1.1 kristaps 106: </h2>
107:
108: <p>
1.10 ! kristaps 109: The source snapshot is automatically converted into OpenBSD port and NetBSD pkgsrc forms at <a
! 110: href="/ports-openbsd/">/ports-openbsd/</a> and <a href="/ports-netbsd/">/ports-netbsd/</a>,
! 111: respectively. Please read the <a href="http://www.openbsd.org/faq/faq15.html">OpenBSD Ports FAQ</a> or
! 112: <a href="http://www.netbsd.org/docs/software/packages.html">NetBSD pkgsrc guide</a>, first.
1.1 kristaps 113: </p>
114:
1.10 ! kristaps 115: <h3>
! 116: OpenBSD port
! 117: </h3>
! 118:
1.1 kristaps 119: <p class="boxed">
1.6 kristaps 120: # pkg_delete mdocml<br>
121: # cd /usr/ports/devel/<br>
122: # rm -rf mdocml<br>
123: # ftp -V -o- http://mdocml.bsd.lv/ports-openbsd/mdocml.tar.gz | tar -zvxf -<br>
124: # cd mdocml<br>
125: # make build<br>
1.10 ! kristaps 126: # make install
! 127: </p>
! 128:
! 129: <h3>
! 130: NetBSD pkgsrc
! 131: </h3>
! 132:
! 133: <p class="boxed">
! 134: # pkg_delete mdocml<br>
! 135: # cd /usr/pkgsrc/devel/<br>
! 136: # rm -rf mdocml<br>
! 137: # ftp -V -o- http://mdocml.bsd.lv/ports-netbsd/mdocml.tar.gz | tar -zvxf -<br>
! 138: # cd mdocml<br>
! 139: # make build<br>
1.6 kristaps 140: # make install
1.1 kristaps 141: </p>
142: </td>
143: </tr>
144: <tr>
145: <td>
146: <h1>
147: CONTACT
148: </h1>
149:
150: <p>
151: Please contact Kristaps, kris<a class="external"
152: href="http://mailhide.recaptcha.net/d?k=01jt88xIsFONwVjHZmGpc4AQ==&c=sb5E6ulipc-eTnpTVqI-BQ=="
153: onclick="window.open('http://mailhide.recaptcha.net/d?k=01jt88xIsFONwVjHZmGpc4AQ==&c=sb5E6ulipc-eTnpTVqI-BQ==',
154: '', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300'); return
155: false;" title="Reveal this e-mail address">...</a>@kth.se, with questions, bug reports, patches, and so on.
156: </p>
157:
158: <p>
159: If you'd like to submit patches, please contact us beforehand in case larger changes are pending but not
160: checked in. If making a bug report, please make sure it's repeatable on the most current snapshot.
161: </p>
162: </td>
163: </tr>
164: <tr>
165: <td>
166: <div class="foot">
1.10 ! kristaps 167: Copyright © 2009 Kristaps Džonsons, $Date: 2009/02/27 10:55:16 $
1.1 kristaps 168: </div>
169: </td>
170: </tr>
171: </tbody>
172: </table>
173: </body>
174: </html>
CVSweb