=================================================================== RCS file: /cvs/mandoc/Attic/index.sgml,v retrieving revision 1.143 retrieving revision 1.165 diff -u -p -r1.143 -r1.165 --- mandoc/Attic/index.sgml 2011/10/05 21:43:11 1.143 +++ mandoc/Attic/index.sgml 2013/12/31 11:28:20 1.165 @@ -3,22 +3,17 @@ - mdocml | mdoc macro compiler + mdocml | UNIX manpage compiler

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

Sources: current, cvsweb (archives) - | - Binaries: windows 32-bit, windows 64-bit, mac os x - (archives)

Description @@ -26,54 +21,54 @@

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

- 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 + 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; - and mandocdb, for indexing manuals. - It is a BSD.lv project. + 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 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. + 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.

- 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! + official, so please contact us if you plan on maintaining a downstream version!

@@ -82,31 +77,54 @@ - + + + + + + + + + + + + + + + + +
DragonFly BSD - usr.bin/mandoc + contrib/mdocml (1.12.3 sources) + lib/libmandoc + usr.bin/mandoc (build system)
FreeBSDFreeBSD 10.0, -CURRENT - ports/textproc/mdocml + 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 + src/external/bsd/mdocml (1.12.1 sources plus patches and build system)
OpenBSD - src/usr.bin/mandoc + src/usr.bin/mandoc (1.12.3 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) +

@@ -122,117 +140,110 @@ - mandoc(1) + apropos(1) - format and display UNIX manuals - (text | - xhtml | - pdf | - ps) + search the manual page database demandoc(1) emit only text of UNIX manuals - (text | - xhtml | - pdf | - ps) + mandoc(1) + + format and display UNIX manuals + + + preconv(1) recode multibyte UNIX manuals - (text | - xhtml | - pdf | - ps) mandoc(3) mandoc macro compiler library - (text | - xhtml | - pdf | - ps) - man(7) + tbl(3) - man language reference - (text | - xhtml | - pdf | - ps) + roff table parser library for mandoc eqn(7) eqn-mandoc language reference - (text | - xhtml | - pdf | - ps) + man(7) + + man language reference + + + + man.cgi(7) + + cgi for manpage query and display + + + 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) +

+ Supplementary Information +

+

Contact

@@ -241,7 +252,7 @@ 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. + this e-mail address">kris...@bsd.lv. Archives are available at Gmane.

@@ -254,7 +265,6 @@ @@ -264,7 +274,6 @@ @@ -274,7 +283,6 @@ @@ -283,67 +291,142 @@ News

- xx-xx-2011: version 1.11.8 + xx-xx-2014: version 1.13.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. + The mandocdb tools (mandocdb, apropos (absorbing whatis), and man.cgi) have been re-written to + use sqlite3 as a database.

+

+ 31-12-2013: version 1.12.3 +

- 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. + In the mdoc(7) SYNOPSIS, line breaks and hanging indentation + now work correctly for .Fo/.Fa/.Fc and .Fn blocks. + Thanks to Franco Fichtner for doing part of the work.

- 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. + The mdoc(7) .Bk macro got some addititonal bugfixes.

-

- 02-09-2011: version 1.11.7 +

+ In mdoc(7) macro arguments, double quotes can now be quoted + by doubling them, just like in man(7). + Thanks to Tsugutomo ENAMI for the patch.

- Added demandoc utility for stripping away macros and escapes. This replaces the - historical deroff utility. Also improved the mdoc and man manuals. + At the end of man(7) macro lines, end-of-sentence spacing + now works. Thanks to Franco Fichtner for the patch.

-

- 16-08-2011: version 1.11.6 +

+ For backward compatibility, the man(7) parser now supports the + man-ext .UR/.UE (uniform resource identifier) block macros.

- 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. + The man(7) parser now handles closing blocks that are not open + more gracefully.

+

+ The man(7) parser now ignores blank lines right after .SH and .SS. +

+

+ In the man(7) formatter, reset indentation when leaving a block, + not just when entering the next one. +

+

+ The roff(7) .nr request now supports incrementing and decrementing + number registers and stops parsing the number right before the first non-digit character. +

+

+ The roff(7) parser now supports the alternative escape sequence + syntax \C'uXXXX' for Unicode characters. +

+

+ The roff(7) parser now parses and ignores the .fam (font family) + and .hw (hyphenation points) requests and the \d and \u escape sequences. +

+

+ The roff(7) manual got a new ESCAPE SEQUENCE REFERENCE. +

- 24-07-2011: version 1.11.5 + 05-10-2013: version 1.12.2

- 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. + The mdoc(7) to man(7) converter, + to be called as mandoc -Tman, is now fully functional.

- This is also the first release featuring a distributed Windows binary, available at /binaries/mdocml-win32.zip. + The mandoc(1) utility now supports the -Ios (default operating system) + input option, and the -Tutf8 output mode now actually works.

- See cvsweb for - historical notes. + 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. +

+

+ History +

+

Copyright © 2008–2011 Kristaps Dzonsons, - $Date: 2011/10/05 21:43:11 $ + © 2013 Ingo Schwarze, + $Date: 2013/12/31 11:28:20 $

bug-reports, general questions, and announcements - (archive)
patches and system discussions - (archive)
source commit messages - (archive)