=================================================================== RCS file: /cvs/mandoc/Attic/index.sgml,v retrieving revision 1.2 retrieving revision 1.113 diff -u -p -r1.2 -r1.113 --- mandoc/Attic/index.sgml 2009/02/23 15:38:20 1.2 +++ mandoc/Attic/index.sgml 2011/04/30 10:18:24 1.113 @@ -1,153 +1,367 @@ - - - - - - mdocml.bsd.lv - - - - - - - - - - - - - - - - - - - - - -
-
- mdocml – mdoc macro compiler -
-
-

- DESCRIPTION -

+ + + + + mdocml | mdoc macro compiler + + +

+ mdocml – mdoc macro compiler +

-

- mdocml is a suite of tools that compile “mdoc”, the roff macro - package of the BSD manual pages. The mission of mdocml is to deprecate groff, 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. -

+

+ DESCRIPTION +

-

- The core of mdocml is the libmdoc library, a validating scanner-parser producing - intermediate-form output from mdoc input. libmdoc is a simple, fast library operating on memory buffers - of mdoc input. Its intermediate output, an abstract syntax tree, is fully documented in the mdoc(3) reference manual. -

+

+ mdocml is a suite of tools compiling mdoc, the roff macro + package of choice for BSD manual pages, and man, the predominant historical package for + UNIX manuals. The mission of mdocml is to deprecate groff, the GNU troff implementation, for displaying mdoc + pages whilst providing token support for man. +

-

- There are three utilities implementing mdoc(3): -

+

+ 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 + uncertain output, and varies in operation from system to system. mdocml strives to fix this (respectively small, C, ISC-licensed, fast and regular). +

-
    -
  • mdocterm(1) – formats mdoc input for display on the terminal -
  • mdochtml(1) – formats mdoc input as strict HTML (nascent) -
  • mdoclint(1) – validates mdoc input -
  • mdoctree(1) – prints input abstract syntax tree -
+

+ mdocml consists of the libmandoc validating compiler and mandoc, which interfaces with the compiler library to format output for UNIX terminals, XHTML, + HTML, PostScript, and PDF. It is a BSD.lv project. +

-

- The mdocterm(1) utility is intended to deprecate usage of groff for displaying BSD manuals to the - terminal, either directly or cached as a “catman” page. -

+

+ Disambiguation: mdocml is often referred to by its installed binary, mandoc. +

-

- Please submit patches! Although a significant implementation exists, work - remains for the backend library and especially the front-end utilities. See the contact information below to submit patches and bug reports. -

-
-

- INSTALLING SOURCES -

+

+ SOURCES +

-

- Sources correctly build and install on OpenBSD, NetBSD and Linux operating systems, tested variously on - i386, AMD64 and Alpha. -

+

+ mdocml is in plain-old ANSI C and should build and run on any UNIX system. The most current + version is @VERSION@, dated @VDATE@. +

-

- nightly source -

+

+ Current +

-

- CVS sources are checkedout and snapshotted nightly. These may be found in the /snapshots/ directory. -

+ + + + + + + + + + + + + +
Source archive + /snapshots/mdocml.tar.gz + (md5) +
Online source + cvsweb +
-

- % cd /tmp
- % ftp -V -o- http://mdocml.bsd.lv/snapshots/mdocml.tgz | tar -zxf -
- % cd mdocml
- % make
- % make regress
- % make install -

+

+ Downstream +

-

- nightly port -

+ + + + + + + + + + + + + + + + + + + + + +
DragonFly BSD + usr.bin/mandoc +
FreeBSD + ports/textproc/mdocml +
NetBSD + src/external/bsd/mdocml +
OpenBSD + src/usr.bin/mandoc +
-

- The nightly snapshot is automatically converted into an OpenBSD port (ports for other BSD systems not - yet available). These may be found in the /ports-openbsd/ directory. -

+

+ Historical +

-

- If installing for the first time: -

+ + + + + + + + + +
Source archive + /snapshots/ +
-

- % ftp -V -o- http://mdocml.bsd.lv/ports-openbsd/mdocml.tgz | tar -zxf -
- % cd mdocml
- % sudo make
- % sudo make install -

+

+ DOCUMENTATION +

-

- Subsequent installations: -

+

+ These manuals are generated automatically and refer to the current snapshot. +

-

- % sudo pkg_add -r mdocml -

-
-

- CONTACT -

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
mandoc(1) + format and display UNIX manuals + + (text | + xhtml | + pdf | + postscript) + +
mandoc(3) + mandoc macro compiler library + + (text | + xhtml | + pdf | + postscript) + +
man(7) + man language reference + + (text | + xhtml | + pdf | + postscript) + +
eqn(7) + eqn-mandoc language reference + + (text | + xhtml | + pdf | + postscript) + +
mandoc_char(7) + mandoc special characters + + (text | + xhtml | + pdf | + postscript) + +
mdoc(7) + mdoc language reference + + (text | + xhtml | + pdf | + postscript) + +
roff(7) + roff-mandoc language reference + + (text | + xhtml | + pdf | + postscript) + +
tbl(7) + tbl-mandoc language reference + + (text | + xhtml | + pdf | + postscript) + +
-

- Please contact Kristaps, kris...@kth.se, with questions, bug reports, patches, and so on. -

- -

- If you'd like to submit patches, please contact us beforehand in case larger changes are pending but not - checked in. If making a bug report, please make sure it's repeatable on the most current snapshot. -

-
-
- Copyright © 2009 Kristaps Džonsons, $Date: 2009/02/23 15:38:20 $ -
-
- - +

+ CONTACT +

+ +

+ Use the mailing lists for bug-reports, patches, questions, etc. (these require subscription). Please check the + TODO for known issues + before posting. Beyond that, contact Kristaps at kris...@bsd.lv. +

+ + + + + + + + + + + + + + + + + + +
+ disc...@mdocml.bsd.lv + + bug-reports, general questions, and announcements + (archive) +
+ tec...@mdocml.bsd.lv + + patches and system discussions + (archive) +
+ sou...@mdocml.bsd.lv + + source commit messages + (archive) +
+ +

+ NEWS +

+ +

+ 04-04-2011: version 1.11.1 +

+

+ The earlier libroff, libmdoc, and libman soup have been merged into + a single library, libmandoc, which manages all aspects of + parsing real manuals (from line-handling to tbl parsing). +

+

+ Beyond this structural change, initial eqn functionality is in + place. For the time being, this is limited to the recognition of equation blocks; + future version of mdocml will expand upon this framework. +

+

+ 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. +

+ +

+ 07-01-2011: version 1.10.9 +

+

+ Many back-end fixes have been implemented: argument handling (quoting), man improvements, error/warning classes, and many more. +

+

+ Initial tbl functionality (see the TS, TE, and + T& macros in the roff manual) has been + merged from tbl.bsd.lv. Output is + still minimal, especially for -Thtml and -Txhtml, but manages to at least display data. This means that mandoc now has built-in support for two troff preprocessors via + libroff: soelim and tbl. +

+ +

+ 24-12-2010: version 1.10.8 +

+

+ Significant improvements merged from OpenBSD downstream, including +

+ +

+ Also overhauled the -Thtml and -Txhtml output modes. They now display readable output in arbitrary + browsers, including text-based ones like lynx. See HTML and XHTML manuals in the DOCUMENTATION section for examples. Attention: available style-sheet classes have been considerably + changed! See the example.style.css file for details. + Lastly, libmdoc and libman have been + cleaned up and reduced in size and complexity. +

+ +

+ See cvsweb for + historical notes. +

+ +

+ Copyright © 2008–2011 + Kristaps Dzonsons, + $Date: 2011/04/30 10:18:24 $ +

+ +