=================================================================== RCS file: /cvs/mandoc/Attic/index.sgml,v retrieving revision 1.2 retrieving revision 1.142 diff -u -p -r1.2 -r1.142 --- mandoc/Attic/index.sgml 2009/02/23 15:38:20 1.2 +++ mandoc/Attic/index.sgml 2011/10/02 18:37:25 1.142 @@ -1,153 +1,349 @@ - - - - - - mdocml.bsd.lv - - - - - - - - - - - - - - - - - - - - - -
-
- mdocml – mdoc macro compiler -
-
-

- DESCRIPTION -

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

+ mdocml – mdoc macro 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; + and mandocdb, for indexing manuals. + 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. + To build and install into /usr/local/, just run make install. + Be aware: if you have an existing groff installation, this may overwrite its preconv binary. + The mandocdb utility is not yet linked to the build; please contact + us if you plan to use it. +

+

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

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

- -

- nightly source -

- -

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

- -

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

- -

- nightly port -

- -

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

- -

- If installing for the first time: -

- -

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

- -

- Subsequent installations: -

- -

- % sudo pkg_add -r mdocml -

-
-

- 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 15:38:20 $ -
-
- - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
mandoc(1) + format and display UNIX manuals + (text | + xhtml | + pdf | + ps) +
demandoc(1) + emit only text of UNIX manuals + (text | + xhtml | + pdf | + ps) +
preconv(1) + recode multibyte UNIX manuals + (text | + xhtml | + pdf | + ps) +
mandoc(3) + mandoc macro compiler library + (text | + xhtml | + pdf | + ps) +
man(7) + man language reference + (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) +
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. +

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

+

+ xx-xx-2011: version 1.11.8 +

+

+ This version features a new, work-in-progress 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 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. +

+

+ 02-09-2011: version 1.11.7 +

+

+ Added demandoc utility for stripping away macros and escapes. This replaces the + historical deroff utility. Also improved the mdoc and man manuals. +

+

+ 16-08-2011: version 1.11.6 +

+

+ Handling of tr macro in roff implemented. This makes Perl documentation much more + readable. Hyphenation is also now enabled in man format documents. Many other general + improvements have been implemented. Furthermore, a 64-bit Windows binary is now available at mdocml-win64.zip and a Mac OS X universal binary is available at mdocml-macosx.zip. +

+

+ 24-07-2011: version 1.11.5 +

+

+ Significant eqn improvements. mdocml can now parse arbitrary eqn input + (although few GNU extensions are accepted, nor is mixing low-level roff with eqn). See the eqn + manual for details. For the time being, equations are rendered as simple in-line text. The equation parser satisfies + the language specified in the Second + Edition User's Guide. +

+

+ This is also the first release featuring a distributed Windows binary, available at /binaries/mdocml-win32.zip. +

+

+ See cvsweb for + historical notes. +

+

+ + Copyright © 2008–2011 + Kristaps Dzonsons, + $Date: 2011/10/02 18:37:25 $ + +

+ +