=================================================================== RCS file: /cvs/mandoc/mandoc_html.3,v retrieving revision 1.2 retrieving revision 1.6 diff -u -p -r1.2 -r1.6 --- mandoc/mandoc_html.3 2017/01/17 01:47:51 1.2 +++ mandoc/mandoc_html.3 2017/03/13 19:01:38 1.6 @@ -1,6 +1,6 @@ -.\" $Id: mandoc_html.3,v 1.2 2017/01/17 01:47:51 schwarze Exp $ +.\" $Id: mandoc_html.3,v 1.6 2017/03/13 19:01:38 schwarze Exp $ .\" -.\" Copyright (c) 2014 Ingo Schwarze +.\" Copyright (c) 2014, 2017 Ingo Schwarze .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: January 17 2017 $ +.Dd $Mdocdate: March 13 2017 $ .Dt MANDOC_HTML 3 .Os .Sh NAME @@ -137,15 +137,43 @@ Most attributes require one .Va char * argument which becomes the value of the attribute. 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 .It Cm c Print a .Cm class 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 Print a .Cm href attribute. +This attribute letter can optionally be followed by a modifier letter. +If followed by +.Cm R , +it formats the link as a local one by prefixing a +.Sq # +character. +If followed by +.Cm I , +it interpretes the argument as a header file name +and generates a link using the +.Xr mandoc 1 +.Fl O Cm includes +option. +If followed by +.Cm M , +it takes two arguments instead of one, a manual page name and +section, and formats them as a link to a manual page using the +.Xr mandoc 1 +.Fl O Cm man +option. .It Cm i Print an .Cm id @@ -155,13 +183,15 @@ Print an arbitrary attribute. This format letter requires two .Vt char * arguments, the attribute name and the value. +The name must not be +.Dv NULL . .It Cm s Print a .Cm style attribute. If present, it must be the last format letter. 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 argument type letters and style name letters. .El @@ -192,6 +222,13 @@ Requires one argument, interpreted as an .Xr mdoc 7 Ns -style width specifier. +If the argument is +.Dv NULL , +nothing is printed for this pair. +.It Cm W +Similar to +.Cm w , +but makes the width negative by multiplying it with \(mi1. .El .Pp Style name letters decide what to do with the preceding argument: @@ -231,12 +268,12 @@ requires two .Vt char * arguments. The first is the style name, the second its value. +The style name must not be +.Dv NULL . .El .Pp .Fn print_otag uses the private function -.Fn print_attr -which in turn uses the private function .Fn print_encode to take care of HTML encoding. If required by the element type, it remembers in @@ -270,28 +307,6 @@ and functions. .Pp The functions -.Fn bufinit , -.Fn bufcat* , -and -.Fn buffmt* -do not directly produce output but buffer text in the -.Fa buf -member of -.Fa h . -They are not used internally by -.Pa html.c -but intended for use by the language-specific formatters -to ease preparation of strings for the -.Fa p -argument of -.Fn print_otag -and for the -.Fa word -argument of -.Fn print_text . -Consequently, these functions do not do any HTML encoding. -.Pp -The functions .Fn html_strlen , .Fn print_eqn , .Fn print_tbl , @@ -340,5 +355,6 @@ implementation of common mandoc utility functions .An -nosplit The mandoc HTML formatter was written by .An Kristaps Dzonsons Aq Mt kristaps@bsd.lv . -This manual was written by -.An Ingo Schwarze Aq Mt schwarze@openbsd.org . +It is maintained by +.An Ingo Schwarze Aq Mt schwarze@openbsd.org , +who also wrote this manual.