version 1.4, 2017/01/25 02:14:43 |
version 1.11, 2018/04/13 16:28:07 |
|
|
.\" $Id$ |
.\" $Id$ |
.\" |
.\" |
.\" Copyright (c) 2014, 2017 Ingo Schwarze <schwarze@openbsd.org> |
.\" Copyright (c) 2014, 2017, 2018 Ingo Schwarze <schwarze@openbsd.org> |
.\" |
.\" |
.\" Permission to use, copy, modify, and distribute this software for any |
.\" Permission to use, copy, modify, and distribute this software for any |
.\" purpose with or without fee is hereby granted, provided that the above |
.\" purpose with or without fee is hereby granted, provided that the above |
|
|
.Ft void |
.Ft void |
.Fn print_gen_decls "struct html *h" |
.Fn print_gen_decls "struct html *h" |
.Ft void |
.Ft void |
|
.Fn print_gen_comment "struct html *h" "struct roff_node *n" |
|
.Ft void |
.Fn print_gen_head "struct html *h" |
.Fn print_gen_head "struct html *h" |
.Ft struct tag * |
.Ft struct tag * |
.Fo print_otag |
.Fo print_otag |
|
|
.Fa "struct html *h" |
.Fa "struct html *h" |
.Fa "const char *word" |
.Fa "const char *word" |
.Fc |
.Fc |
|
.Ft char * |
|
.Fo html_make_id |
|
.Fa "const struct roff_node *n" |
|
.Fc |
|
.Ft int |
|
.Fo html_strlen |
|
.Fa "const char *cp" |
|
.Fc |
.Sh DESCRIPTION |
.Sh DESCRIPTION |
The mandoc HTML formatter is not a formal library. |
The mandoc HTML formatter is not a formal library. |
However, as it is compiled into more than one program, in particular |
However, as it is compiled into more than one program, in particular |
|
|
declarations required for the current document type. |
declarations required for the current document type. |
.Pp |
.Pp |
The function |
The function |
|
.Fn print_gen_comment |
|
prints the leading comments, usually containing a Copyright notice |
|
and license, as an HTML comment. |
|
It is intended to be called right after opening the |
|
.Aq Ic HTML |
|
element. |
|
Pass the first |
|
.Dv ROFFT_COMMENT |
|
node in |
|
.Fa n . |
|
.Pp |
|
The function |
.Fn print_gen_head |
.Fn print_gen_head |
prints the opening |
prints the opening |
.Aq Ic META |
.Aq Ic META |
Line 137 Most attributes require one |
|
Line 159 Most attributes require one |
|
.Va char * |
.Va char * |
argument which becomes the value of the attribute. |
argument which becomes the value of the attribute. |
The arguments have to be given in the same order as the attribute letters. |
The arguments have to be given in the same order as the attribute letters. |
|
If an argument is |
|
.Dv NULL , |
|
the respective attribute is not written. |
.Bl -tag -width 1n -offset indent |
.Bl -tag -width 1n -offset indent |
.It Cm c |
.It Cm c |
Print a |
Print a |
.Cm class |
.Cm class |
attribute. |
attribute. |
|
This attribute letter can optionally be followed by the modifier letter |
|
.Cm T . |
|
In that case, a |
|
.Cm title |
|
attribute with the same value is also printed. |
.It Cm h |
.It Cm h |
Print a |
Print a |
.Cm href |
.Cm href |
Line 175 Print an arbitrary attribute. |
|
Line 205 Print an arbitrary attribute. |
|
This format letter requires two |
This format letter requires two |
.Vt char * |
.Vt char * |
arguments, the attribute name and the value. |
arguments, the attribute name and the value. |
|
The name must not be |
|
.Dv NULL . |
.It Cm s |
.It Cm s |
Print a |
Print a |
.Cm style |
.Cm style |
attribute. |
attribute. |
If present, it must be the last format letter. |
If present, it must be the last format letter. |
In contrast to the other format letters, this one does not yet |
In contrast to the other format letters, this one does not yet |
print the value and does not require an argument. |
print the value and does not take an argument. |
Instead, the rest of the format string consists of pairs of |
Instead, the rest of the format string consists of pairs of |
argument type letters and style name letters. |
argument type letters and style name letters. |
.El |
.El |
.Pp |
.Pp |
Argument type letters each require on argument as follows: |
Argument type letters each require one argument as follows: |
.Bl -tag -width 1n -offset indent |
.Bl -tag -width 1n -offset indent |
.It Cm h |
.It Cm h |
Requires one |
Requires one |
Line 201 argument, used as a style value. |
|
Line 233 argument, used as a style value. |
|
Requires one |
Requires one |
.Vt struct roffsu * |
.Vt struct roffsu * |
argument, used as a length. |
argument, used as a length. |
.It Cm v |
|
Requires one |
|
.Vt int |
|
argument, interpreted as a vertical length in units of |
|
.Dv SCALE_VS . |
|
.It Cm w |
.It Cm w |
Requires one |
Requires one |
.Vt char * |
.Vt char * |
argument, interpreted as an |
argument, interpreted as an |
.Xr mdoc 7 Ns -style |
.Xr mdoc 7 Ns -style |
width specifier. |
width specifier. |
.It Cm W |
If the argument is |
Similar to |
.Dv NULL , |
.Cm w , |
nothing is printed for this pair. |
but makes the width negative by multiplying it with \(mi1. |
.Pp |
|
The |
|
.Cm w |
|
argument type letter can optionally be followed by one, two, or three |
|
modifier letters. |
|
The modifier |
|
.Cm * |
|
suppresses printing of the pair if the argument matches 6n. |
|
The modifier |
|
.Cm + |
|
increases the width by 20% to make even bold text fit |
|
and adds three units for padding between columns. |
|
The modifier |
|
.Cm \- |
|
makes the width negative by multiplying it with \-1. |
.El |
.El |
.Pp |
.Pp |
Style name letters decide what to do with the preceding argument: |
Style name letters decide what to do with the preceding argument: |
.Bl -tag -width 1n -offset indent |
.Bl -tag -width 1n -offset indent |
.It Cm b |
|
Set |
|
.Cm margin-bottom |
|
to the given length. |
|
.It Cm h |
.It Cm h |
Set |
Set |
.Cm height |
.Cm height |
Line 236 to the given length. |
|
Line 273 to the given length. |
|
Set |
Set |
.Cm margin-left |
.Cm margin-left |
to the given length. |
to the given length. |
.It Cm t |
|
Set |
|
.Cm margin-top |
|
to the given length. |
|
.It Cm w |
.It Cm w |
Set |
Set |
.Cm width |
.Cm width |
|
|
.Vt char * |
.Vt char * |
arguments. |
arguments. |
The first is the style name, the second its value. |
The first is the style name, the second its value. |
|
The style name must not be |
|
.Dv NULL . |
.El |
.El |
.Pp |
.Pp |
.Fn print_otag |
.Fn print_otag |
|
|
.Fn print_tagq |
.Fn print_tagq |
functions. |
functions. |
.Pp |
.Pp |
|
The function |
|
.Fn html_make_id |
|
takes a node containing one or more text children |
|
and returns a newly allocated string containing the concatenation |
|
of the child strings, with blanks replaced by underscores. |
|
If the node |
|
.Fa n |
|
contains any non-text child node, |
|
.Fn html_make_id |
|
returns |
|
.Dv NULL |
|
instead. |
|
The caller is responsible for freeing the returned string. |
|
.Pp |
|
The function |
|
.Fn html_strlen |
|
counts the number of characters in |
|
.Fa cp . |
|
It is used as a crude estimate of the width needed to display a string. |
|
.Pp |
The functions |
The functions |
.Fn html_strlen , |
|
.Fn print_eqn , |
.Fn print_eqn , |
.Fn print_tbl , |
.Fn print_tbl , |
and |
and |
Line 340 implementation of common mandoc utility functions |
|
Line 394 implementation of common mandoc utility functions |
|
.An -nosplit |
.An -nosplit |
The mandoc HTML formatter was written by |
The mandoc HTML formatter was written by |
.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv . |
.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv . |
This manual was written by |
It is maintained by |
.An Ingo Schwarze Aq Mt schwarze@openbsd.org . |
.An Ingo Schwarze Aq Mt schwarze@openbsd.org , |
|
who also wrote this manual. |