Michael Smith [Thu, 27 Apr 2006 09:40:33 +0000 (09:40 +0000)]
Added the autotoc.label.in.hyperlink param.
If the value of autotoc.label.in.hyperlink is non-zero, labels are
included in hyperlinked titles in the TOC. If it is instead zero,
labels are still displayed prior to the hyperlinked titles, but
are not hyperlinked along with the titles.
Closes patch #1065868. Thanks to anatoly techtonik for the patch.
Michael Smith [Thu, 27 Apr 2006 08:59:37 +0000 (08:59 +0000)]
Added two new params: html.head.legalnotice.link.types and
html.head.legalnotice.link.multiple.
If the value of the generate.legalnotice.link is non-zero, then
the stylesheet generates (in the head section of the HTML source)
either a single HTML link element or, if the value of the
html.head.legalnotice.link.multiple is non-zero, one link element
for each link type specified. Each link has the following
attributes:
- a rel attribute whose value is derived from the value of
html.head.legalnotice.link.types
- an href attribute whose value is set to the URL of the file
containing the legalnotice
- a title attribute whose value is set to the title of the
corresponding legalnotice (or a title programatically
determined by the stylesheet)
Note that in earlier snapshots, man.indent.width was named
man.indentation.default.value and the boolean params had names
like man.indentation.*.adjust. Also the man.indent.blurbs param
was called man.indentation.authors.adjust (or something).
The behavior now is: If the value of a particular man.indent.*
boolean param is non-zero, the corresponding contents (refsect*,
list items, authorblurb/personblurb, vervatims) are displayed with
a left margin indented by a width equal to the value of
man.indent.width.
Michael Smith [Tue, 25 Apr 2006 16:07:48 +0000 (16:07 +0000)]
Added man.table.footnotes.divider param.
In each table that contains footenotes, the string specified by
the man.table.footnotes.divider parameter is output before the
list of footnotes for the table.
Michael Smith [Tue, 25 Apr 2006 09:38:26 +0000 (09:38 +0000)]
Added the man.output.in.separate.dir, man.output.base.dir, and
man.output.subdirs.enabled parameters.
The man.output.base.dir parameter specifies the base directory
into which man-page files are output. The
man.output.subdirs.enabled parameter controls whether the files
are output in subdirectories within the base directory.
The values of the man.output.base.dir and
man.output.subdirs.enabled parameters are used only if the value
of man.output.in.separate.dir parameter is non-zero. If the value
of man.output.in.separate.dir is zero, man-page files are not
output in a separate directory.
Michael Smith [Tue, 25 Apr 2006 08:02:20 +0000 (08:02 +0000)]
Added man.font.funcsynopsisinfo and man.font.funcprototype
params, for specifying the roff font (for example, BI, B, I) for
funcsynopsisinfo and funcprototype output.
Michael Smith [Tue, 25 Apr 2006 06:31:24 +0000 (06:31 +0000)]
Added man.output.manifest.enabled and man.output.manifest.filename params.
If man.output.manifest.enabled is non-zero, a list of filenames
for man pages generated by the stylesheet transformation is
written to the file named by man.output.manifest.filename
Michael Smith [Mon, 24 Apr 2006 05:52:56 +0000 (05:52 +0000)]
Added refentry.meta.get.quietly param.
If zero (the default), notes and warnings about "missing" markup
are generated during gathering of refentry metadata. If non-zero,
the metadata is gathered "quietly" -- that is, the notes and
warnings are suppressed.
NOTE: If you are processing a large amount of refentry content,
you may be able to speed up processing significantly by
setting a non-zero value for refentry.meta.get.quietly.
Michael Smith [Mon, 24 Apr 2006 03:17:40 +0000 (03:17 +0000)]
Changed names of all boolean indentation params to man.indent.*
Also discarded individual man.indent.*.value params and switched
to just using a common man.indent.width param (3n by default).
Norman Walsh [Fri, 21 Apr 2006 14:40:10 +0000 (14:40 +0000)]
After namespace stripping, the source document is the temporary tree
created by the stripping process and it has the wrong base URI for
relative references. Earlier versions of this code used to try to
fix that by patching the elements with relative @fileref attributes.
That was inadequate because it calculated an absolute base URI without
considering that there might be xml:base attributes already in effect.
It seems obvious now that the right thing to do is simply to put the
xml:base on the root of the document. And that seems to work.
Michael Smith [Sun, 16 Apr 2006 04:25:29 +0000 (04:25 +0000)]
Added missing param declarations on several templates. Lack of
them was causing processing with Saxon to fail. Thanks to
Denis Bradford for reporting the problem.
Fixed bug # 1465290. Spaces are converted fo:leader only inside DocBook (non-namespaced elements). Text nodes inside different namespaces (e.g. MathML, SVG) are left untouched.
Michael Smith [Fri, 14 Apr 2006 10:22:41 +0000 (10:22 +0000)]
Created a new message-logging named template, log.message, by
generalizing the old refentry.emit.message template and moving it
out of common/refentry.xsl and into common/common.xsl
Michael Smith [Fri, 14 Apr 2006 08:41:41 +0000 (08:41 +0000)]
Added options for controlling indentation of verbatim output.
Controlled through the man.indentation.verbatims.adjust and
man.indentation.verbatims.value params. Closes #1242997
Michael Smith [Fri, 14 Apr 2006 08:25:36 +0000 (08:25 +0000)]
Added options for controlling indentation in lists and in *blurb
output in the AUTHORS section. Controlled through the
man.indentation.lists.adjust, man.indentation.lists.value,
man.indentation.authors.adjust, and man.indentation.authors.value
parameters. Default is 3 characters (instead of the roff default
of 8 characters). Closes #1449369.
Also, removed the indent that was being set on informalexample
outuput. I will instead add an option for indenting verbatims,
which I think is what the informalexample indent was intended for
originally.
Michael Smith [Fri, 14 Apr 2006 04:58:31 +0000 (04:58 +0000)]
Added support for writing man files into a specific output
directory and into appropriate subdirectories within that output
directory. Controlled through the man.base.dir parameter (similar
to the base.dir support in the HTML stylesheet) and the
man.subdirs.enabled parameter, which automatically determines the
name of an appropriate subdir (for example, man/man7, man/man1,
etc.) based on the section number/manvolnum of the source Refentry.
Closes #1255036 and #1170317. Thanks to Denis Bradford for the
original feature request, and to Costin Stroie for submitting a
patch that was very helpful in implementing the support.
Michael Smith [Fri, 14 Apr 2006 00:17:15 +0000 (00:17 +0000)]
Removed include statement that was pulling in VERSION file. The
current standalone slides FO stylesheets don't do anything with
the VERSION data anyway, and after they're officially integrated,
will always be pulling in the docbook-xsl VERSION data anyway.
Michael Smith [Mon, 10 Apr 2006 14:15:28 +0000 (14:15 +0000)]
Added message-prolog and message-epilog and
suppress-context-node-name local params to the write.chunk and
write.text.chunk templates. They enable additional info to be
emitted before/after the "Writing..." message, and enable they
context-node name to be suppressed in output. The reason for
these additions is that the write.text.chunk template is
"repurposed" in manpages output for writing the names of soelim
stub files as well as "real" man pages, and also is used for
writing the manifest file, and it is useful to emit details about
the type of file it is writing each time.
Michael Smith [Mon, 10 Apr 2006 01:55:16 +0000 (01:55 +0000)]
Added support for copyright and legalnotice.
The manpages stylesheets now output a COPYRIGHT section, after the
AUTHORS section, if a copyright or legalnotice is found in the
source. The section contains the copyright contents followed by
the legalnotice contents. Closes #1450209.
Michael Smith [Sat, 8 Apr 2006 16:54:41 +0000 (16:54 +0000)]
Added support for "software" and "sectdesc" class values on
refmiscinfo; "software" is treated identically to "source", and
"setdesc" is treated identically to "manual".
Michael Smith [Fri, 7 Apr 2006 18:36:06 +0000 (18:36 +0000)]
Made further refinements to the code for doing Refentry metadata
gathering; "normalized" the formatting of notification/warning
messages emitted during metadata gathering.
Michael Smith [Fri, 7 Apr 2006 12:21:25 +0000 (12:21 +0000)]
Drastically reworked all of the XPath expressions used in refentry
metadata gathering -- completely removed $parentinfo and turned
$info into a set of nodes that includes the *info contents of the
Refentry plus the *info contents all all of its ancestor
elements. The basic XPath expression now used throughout is (using
the example of checking for a date):
(($info[//date])[last()]/date)[1].
That selects the "last" *info/date date in document order -- that
is, the one eitther on the Refentry itself or on the closest
ancestor to the Refentry.
It's likely this change may break some things; may need to pick
up some pieces later.
Also, changed the default value for the man.th.extra2.max.length
from 40 to 30.
Michael Smith [Fri, 7 Apr 2006 00:13:08 +0000 (00:13 +0000)]
Changed test expression used for determining whether a term in a
variablelist is the final term. Was using "position() = last()",
but that caused a fatal XPath error in xsltproc (though not in
Saxon); changed to "not(following-sibling::term)", which is
probably a better way of doing it anyway.
Michael Smith [Thu, 6 Apr 2006 14:39:59 +0000 (14:39 +0000)]
Adjusted spacing around K&R-formatted Funcdef and Paramdef output
such that it can more easily be discerned where one ends and the
other begins. Closes #1213264.