version 1.177, 2017/03/06 17:26:04 |
version 1.189, 2017/05/30 19:30:38 |
|
|
.Os |
.Os |
.Sh NAME |
.Sh NAME |
.Nm mandoc |
.Nm mandoc |
.Nd format and display UNIX manuals |
.Nd format manual pages |
.Sh SYNOPSIS |
.Sh SYNOPSIS |
.Nm mandoc |
.Nm mandoc |
.Op Fl acfhkl |
.Op Fl ac |
.Op Fl I Cm os Ns = Ns Ar name |
.Op Fl I Cm os Ns = Ns Ar name |
.Op Fl K Ar encoding |
.Op Fl K Ar encoding |
.Op Fl m Ns Ar format |
.Op Fl mdoc | man |
.Op Fl O Ar option |
.Op Fl O Ar options |
.Op Fl T Ar output |
.Op Fl T Ar output |
.Op Fl W Ar level |
.Op Fl W Ar level |
.Op Ar |
.Op Ar |
|
|
.Xr mdoc 7 |
.Xr mdoc 7 |
or |
or |
.Xr man 7 |
.Xr man 7 |
text from stdin, implying |
text from stdin and produces |
.Fl m Ns Cm andoc , |
|
and produces |
|
.Fl T Cm locale |
.Fl T Cm locale |
output. |
output. |
.Pp |
.Pp |
Line 67 to paginate them. |
|
Line 65 to paginate them. |
|
This is the default. |
This is the default. |
It can be specified to override |
It can be specified to override |
.Fl a . |
.Fl a . |
.It Fl f |
|
A synonym for |
|
.Xr whatis 1 . |
|
This overrides any earlier |
|
.Fl k |
|
and |
|
.Fl l |
|
options. |
|
.It Fl h |
|
Display only the SYNOPSIS lines. |
|
Implies |
|
.Fl c . |
|
.It Fl I Cm os Ns = Ns Ar name |
.It Fl I Cm os Ns = Ns Ar name |
Override the default operating system |
Override the default operating system |
.Ar name |
.Ar name |
for the |
for the |
.Xr mdoc 7 |
.Xr mdoc 7 |
.Sq \&Os |
.Ic \&Os |
and for the |
and for the |
.Xr man 7 |
.Xr man 7 |
.Sq \&TH |
.Ic \&TH |
macro. |
macro. |
.It Fl K Ar encoding |
.It Fl K Ar encoding |
Specify the input encoding. |
Specify the input encoding. |
Line 122 sequence, input is interpreted as |
|
Line 108 sequence, input is interpreted as |
|
Otherwise, input is interpreted as |
Otherwise, input is interpreted as |
.Cm iso-8859-1 . |
.Cm iso-8859-1 . |
.El |
.El |
.It Fl k |
.It Fl mdoc | man |
A synonym for |
With |
.Xr apropos 1 . |
.Fl mdoc , |
This overrides any earlier |
all input files are interpreted as |
.Fl f |
.Xr mdoc 7 . |
and |
With |
.Fl l |
.Fl man , |
options. |
all input files are interpreted as |
.It Fl l |
.Xr man 7 . |
A synonym for |
By default, the input language is automatically detected for each file: |
.Fl a . |
if the the first macro is |
Also reverts any earlier |
.Ic \&Dd |
.Fl f |
or |
and |
.Ic \&Dt , |
.Fl k |
the |
options. |
.Xr mdoc 7 |
.It Fl m Ns Ar format |
parser is used; otherwise, the |
Input format. |
.Xr man 7 |
See |
parser is used. |
.Sx Input Formats |
With other arguments, |
for available formats. |
.Fl m |
Defaults to |
is silently ignored. |
.Fl m Ns Cm andoc . |
.It Fl O Ar options |
.It Fl O Ar option |
|
Comma-separated output options. |
Comma-separated output options. |
.It Fl T Ar output |
.It Fl T Ar output |
Output format. |
Output format. |
Line 161 to be reported on the standard error output and to aff |
|
Line 146 to be reported on the standard error output and to aff |
|
The |
The |
.Ar level |
.Ar level |
can be |
can be |
|
.Cm style , |
.Cm warning , |
.Cm warning , |
.Cm error , |
.Cm error , |
or |
or |
.Cm unsupp ; |
.Cm unsupp ; |
.Cm all |
.Cm all |
is an alias for |
is an alias for |
.Cm warning . |
.Cm style . |
By default, |
By default, |
.Nm |
.Nm |
is silent. |
is silent. |
Line 198 If multiple files are specified, |
|
Line 184 If multiple files are specified, |
|
will halt with the first failed parse. |
will halt with the first failed parse. |
.El |
.El |
.Pp |
.Pp |
|
The options |
|
.Fl fhklw |
|
are also supported and are documented in man(1). |
In |
In |
.Fl f |
.Fl f |
and |
and |
|
|
mode, |
mode, |
.Nm |
.Nm |
also supports the options |
also supports the options |
.Fl CMmOSsw |
.Fl CMmOSs |
described in the |
described in the |
.Xr apropos 1 |
.Xr apropos 1 |
manual. |
manual. |
.Ss Input Formats |
The options |
The |
.Fl fkl |
.Nm |
are mutually exclusive and override each other. |
utility accepts |
|
.Xr mdoc 7 |
|
and |
|
.Xr man 7 |
|
input with |
|
.Fl m Ns Cm doc |
|
and |
|
.Fl m Ns Cm an , |
|
respectively. |
|
The |
|
.Xr mdoc 7 |
|
format is |
|
.Em strongly |
|
recommended; |
|
.Xr man 7 |
|
should only be used for legacy manuals. |
|
.Pp |
|
A third option, |
|
.Fl m Ns Cm andoc , |
|
which is also the default, determines encoding on-the-fly: if the first |
|
non-comment macro is |
|
.Sq \&Dd |
|
or |
|
.Sq \&Dt , |
|
the |
|
.Xr mdoc 7 |
|
parser is used; otherwise, the |
|
.Xr man 7 |
|
parser is used. |
|
.Pp |
|
If multiple |
|
files are specified with |
|
.Fl m Ns Cm andoc , |
|
each has its file-type determined this way. |
|
If multiple files are |
|
specified and |
|
.Fl m Ns Cm doc |
|
or |
|
.Fl m Ns Cm an |
|
is specified, then this format is used exclusively. |
|
.Ss Output Formats |
.Ss Output Formats |
The |
The |
.Nm |
.Nm |
|
|
Encode output in the UTF\-8 multi-byte format. |
Encode output in the UTF\-8 multi-byte format. |
See |
See |
.Sx UTF\-8 Output . |
.Sx UTF\-8 Output . |
.It Fl T Cm xhtml |
|
This is a synonym for |
|
.Fl T Cm html . |
|
.El |
.El |
.Pp |
.Pp |
If multiple input files are specified, these will be processed by the |
If multiple input files are specified, these will be processed by the |
|
|
for example, |
for example, |
.Ar ../src/%I.html , |
.Ar ../src/%I.html , |
is used as a template for linked header files (usually via the |
is used as a template for linked header files (usually via the |
.Sq \&In |
.Ic \&In |
macro). |
macro). |
Instances of |
Instances of |
.Sq \&%I |
.Sq \&%I |
|
|
for example, |
for example, |
.Ar ../html%S/%N.%S.html , |
.Ar ../html%S/%N.%S.html , |
is used as a template for linked manuals (usually via the |
is used as a template for linked manuals (usually via the |
.Sq \&Xr |
.Ic \&Xr |
macro). |
macro). |
Instances of |
Instances of |
.Sq \&%N |
.Sq \&%N |
Line 450 If the input format is |
|
Line 396 If the input format is |
|
.Xr man 7 , |
.Xr man 7 , |
the input is copied to the output, expanding any |
the input is copied to the output, expanding any |
.Xr roff 7 |
.Xr roff 7 |
.Sq so |
.Ic so |
requests. |
requests. |
The parser is also run, and as usual, the |
The parser is also run, and as usual, the |
.Fl W |
.Fl W |
|
|
format conforming to |
format conforming to |
.Lk http://daringfireball.net/projects/markdown/syntax.text\ |
.Lk http://daringfireball.net/projects/markdown/syntax.text\ |
"John Gruber's 2004 specification" . |
"John Gruber's 2004 specification" . |
|
The output also almost conforms to the |
|
.Lk http://commonmark.org/ CommonMark |
|
specification. |
.Pp |
.Pp |
|
The character set used for the markdown output is ASCII. |
|
Non-ASCII characters are encoded as HTML entities. |
|
Since that is not possible in literal font contexts, because these |
|
are rendered as code spans and code blocks in the markdown output, |
|
non-ASCII characters are transliterated to ASCII approximations in |
|
these contexts. |
|
.Pp |
Markdown is a very weak markup language, so all semantic markup is |
Markdown is a very weak markup language, so all semantic markup is |
lost, and even part of the presentational markup may be lost. |
lost, and even part of the presentational markup may be lost. |
Do not use this as an intermediate step in converting to HTML; |
Do not use this as an intermediate step in converting to HTML; |
Line 601 Meta data is not available in this case. |
|
Line 557 Meta data is not available in this case. |
|
.It Ev MANPAGER |
.It Ev MANPAGER |
Any non-empty value of the environment variable |
Any non-empty value of the environment variable |
.Ev MANPAGER |
.Ev MANPAGER |
will be used instead of the standard pagination program, |
is used instead of the standard pagination program, |
.Xr more 1 . |
.Xr more 1 ; |
|
see |
|
.Xr man 1 |
|
for details. |
|
Only used if |
|
.Fl a |
|
or |
|
.Fl l |
|
is specified. |
.It Ev PAGER |
.It Ev PAGER |
Specifies the pagination program to use when |
Specifies the pagination program to use when |
.Ev MANPAGER |
.Ev MANPAGER |
|
|
If neither PAGER nor MANPAGER is defined, |
If neither PAGER nor MANPAGER is defined, |
.Xr more 1 |
.Xr more 1 |
.Fl s |
.Fl s |
will be used. |
is used. |
|
Only used if |
|
.Fl a |
|
or |
|
.Fl l |
|
is specified. |
.El |
.El |
.Sh EXIT STATUS |
.Sh EXIT STATUS |
The |
The |
|
|
.Pp |
.Pp |
.Bl -tag -width Ds -compact |
.Bl -tag -width Ds -compact |
.It 0 |
.It 0 |
No warnings or errors occurred, or those that did were ignored because |
No style suggestions, warnings or errors occurred, or those that |
they were lower than the requested |
did were ignored because they were lower than the requested |
.Ar level . |
.Ar level . |
|
.It 1 |
|
At least one style suggestion occurred, but no warning or error, and |
|
.Fl W Cm style |
|
was specified. |
.It 2 |
.It 2 |
At least one warning occurred, but no error, and |
At least one warning occurred, but no error, and |
.Fl W Cm warning |
.Fl W Cm warning |
|
or |
|
.Fl W Cm style |
was specified. |
was specified. |
.It 3 |
.It 3 |
At least one parsing error occurred, |
At least one parsing error occurred, |
but no unsupported feature was encountered, and |
but no unsupported feature was encountered, and |
.Fl W Cm error |
.Fl W Cm error |
or |
or a lower |
.Fl W Cm warning |
.Ar level |
was specified. |
was requested. |
.It 4 |
.It 4 |
At least one unsupported feature was encountered, and |
At least one unsupported feature was encountered, and |
.Fl W Cm unsupp , |
.Fl W Cm unsupp |
.Fl W Cm error |
or a lower |
or |
.Ar level |
.Fl W Cm warning |
was requested. |
was specified. |
|
.It 5 |
.It 5 |
Invalid command line arguments were specified. |
Invalid command line arguments were specified. |
No input files have been read. |
No input files have been read. |
Line 662 output mode implies |
|
Line 636 output mode implies |
|
.Sh EXAMPLES |
.Sh EXAMPLES |
To page manuals to the terminal: |
To page manuals to the terminal: |
.Pp |
.Pp |
.Dl $ mandoc \-W all,stop mandoc.1 2\*(Gt&1 | less |
.Dl $ mandoc -l mandoc.1 man.1 apropos.1 makewhatis.8 |
.Dl $ mandoc mandoc.1 mdoc.3 mdoc.7 | less |
|
.Pp |
.Pp |
To produce HTML manuals with |
To produce HTML manuals with |
.Pa mandoc.css |
.Pa mandoc.css |
Line 743 rendering can be produced. |
|
Line 716 rendering can be produced. |
|
Documents causing warnings may render poorly when using other |
Documents causing warnings may render poorly when using other |
formatting tools instead of |
formatting tools instead of |
.Nm . |
.Nm . |
|
.It Cm style |
|
An input file uses dubious or discouraged style. |
|
This is not a complaint about the syntax, and probably neither |
|
formatting nor portability are in danger. |
|
While great care is taken to avoid false positives on the higher |
|
message levels, the |
|
.Cm style |
|
level tries to reduce the probability that issues go unnoticed, |
|
so it may occasionally issue bogus suggestions. |
|
Please use your good judgement to decide whether any particular |
|
.Cm style |
|
suggestion really justifies a change to the input file. |
.El |
.El |
.Pp |
.Pp |
Messages of the |
Messages of the |
|
.Cm style , |
.Cm warning , |
.Cm warning , |
.Cm error , |
.Cm error , |
and |
and |
Line 756 are hidden unless their level, or a lower level, is re |
|
Line 742 are hidden unless their level, or a lower level, is re |
|
option or |
option or |
.Fl T Cm lint |
.Fl T Cm lint |
output mode. |
output mode. |
|
.Ss Style messages |
|
.Bl -ohang |
|
.It Sy "useless macro" |
|
.Pq mdoc |
|
A |
|
.Ic \&Bt , |
|
.Ic \&Tn , |
|
or |
|
.Ic \Ud |
|
macro was found. |
|
Simply delete it, it serves no useful purpose. |
|
.El |
.Ss Warnings related to the document prologue |
.Ss Warnings related to the document prologue |
.Bl -ohang |
.Bl -ohang |
.It Sy "missing manual title, using UNTITLED" |
.It Sy "missing manual title, using UNTITLED" |
|
|
.Ic \&Bl |
.Ic \&Bl |
.Fl offset |
.Fl offset |
or |
or |
.Fl width. |
.Fl width . |
.It Sy "missing display type, using -ragged" |
.It Sy "missing display type, using -ragged" |
.Pq mdoc |
.Pq mdoc |
The |
The |