]> git.cameronkatri.com Git - mandoc.git/blobdiff - mandoc.1
`Cd' in -Thtml -mdoc correctly breaks lines.
[mandoc.git] / mandoc.1
index 78d5254523311d6e26fd5b35d05bc015ee8c1896..cce6f83464cb07d2880bbfb69695267c4994b9c6 100644 (file)
--- a/mandoc.1
+++ b/mandoc.1
@@ -1,4 +1,4 @@
-.\"    $Id: mandoc.1,v 1.29 2009/07/26 19:30:50 kristaps Exp $
+.\"    $Id: mandoc.1,v 1.41 2009/10/03 16:36:06 kristaps Exp $
 .\"
 .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
 .\"
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd $Mdocdate: July 26 2009 $
+.Dd $Mdocdate: October 3 2009 $
 .Dt MANDOC 1
 .Os
-.\" SECTION
+.
+.
 .Sh NAME
 .Nm mandoc
 .Nd format and display UNIX manuals
-.\" SECTION
+.
+.
 .Sh SYNOPSIS
 .Nm mandoc
-.Op Fl V
 .Op Fl f Ns Ar option...
 .Op Fl m Ns Ar format
-.Op Fl W Ns Ar err...
+.Op Fl o Ns Ar option...
 .Op Fl T Ns Ar output
+.Op Fl V
+.Op Fl W Ns Ar err...
 .Op Ar infile...
-.\" SECTION
+.
+.
 .Sh DESCRIPTION
 The
 .Nm
 utility formats
 .Ux
 manual pages for display.  The arguments are as follows:
+.
 .Bl -tag -width Ds
-.\" ITEM
 .It Fl f Ns Ar option...
-Override default compiler behaviour.  See
+Comma-separated compiler options.  See
 .Sx Compiler Options
 for details.
-.\" ITEM
+.
 .It Fl m Ns Ar format
 Input format.  See
 .Sx Input Formats
 for available formats.  Defaults to
 .Fl m Ns Ar andoc .
-.\" ITEM
+.
+.It Fl o Ns Ar option...
+Comma-separated output options.  See
+.Sx Output Options
+for details.
+.
 .It Fl T Ns Ar output
 Output format.  See
 .Sx Output Formats
 for available formats.  Defaults to
 .Fl T Ns Ar ascii .
-.\" ITEM
+.
 .It Fl V
 Print version and exit.
-.\" ITEM
+.
 .It Fl W Ns Ar err...
-Configure warning messages.  Use
+Comma-separated warning options.  Use
 .Fl W Ns Ar all
 to print warnings,
 .Fl W Ns Ar error
@@ -69,7 +78,7 @@ termination.  Multiple
 .Fl W
 arguments may be comma-separated, such as
 .Fl W Ns Ar error,all .
-.\" ITEM
+.
 .It Ar infile...
 Read input from zero or more
 .Ar infile .
@@ -77,7 +86,7 @@ If unspecified, reads from stdin.  If multiple files are specified,
 .Nm
 will halt with the first failed parse.
 .El
-.\" PARAGRAPH
+.
 .Pp
 By default,
 .Nm
@@ -90,10 +99,11 @@ text from stdin, implying
 and prints 78-column backspace-encoded output to stdout as if
 .Fl T Ns Ar ascii
 were provided.
-.\" PARAGRAPH
+.
 .Pp
 .Ex -std mandoc
-.\" SUB-SECTION
+.
+.
 .Ss Punctuation and Spacing
 If punctuation is set apart from words, such as in the phrase
 .Dq to be \&, or not to be ,
@@ -120,20 +130,21 @@ and
 .Sq \&}
 .Pc
 is not preceded by whitespace.
+.
 .Pp
 If the input is
 .Xr mdoc 7 ,
 these rules are also applied to macro arguments when appropriate.
+.
 .Pp
 White-space, in non-literal (normal) mode, is stripped from input and
-replaced on output by a single space.  Thus, if you wish to preserve
-multiple spaces, they must be space-escaped
-.Sq \e\
-or used in a literal display mode, e.g.,
+replaced on output by a single space.  Thus, if you wish to preserve multiple
+spaces, they must be space-escaped or used in a literal display mode, e.g.,
 .Sq \&Bd \-literal
 in
 .Xr mdoc 7 .
-.\" SUB-SECTION
+.
+.
 .Ss Input Formats
 The
 .Nm
@@ -152,6 +163,7 @@ format is
 recommended;
 .Xr man 7
 should only be used for legacy manuals.
+.
 .Pp
 A third option,
 .Fl m Ns Ar andoc ,
@@ -165,6 +177,7 @@ the
 parser is used; otherwise, the
 .Xr man 7
 parser is used.
+.
 .Pp
 If multiple
 files are specified with
@@ -175,135 +188,209 @@ specified and
 or
 .Fl m Ns Ar an
 is specified, then this format is used exclusively.
-.\" .Pp
-.\" The following escape sequences are recognised, although the per-format
-.\" compiler may not allow certain sequences.
-.\" .Bl -tag -width Ds -offset XXXX
-.\" .It \efX
-.\" sets the font mode to X (B, I, R or P, where P resets the font)
-.\" .It \eX, \e(XX, \e[XN]
-.\" queries the special-character table for a corresponding symbol
-.\" .It \e*X, \e*(XX, \e*[XN]
-.\" deprecated special-character format
-.\" .El
-.\" SUB-SECTION
+.
+.
 .Ss Output Formats
 The
 .Nm
 utility accepts the following
 .Fl T
 arguments:
+.
 .Bl -tag -width Ds
 .It Fl T Ns Ar ascii
 Produce 7-bit ASCII output, backspace-encoded for bold and underline
 styles.  This is the default.
+.
+.It Fl T Ns Ar html
+Produce strict HTML-4.01 output, with a sane default style.
+.
 .It Fl T Ns Ar tree
 Produce an indented parse tree.
+.
 .It Fl T Ns Ar lint
 Parse only: produce no output.
 .El
+.
 .Pp
 If multiple input files are specified, these will be processed by the
 corresponding filter in-order.
-.\" SUB-SECTION
+.
+.
 .Ss Compiler Options
-Default compiler behaviour may be overriden with the
+Default compiler behaviour may be overridden with the
 .Fl f
 flag.
+.
 .Bl -tag -width Ds
 .It Fl f Ns Ar ign-scope
 When rewinding the scope of a block macro, forces the compiler to ignore
 scope violations.  This can seriously mangle the resulting tree.
 .Pq mdoc only
+.
 .It Fl f Ns Ar no-ign-escape
 Don't ignore invalid escape sequences.
+.
 .It Fl f Ns Ar no-ign-macro
 Do not ignore unknown macros at the start of input lines.
+.
 .It Fl f Ns Ar no-ign-chars
 Do not ignore disallowed characters.
+.
 .It Fl f Ns Ar strict
 Implies
 .Fl f Ns Ar no-ign-escape ,
 .Fl f Ns Ar no-ign-macro
 and
 .Fl f Ns Ar no-ign-chars .
+.
 .It Fl f Ns Ar ign-errors
 Don't halt when encountering parse errors.  Useful with
 .Fl T Ns Ar lint
 over a large set of manuals passed on the command line.
 .El
-.\" PARAGRAPH
-.Pp
-As with the
-.Fl W
-flag, multiple
-.Fl f
-options may be grouped and delimited with a comma.  Using
-.Fl f Ns Ar ign-scope,no-ign-escape ,
-for example, will try to ignore scope and not ignore character-escape
-errors.
-.\" SECTION
+.
+.Ss Output Options
+For the time being, only
+.Fl T Ns Ar html
+is the only mode with output options:
+.Bl -tag -width Ds
+.It Fl o Ns Ar style=style.css
+The file
+.Ar style.css
+is used for an external style-sheet.  This must be a valid absolute or
+relative URI.
+.It Fl o Ns Ar includes=fmt
+The string
+.Ar fmt ,
+for example, 
+.Ar ../src/%I.html ,
+is used as a template for linked header files (usually via the
+.Sq \&In
+macro).  Instances of
+.Sq %I
+are replaced with the include filename.  The default is not to present a
+hyperlink.
+.It Fl o Ns Ar man=fmt
+The string
+.Ar fmt ,
+for example, 
+.Ar ../html%S/%N.%S.html ,
+is used as a template for linked manuals (usually via the
+.Sq \&Xr
+macro).  Instances of
+.Sq %N
+and
+.Sq %S
+are replaced with the linked manual's name and section, respectively.
+If no section is included, section 1 is assumed.  The default is not to
+present a hyperlink.
+.El
+.
 .Sh EXAMPLES
 To page manuals to the terminal:
-.\" PARAGRAPH
+.
 .Pp
 .D1 % mandoc \-Wall,error \-fstrict mandoc.1 2>&1 | less
 .D1 % mandoc mandoc.1 mdoc.3 mdoc.7 | less
-.\" PARAGRAPH
+.
+.Pp
+To produce HTML manuals with
+.Ar style.css
+as the style-sheet:
+.Pp
+.D1 % mandoc \-Thtml -ostyle=style.css mdoc.7 > mdoc.7.html
 .Pp
 To check over a large set of manuals:
-.\" PARAGRAPH
+.
 .Pp
 .Dl % mandoc \-Tlint \-fign-errors `find /usr/src -name \e*\e.[1-9]`
-.\" SECTION
+.
+.
 .Sh COMPATIBILITY
 This section summarises
 .Nm
 compatibility with
 .Xr groff 1 .
-.Pp
+Each input and output format is separately noted.
+.
+.
+.Ss ASCII output
 .Bl -bullet -compact
-.\" LIST-ITEM
 .It
 The 
 .Sq \e~
-special character doesn't produce expected behaviour.
-.\" LIST-ITEM
+special character doesn't produce expected behaviour in 
+.Fl T Ns Ar ascii .
+.
+.It
+The 
+.Sq \&Bd \-literal
+and 
+.Sq \&Bd \-unfilled
+macros of
+.Xr mdoc 7
+in
+.Fl T Ns Ar ascii
+are synonyms, as are \-filled and \-ragged.
+.
 .It
 In 
 .Xr groff 1 ,
 the
 .Sq \&Pa
-macro does not underline when under a
-.Sq \&It .
-This behaves correctly in
+.Xr mdoc 7
+macro does not underline when scoped under an
+.Sq \&It
+in the FILES section.  This behaves correctly in
 .Nm .
-.\" LIST-ITEM
+.
 .It
 A list or display following
 .Sq \&Ss
+.Xr mdoc 7
+macro in
+.Fl T Ns Ar ascii
 does not assert a prior vertical break, just as it doesn't with
 .Sq \&Sh .
+.
 .It
-The \-literal and \-unfilled
-.Sq \&Bd
-displays types are synonyms, as are \-filled and \-ragged.
-.\" LIST-ITEM
+The
+.Sq \&na
+.Xr man 7
+macro in
+.Fl T Ns Ar ascii
+has no effect.
+.
 .It
 Words aren't hyphenated.
-.\" LIST-ITEM
+.
 .It
 In normal mode (not a literal block), blocks of spaces aren't preserved,
-so double spaces following sentence closure are reduced to a single space.
+so double spaces following sentence closure are reduced to a single space;
+.Xr groff 1
+retains spaces.
+.
+.It
+Sentences are unilaterally monospaced.
 .El
 .\" SECTION
 .Sh SEE ALSO
 .Xr mandoc_char 7 ,
 .Xr mdoc 7 ,
 .Xr man 7
-.\" SECTION
+.
 .Sh AUTHORS
 The
 .Nm
 utility was written by
 .An Kristaps Dzonsons Aq kristaps@kth.se .
+.
+.Sh CAVEATS
+In
+.Fl T Ns Ar html ,
+the maximum size of an element attribute is determined by
+.Dv BUFSIZ ,
+which is usually 1024 bytes.  Be aware of this when setting long link
+formats with
+.Fl o Ns Ar man=fmt .