=================================================================== RCS file: /cvs/mandoc/Attic/index.sgml,v retrieving revision 1.21 retrieving revision 1.164 diff -u -p -r1.21 -r1.164 --- mandoc/Attic/index.sgml 2009/06/17 19:12:03 1.21 +++ mandoc/Attic/index.sgml 2013/12/26 14:39:35 1.164 @@ -1,237 +1,407 @@ - - - - - - mdocml.bsd.lv - - - - - - - - - - - - - - - - - - - - - - - - -
-
- mdocml – mdoc macro compiler -
-
-

- DESCRIPTION -

+ + + + + mdocml | UNIX manpage compiler + + +

+ Puffy + mdocml – UNIX manpage compiler, current version @VERSION@ (@VDATE@) +

+

+ Sources: current, + cvsweb + (archives) +

+

+ Description +

+

+ 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. + It is small, ISO C, ISC-licensed, and quite fast. +

+

+ The tool set features mandoc, + based on the libmandoc validating compiler, + to format output for UNIX terminals (with + support for wide-character locales), XHTML, HTML, PostScript, and PDF. + It also includes preconv, for recoding multibyte manuals; + demandoc, for emitting only text parts of manuals; + mandocdb, for indexing manuals; and + apropos, whatis, and + man.cgi (via catman) for semantic search of manual content. +

+

+ mdocml has predominantly been developed on OpenBSD + and is both an OpenBSD + and a BSD.lv project. + We strive to support all interested free operating systems, in particular + DragonFly, + NetBSD, + FreeBSD, + Minix 3, + and GNU/Linux, + as well as all systems running the pkgsrc portable package build system. + All of these projects have helped to make mdocml better, by providing feedback and advice, + bug reports, and patches. +

+

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

+

+ Sources +

+

+ mdocml is in ISO C99 and should build and run on any modern system; however, you'll need sqlite3 to build apropos (links to whatis), + man.cgi, and mandocdb. + To build and install into /usr/local/, just run make install. + Be careful: the preconv, apropos, and whatis binary names are usually taken by existing utilities. +

+

+ Downstream +

+

+ Several systems come bundled with mdocml utilities. + If your system does not appear below, the maintainers have not contacted me and it should not be considered + official, so please contact us if you plan on maintaining a downstream version! +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DragonFly BSD + contrib/mdocml (post-1.12.2 sources) + lib/libmandoc + usr.bin/mandoc (build system) +
FreeBSD 10.0, -CURRENT + contrib/mdocml (1.12.1 sources) + usr.bin/mandoc (build system) +
FreeBSD 9.x, 8.x + ports/textproc/mdocml (1.12.2 port) +
NetBSD + src/external/bsd/mdocml (1.12.1 sources plus patches and build system) +
OpenBSD + src/usr.bin/mandoc (post-1.12.2 sources under active development and build system) +
pkgsrc + textproc/mdocml (1.12.2 port) +
Minix3 + external/bsd/mdocml (1.10.9 sources and build system) +
Alpine Linux + aports/main/mdocml (1.12.2 port) +
+

+ Documentation +

+

+ These manuals are generated automatically and refer to the current release. + They are the authoritative documentation for the mdocml system. +

-

- 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 roff implementation, for - displaying -mdoc pages whilst providing token support for -man. -

- -

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

- -

- The core of mdocml is composed of the libmdoc and libman - validating compiler libraries. Both are simple, fast libraries operating on memory buffers, so they may - be used for a variety of front-ends (terminal-based, CGI and so on). The primary front-end is - mandoc, which formats manuals for display on the terminal. -

-
-

- INSTALLING SOURCES -

- -

- Sources correctly build and install on FreeBSD, OpenBSD, NetBSD and Linux operating systems, tested - variously on i386, AMD64, alpha and others. The most current version is @VERSION@, dated @VDATE@. -

- -

- Snapshot source -

- -

- CVS sources are checkedout and snapshotted with version updates. These (and all historical snapshots) - may be found in the /snapshots/ directory. A full ChangeLog is written with each new snapshot. -

- -

- % cd /tmp
- % ftp -V -o- - http://mdocml.bsd.lv/snapshots/mdocml.tar.gz | tar -zvxf -
- % cd mdocml
- % make all
- # make install -

- -

- Snapshot port/pkgsrc -

- -

- The source snapshot is automatically converted into OpenBSD, NetBSD and FreeBSD ports at /ports-openbsd/, /ports-netbsd/ and /ports-freebsd/, respectively. Please read the OpenBSD Ports FAQ, the NetBSD pkgsrc guide or the FreeBSD ports - guide, first. -

- -

- OpenBSD port -

- -

- Note: the mdocml utility is part of OpenBSD's base system at usr.bin/mandoc. Please use this - instead of the provided port. -

- -

- # pkg_delete mdocml
- # cd /usr/ports/textproc/
- # rm -rf mdocml
- # ftp -V -o- - http://mdocml.bsd.lv/ports-openbsd/mdocml.tar.gz | tar -zvxf -
- # cd mdocml
- # make build
- # make install -

- -

- NetBSD pkgsrc -

- -

- Note: a pkgsrc port is maintained in-tree at textproc/mdocml. Please use this - instead of the provided pkgsrc. -

- -

- # pkg_delete mdocml
- # cd /usr/pkgsrc/textproc/
- # rm -rf mdocml
- # ftp -V -o- - http://mdocml.bsd.lv/ports-netbsd/mdocml.tar.gz | tar -zvxf -
- # cd mdocml
- # make build
- # make install -

- -

- FreeBSD port -

- -

- Note: a port is maintained in-tree at textproc/mdocml. Please use - this instead of the provided port. -

- -

- # pkg_delete -x mdocml
- # cd /tmp
- # ftp -V -o- - http://mdocml.bsd.lv/ports-freebsd/mdocml.tar.gz | tar -zvxf -
- # cd mdocml
- # make
- # make install -

-
-

- DOCUMENTATION -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
mandoc(1)format and display UNIX manuals
mandoc_char(7)mandoc special characters
mdoc(7)mdoc language reference
man(7)man language reference
manuals(7)a guide to writing UNIX manuals
mdoc(3)mdoc macro compiler library
man(3)man macro compiler library
-
-

- CONTACT -

- -

- For all issues related to mdocml, contact Kristaps, kris...@kth.se. -

- -

- If you want to receive a semi-automated mail-out of new versions, then please write with a message - subject of “subscribe mdocml” (or, symmetrically, “unsubscribe mdocml”). -

-
-
- Copyright © 2008, 2009 Kristaps Džonsons, $Date: 2009/06/17 19:12:03 $ -
-
- - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
apropos(1) + search the manual page database +
demandoc(1) + emit only text of UNIX manuals +
mandoc(1) + format and display UNIX manuals +
preconv(1) + recode multibyte UNIX manuals +
mandoc(3) + mandoc macro compiler library +
tbl(3) + roff table parser library for mandoc +
eqn(7) + eqn-mandoc language reference +
man(7) + man language reference +
man.cgi(7) + cgi for manpage query and display +
mandoc_char(7) + mandoc special characters +
mdoc(7) + mdoc language reference +
roff(7) + roff-mandoc language reference +
tbl(7) + tbl-mandoc language reference +
mandocdb(8) + index UNIX manuals +
+

+ Supplementary Information +

+ +

+ Contact +

+

+ Use the mailing lists for bug-reports, patches, questions, etc. Please check the + TODO for known issues + before posting. All lists are subscription-only: send a blank e-mail to the listed address to subscribe. Beyond that, + contact Kristaps at kris...@bsd.lv. Archives are available at Gmane. +

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

+ News +

+

+ xx-xx-2013: version 1.13.0 +

+

+ The mandocdb tools (mandocdb, apropos (absorbing whatis), and man.cgi) have been re-written to + use sqlite3 as a database. +

+

+ 05-10-2013: version 1.12.2 +

+

+ The mdoc(7) to man(7) converter, + to be called as mandoc -Tman, is now fully functional. +

+

+ The mandoc(1) utility now supports the -Ios (default operating system) + input option, and the -Tutf8 output mode now actually works. +

+

+ The mandocdb(8) utility no longer truncates existing databases when starting to build new ones, + but only replaces them when the build actually succeeds. +

+

+ The man(7) parser now supports the PD macro (paragraph distance), + and (for GNU man-ext compatibility only) EX (example block) and EE (example end). + Plus several bugfixes regarding indentation, line breaks, and vertical spacing, + and regarding RS following TP. +

+

+ The roff(7) parser now supports the \f(BI (bold+italic) font escape, + the \z (zero cursor advance) escape and the cc (change control character) + and it (input line trap) requests. + Plus bugfixes regarding the \t (tab) escape, nested escape sequences, and conditional requests. +

+

+ In mdoc(7), several bugs were fixed related to UTF-8 output of quoting enclosures, + delimiter handling, list indentation and horizontal and vertical spacing, + formatting of the Lk, %U, and %C macros, + plus some bugfixes related to the handling of syntax errors like badly nested font blocks, + stray Ta macros outside column lists, unterminated It Xo blocks, + and non-text children of Nm blocks. +

+

+ In tbl(7), the width of horizontal spans and the vertical spacing around tables was corrected, + and in man(7) files, a crash was fixed that was triggered by some particular unclosed T{ macros. +

+

+ For mandoc developers, we now provide a tbl(3) library manual and gmdiff, + a very small, very simplistic groff-versus-mandoc output comparison tool. +

+

+ 23-03-2012: version 1.12.1 +

+

+ Significant work on apropos and mandocdb. These tools are + now much more robust. + A whatis implementation is now handled as an apropos mode. + These tools are also able to minimally handle pre-formatted pages, that is, those already formatted by another utility + such as GNU troff. +

+

+ The man.cgi script is also now available for wider testing. It interfaces with mandocdb manuals cached by catman. HTML output is generated + on-the-fly by libmandoc or internal methods to convert pre-formatted pages. +

+

+ The mailing list archive for the discuss and tech lists are being hosted by Gmane at gmane.comp.tools.mdocml.user and gmane.comp.tools.mdocml.devel, respectively. +

+

+ Lastly, I'm no longer providing binaries, as nobody has asked for them. +

+

+ History +

+ +

+ + Copyright © 2008–2011 + Kristaps Dzonsons, + © 2013 Ingo Schwarze, + $Date: 2013/12/26 14:39:35 $ + +

+ +