X-Git-Url: https://git.cameronkatri.com/mandoc.git/blobdiff_plain/fcbaf184725c24aa30e71901f802d7948563c7fb..a2e966d93f52177b274c131fea83dafbf9890721:/index.sgml diff --git a/index.sgml b/index.sgml index fa7d8b43..af276036 100644 --- a/index.sgml +++ b/index.sgml @@ -3,11 +3,17 @@
-- mdocml – mdoc macro compiler + + mdocml – UNIX manpage compiler, current version @VERSION@ (@VDATE@) +
++ Sources: current, + cvsweb + (archives)
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 makewhatis, 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
.
- mdocml is in plain-old ANSI C and should build and run on any UNIX system, although makewhatis requires Berkeley Database (this is
- installed by default on all BSD operating systems).
- To compile mdocml, run make
, then make install
to install into
- /usr/local.
- Be aware: if you have an existing groff installation,
- this may overwrite its preconv binary.
- The makewhatis utility is not yet linked to the build. You must run make
- makewhatis
to build it (it does not install).
-
- The most current version of mdocml is @VERSION@, dated @VDATE@.
+ 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.
Source archive | +DragonFly BSD | - /snapshots/mdocml.tar.gz - (md5) + contrib/mdocml (1.12.3 sources) + lib/libmandoc + usr.bin/mandoc (build system) |
Online source | +FreeBSD 10.0, -CURRENT | - cvsweb + contrib/mdocml (1.12.1 sources) + usr.bin/mandoc (build system) |
DragonFly BSD | +FreeBSD 9.x, 8.x | ++ ports/textproc/mdocml (1.12.2 port) + | +
NetBSD | - usr.bin/mandoc + src/external/bsd/mdocml (1.12.1 sources plus patches and build system) | |
FreeBSD | +OpenBSD | - ports/textproc/mdocml + src/usr.bin/mandoc (1.12.3 sources under active development and build system) |
NetBSD | +pkgsrc | - src/external/bsd/mdocml + textproc/mdocml (1.12.3 port) |
OpenBSD | +Minix3 | - src/usr.bin/mandoc + external/bsd/mdocml (1.10.9 sources and build system) |
Source archive | +Alpine Linux | - /snapshots/ + aports/main/mdocml (1.12.2 port) |
- These manuals are generated automatically and refer to the current snapshot. + These manuals are generated automatically and refer to the current release. + They are the authoritative documentation for the mdocml system.
mandoc(1) | +apropos(1) | - format and display UNIX manuals - - (text | - xhtml | - pdf | - postscript) - + search the manual page database |
makewhatis(1) | +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 |
- 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.
-bug-reports, general questions, and announcements - (archive) |
patches and system discussions - (archive) |
source commit messages - (archive) |
- 26-05-2011: version 1.11.3 + xx-xx-2014: version 1.13.0
- Introduce locale-encoding of output with the -Tlocale output option and Unicode escaped-character input. - See mandoc and mandoc_char, respectively, for details. - This allows for non-ASCII characters (e.g., \[u5000]) to be rendered in the locale's encoding, if said - environment supports wide-character encoding (if it does not, -Tascii is used instead). - Locale support can be turned off at compile time by removing -DUSE_WCHAR in the Makefile, in which case - -Tlocale is always a synonym for -Tascii. + 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
- Furthermore, multibyte-encoded documents, such as those in UTF-8, may be on-the-fly recoded into mandoc input by using the newly-added preconv utility. - Note: in the future, this feature may be integrated into mandoc. + 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.
- -- 12-05-2011: version 1.11.2 +
+ The mdoc(7) .Bk macro got some addititonal bugfixes.
- Corrected some installation issues in version 1.11.1. - Further migration to libmandoc. - Initial public release (this utility is very much under development) of makewhatis, - initially named mandoc-db. - This utility produces keyword databases of manual content - mandoc-cgi, which features semantic querying of manual content. + 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.
-- 04-04-2011: version 1.11.1 + 05-10-2013: version 1.12.2
- The earlier libroff, libmdoc, and libman soup have been merged into
- a single library, libmandoc, which manages all aspects of
- parsing real manuals (from line-handling to tbl parsing).
+ The mdoc(7) to man(7) converter,
+ to be called as mandoc -Tman
, is now fully functional.
- Beyond this structural change, initial eqn functionality is in
- place. For the time being, this is limited to the recognition of equation blocks;
- future version of mdocml will expand upon this framework.
+ The mandoc(1) utility now supports the -Ios
(default operating system)
+ input option, and the -Tutf8
output mode now actually works.
- As usual, many general fixes and improvements have also occurred. In particular, a great - deal of redundancy and superfluous code has been removed with the merging of the backend - libraries. + The mandocdb(8) utility no longer truncates existing databases when starting to build new ones, + but only replaces them when the build actually succeeds.
-- See cvsweb for - historical notes. + 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.
+
Copyright © 2008–2011 Kristaps Dzonsons, - $Date: 2011/05/26 21:23:50 $ + © 2013 Ingo Schwarze, + $Date: 2013/12/31 17:47:17 $