=================================================================== RCS file: /cvs/mandoc/Attic/index.sgml,v retrieving revision 1.4 retrieving revision 1.151 diff -u -p -r1.4 -r1.151 --- mandoc/Attic/index.sgml 2009/02/23 20:55:56 1.4 +++ mandoc/Attic/index.sgml 2011/12/14 23:17:12 1.151 @@ -1,142 +1,393 @@ - - - - - - mdocml.bsd.lv - - - - - - - - - - - - - - - - - - - - - -
-
- mdocml – mdoc macro compiler -
-
-

- DESCRIPTION -

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

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

+

+ Sources: current, + cvsweb + (archives) + | + Binaries: windows 32-bit, windows 64-bit, mac os x + (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. The mission of mdocml is to deprecate groff, the GNU troff 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). +

+

+ mdocml consists of the libmandoc validating compiler and mandoc, which interfaces with the compiler library 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. + It is a BSD.lv project. +

+

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

+

+ Sources +

+

+ mdocml is in plain-old ANSI C and should build and run on any modern system; however, you'll + need libdb to build apropos, whatis, man.cgi, catman, and mandocdb (this is installed by default on BSD UNIX + systems — see the Makefile if you're running Linux). 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. +

+

+ Binaries +

+

+ Binary archives consist of pre-compiled binaries, manuals, and other necessary files. + Universal (Mac OS X) binaries are compiled for the PCC, i386, and x86_64 architectures. + Windows binaries are compiled with MingW for the 32-bit (i686) and + 64-bit (x86_64) architectures. +

+

+ 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. + Please contact us if you plan on maintaining a downstream version! +

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

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

- -

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

- -

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

- -
    -
  • 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 -
- -

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

- -

- 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 correctly build and install on OpenBSD, NetBSD and Linux operating systems, tested variously on - i386, AMD64 and Alpha. -

- -

- snapshotted source -

- -

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

- -

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

- -

- nightly port -

- -

- The source 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. - You must have the ports tree installed. -

- -

- % sudo pkg_delete mdocml
- % cd /usr/ports/devel/
- % sudo rm -rf mdocml
- % ftp -V -o- http://mdocml.bsd.lv/ports-openbsd/mdocml.tar.gz | sudo tar -zvxf -
- % cd mdocml
- % sudo make && sudo make regress && sudo make install -

-
-

- CONTACT -

- -

- 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 20:55:56 $ -
-
- - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
apropos(1) + search the manual page database + (text | + xhtml | + pdf | + ps) +
demandoc(1) + emit only text of UNIX manuals + (text | + xhtml | + pdf | + ps) +
mandoc(1) + format and display UNIX manuals + (text | + xhtml | + pdf | + ps) +
preconv(1) + recode multibyte UNIX manuals + (text | + xhtml | + pdf | + ps) +
whatis(1) + search the manual page database + (text | + xhtml | + pdf | + ps) +
mandoc(3) + mandoc macro compiler library + (text | + xhtml | + pdf | + ps) +
man(7) + man language reference + (text | + xhtml | + pdf | + ps) +
man.cgi(7) + cgi for manpage query and display + (text | + xhtml | + pdf | + ps) +
eqn(7) + eqn-mandoc language reference + (text | + xhtml | + pdf | + ps) +
mandoc_char(7) + mandoc special characters + (text | + xhtml | + pdf | + ps) +
mdoc(7) + mdoc language reference + (text | + xhtml | + pdf | + ps) +
roff(7) + roff-mandoc language reference + (text | + xhtml | + pdf | + ps) +
tbl(7) + tbl-mandoc language reference + (text | + xhtml | + pdf | + ps) +
catman(8) + update a man.cgi manpage cache + (text | + xhtml | + pdf | + ps) +
mandocdb(8) + index UNIX manuals + (text | + xhtml | + pdf | + ps) +
+

+ 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-2011: version 1.12.1 +

+

+ Significant work on apropos and mandocdb. These tools are + now much more robust and in line with other manpage systems. 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. +

+

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

+

+ 08-10-2011: version 1.12.0 +

+

+ This version features a new, work-in-progress mandoc output mode: -Tman. This mode + allows a system maintainer to distribute man media for older systems that may not natively + support mdoc, such as old Solaris systems. + The -Ofragment option was added to mandoc's -Thtml and -Txhtml modes. +

+

+ While adding features, an apropos utility has been merged from the mandoc-tools sandbox. + This interfaces with mandocdb for semantic search of manual content. apropos is different from the traditional apropos primarily in allowing keyword search + (such as for functions, utilities, etc.) and regular expressions. + Note that the calling syntax for apropos is likely to change as it settles down. +

+

+ In documentation news, the mdoc and man manuals have been made + considerably more readable by adding MACRO OVERVIEW sections, by moving the gory details of the LANGUAGE + SYNTAX to the roff manual, and by moving the very technical MACRO SYNTAX sections + down to the bottom of the page. +

+

+ Furthermore, for tbl, the -Tascii mode horizontal spacing of tables was rewritten + completely. It is now compatible with groff, both + with and without frames and rulers. Nesting of indented blocks is now supported in man, and + several bugs were fixed regarding indentation and alignment. The page headers in mdoc are now + nicer for very long titles. +

+

+ See cvsweb for + historical notes. +

+

+ + Copyright © 2008–2011 + Kristaps Dzonsons, + $Date: 2011/12/14 23:17:12 $ + +

+ +