version 1.23, 2008/12/08 16:29:57 |
version 1.29, 2009/01/20 13:44:05 |
|
|
.\" |
.\" |
.Dd $Mdocdate$ |
.Dd $Mdocdate$ |
.Dt mdocml 1 alpha |
.Dt mdocml 1 |
.Os |
.Os |
.\" |
.\" |
.Sh NAME |
.Sh NAME |
.Nm mdocml |
.Nm mdocml |
.Nd compile manpage source into mark-up language |
.Nd mdoc macro compiler |
.\" |
.\" |
.Sh SYNOPSIS |
.Sh SYNOPSIS |
.Nm mdocml |
.Nm mdocml |
.Op Fl vW |
.Op Fl v |
.Op Fl f Ar filter |
.Op Fl W Ns Ar err... |
.Op Fl o Ar outfile |
|
.Op Ar infile |
.Op Ar infile |
.\" |
.\" |
.Sh DESCRIPTION |
.Sh DESCRIPTION |
The |
The |
.Nm |
.Nm |
utility parses mdoc formatted manual source and passes results into an |
utility interfaces the |
output filter. The current output filters are |
.Xr mdoc 3 |
.Ar html |
library to scan, parse and validate mdoc-macro documents. Arguments |
and |
follow: |
.Ar xml , |
.Bl -tag -width "\-Werr... " |
the default. Arguments common to all filters follow: |
.It Fl W Ns Ar err... |
.Bl -tag -width "\-o outfile" |
Print warning messages. May be set to |
.It Fl f Ar filter |
.Fl W Ns Ar all |
The output filter name. |
for all warnings, |
.It Fl o Ar outfile |
.Ar compat |
Write output to |
for groff/troff-compatibility warnings, or |
.Ar outfile , |
.Ar syntax |
which may be |
for syntax warnings. If |
.Dq \- |
.Fl W Ns Ar error |
for stdout. |
is specified, warnings are considered errors and cause utility |
.It Fl W |
termination. Multiple |
Print warnings to stderr. |
.Fl W |
|
arguments may be comma-separated, such as |
|
.Fl W Ns Ar error,all . |
.It Fl v |
.It Fl v |
Make warning and error messages verbose. |
Print verbose parsing output. |
.It Ar infile |
.It Ar infile |
Read input from |
Read input from |
.Ar infile , |
.Ar infile , |
|
|
for stdin. |
for stdin. |
.El |
.El |
.Pp |
.Pp |
|
Parsing and validation rules are drawn entirely from the |
|
.Xr mdoc 7 |
|
and |
|
.Xr mdoc.samples 7 |
|
manuals. |
|
.Pp |
By default, |
By default, |
.Nm |
.Nm |
reads from stdin and writes to stdout using the xml filter. |
reads from stdin, writes messages to stdout, and writes errors and |
|
warnings to stderr. |
.Pp |
.Pp |
.Ex -std mdocml |
.Ex -std mdocml |
.\" |
|
.Ss XML Filter |
|
The XML filter, specified by |
|
.Fl f Ar xml , |
|
is the default filter. This filter has no additional arguments. |
|
.Pp |
.Pp |
The XML filter creates an XML document where element names are their respective |
.Nm |
roff macro names. Each element name has an associated |
is |
namespace, which is one of |
.Ud |
.Dq block , |
|
.Dq head , |
|
.Dq body , |
|
or |
|
.Dq inline , |
|
corresponding to the display mode of a node. The document root is |
|
always the |
|
.Dq mdoc |
|
element, in the default namespace; the |
|
.Dq head |
|
namespace is for block headers (such as |
|
.Sq .Ss |
|
and |
|
.Sq .Sh ) ; |
|
the |
|
.Dq body |
|
namespace is for block bodies; and the |
|
.Dq inline |
|
namespace is for in-line elements (such as |
|
.Sq .Em ) . |
|
.Ss HTML Filter |
|
The HTML filter, specified by |
|
.Fl f Ar html , |
|
accepts the following filter-specific arguments: |
|
.Bl -tag -width "\-c css" |
|
.It Fl c Ar css |
|
The CSS file location, which defaults to |
|
.Ar mdocml.css . |
|
.It Fl e |
|
Whether to embed the CSS file into the HTML prologue. |
|
.El |
|
.\" |
.\" |
.Sh EXAMPLES |
.Sh EXAMPLES |
To produce an HTML4-strict document |
To validate this manual page: |
.Pa mdocml.html |
|
for |
|
.Pa mdocml.1 |
|
with the default, embedded style-sheet: |
|
.Pp |
.Pp |
.D1 % mdocml -fhtml -e -o mdocml.html mdocml.1 |
.D1 % mdocml \-Wall,error mdocml.1 |
.Pp |
|
To create an XML document on standard output from |
|
.Pa mdocml.1 |
|
with the default namespace identifiers |
|
.Li head , |
|
.Li body , |
|
.Li block |
|
and |
|
.Li inline : |
|
.Pp |
|
.D1 % mdocml mdocml.1 |
|
.\" |
.\" |
.Sh SEE ALSO |
.Sh SEE ALSO |
.Xr groff 1 , |
.Xr groff 1 , |
.Xr mdoc.samples 7 , |
.Xr mdoc.samples 7 , |
.Xr mdoc 7 |
.Xr mdoc 7 , |
|
.Xr mdoc 3 |
.\" .Sh STANDARDS |
.\" .Sh STANDARDS |
.\" .Sh HISTORY |
.\" .Sh HISTORY |
.Sh AUTHORS |
.Sh AUTHORS |
Line 123 utility was written by |
|
Line 81 utility was written by |
|
.An Kristaps Dzonsons Aq kristaps@kth.se . |
.An Kristaps Dzonsons Aq kristaps@kth.se . |
.\" |
.\" |
.Sh CAVEATS |
.Sh CAVEATS |
Most caveats of |
The most glaring short-coming of |
.Nm |
.Nm |
stem from ambiguities in |
is that it doesn't yet support the |
.Xr mdoc 7 |
.Sq \&Xc |
or the necessary limitations of converting an ad hoc language into |
|
structured ones: |
|
.Bl -enum -compact -offset indent |
|
.It |
|
The engine doesn't understand the |
|
.Sq \&No , |
|
.Sq \&Db , |
|
.Sq \&Xc , |
|
and |
and |
.Sq \&Xo |
.Sq \&Xo |
mdoc macros. |
macros when used to extend the line arguments to |
.It |
.Sq \&It ; |
All macro arguments may be quoted, instead of only some. |
in effect, trampling the body section. We note that this is explicitly |
.It |
discouraged in |
Blank lines raise errors. |
.Xr mdoc.samples 7 , |
.It |
but in practice used quite often. |
If terminating punctuation is found, then |
|
.Em all |
|
remaining tokens are flushed after line scope is closed, not just the |
|
last one. |
|
.El |
|
.Pp |
|
The roff engine in |
|
.Nm |
|
produces text in-line; thus, output may already be partially written by |
|
the time an error is encountered. |
|
.\" .Sh BUGS |
.\" .Sh BUGS |