=================================================================== RCS file: /cvs/mandoc/Attic/index.sgml,v retrieving revision 1.135 retrieving revision 1.166 diff -u -p -r1.135 -r1.166 --- mandoc/Attic/index.sgml 2011/08/16 22:21:04 1.135 +++ mandoc/Attic/index.sgml 2013/12/31 17:47:17 1.166 @@ -3,151 +3,126 @@ - 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) +

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

- - - - - - - - - - - - - - - - - -
Current - /snapshots/mdocml.tar.gz (md5) -
Archives - /snapshots/ -
Online Repository - cvsweb -
-

- Binaries -

+

+ Downstream +

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

- - +
+ - + - + - + - + - -
Windows 32-bitDragonFly BSD - /binaries/mdocml-win32.zip + contrib/mdocml (1.12.3 sources) + lib/libmandoc + usr.bin/mandoc (build system)
Windows 64-bitFreeBSD 10.0, -CURRENT - /binaries/mdocml-win64.zip + contrib/mdocml (1.12.1 sources) + usr.bin/mandoc (build system)
Mac OS X Universal BinaryFreeBSD 9.x, 8.x - /binaries/mdocml-macosx.zip + ports/textproc/mdocml (1.12.2 port)
ArchivesNetBSD - /binaries/ + src/external/bsd/mdocml (1.12.1 sources plus patches and build system)
-

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

- - - - - + - + - + - + @@ -161,143 +136,126 @@

DragonFly BSDOpenBSD - usr.bin/mandoc + src/usr.bin/mandoc (1.12.3 sources under active development and build system)
FreeBSDpkgsrc - ports/textproc/mdocml + textproc/mdocml (1.12.3 port)
NetBSDMinix3 - src/external/bsd/mdocml + external/bsd/mdocml (1.10.9 sources and build system)
OpenBSDAlpine Linux - src/usr.bin/mandoc + aports/main/mdocml (1.12.2 port)
- + - + - + + + + + - + + + + + + + + + + + + +
mandoc(1)apropos(1) - format and display UNIX manuals - - (text | - xhtml | - pdf | - postscript) - + search the manual page database
mandocdb(8)demandoc(1) - index UNIX manuals - - (text | - xhtml | - pdf | - postscript) - + emit only text of UNIX manuals
mandoc(1) + format and display UNIX manuals +
preconv(1) recode multibyte UNIX manuals - - (text | - xhtml | - pdf | - postscript) -
mandoc(3) mandoc macro compiler library - - (text | - xhtml | - pdf | - postscript) -
man(7)tbl(3) - man language reference - - (text | - xhtml | - pdf | - postscript) - + roff table parser library for mandoc
eqn(7) eqn-mandoc language reference - - (text | - xhtml | - pdf | - postscript) -
man(7) + man language reference +
man.cgi(7) + cgi for manpage query and display +
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) -
mandocdb(8) + index UNIX manuals +
+

+ Supplementary Information +

+

Contact

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

- + @@ -307,7 +265,6 @@ @@ -317,7 +274,6 @@ @@ -327,7 +283,6 @@ @@ -336,47 +291,142 @@ News

- 16-08-2011: version 1.11.6 + xx-xx-2014: version 1.13.0

- 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 mandocdb tools (mandocdb, apropos (absorbing whatis), and man.cgi) have been re-written to + use sqlite3 as a database.

- 24-07-2011: version 1.11.5 + 31-12-2013: version 1.12.3

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

- This is also the first release featuring a distributed Windows binary, available at /binaries/mdocml-win32.zip. + The mdoc(7) .Bk macro got some addititonal bugfixes.

+

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

+

+ At the end of man(7) macro lines, end-of-sentence spacing + now works. Thanks to Franco Fichtner for the patch. +

+

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

+

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

- 12-07-2011: version 1.11.4 + 05-10-2013: version 1.12.2

- Bug-fixes and clean-ups across all systems, especially in mandocdb makewhatis (note: still not - connected to the general build and must be compiled with make mandocdb make makewhatis) and the man parser. This release was significantly assisted by participants in OpenBSD's c2k11. Thanks! + The mdoc(7) to man(7) converter, + to be called as mandoc -Tman, is now fully functional.

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

+

+ History +

+

Copyright © 2008–2011 Kristaps Dzonsons, - $Date: 2011/08/16 22:21:04 $ + © 2013 Ingo Schwarze, + $Date: 2013/12/31 17:47:17 $

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