Michael Smith [Mon, 11 Jul 2005 10:29:58 +0000 (10:29 +0000)]
Implemented out-of-line handling of URLs for links (Ulinks).
(Closes #1234711 and #1233909)
For display of links, this implementation gives users three choices:
1. Number & list links. Each link is numbered and a numbered
list of all links is added to the end of the document.
or
2. Only list links. Links are not numbered, but an (unnumbered)
list of links is added to the end of the document.
or
3. Suppress links. Don't number links and don't add any list of
links to the end of the document
Users can also choose whether links should be underlined.
Default is "the works" -- list, number, and underline links. The
man.links.* parameters can be used to change the defaults.
The default heading for the link list is REFERENCES. That can be
changed using the man.links.list.heading param.
There is a performance hit for listing and numbering links. But it
is not an unreasonable one.
The code currently only checks for Ulinks. It can be updated later
(possibly) to deal with DocBook NG linking. But come to think of
it, DocBook NG links get converted by the strip-ns template. So
DocBook NG users will just need to run that first. Or, if I can
ever manage to get the single-pass conversion process to work with
manpages, it will get done automatically.
Michael Smith [Sun, 10 Jul 2005 16:39:04 +0000 (16:39 +0000)]
Ulink handling -- fixed performance issue (per-Refentry sets of
Ulinks are now assembled once per document and stored in a
global variable).
It now takes roughly on the order of 15 to 20 percent longer to
process a doc with links numbered than it does to process it with
links unnumbered. Which may sound like a lot, but with a doc that
has 100+ links, on my machine, that still amounts to less than a
one-second difference (only about 0.7 seconds).
Bob Stayton [Sun, 10 Jul 2005 08:14:08 +0000 (08:14 +0000)]
Added support for specifying number format for auto labels for
chapter, appendix, part, preface from patch #1234737
to satsify feature request #1178038.
Michael Smith [Sat, 9 Jul 2005 10:07:58 +0000 (10:07 +0000)]
Checkpointing further ulink changes. All visible links are now
displayed in the link list, and numbered. But it performance
leaves something to be desired. And not working properly for case
where document contains multiple Refentry.
Michael Smith [Sat, 9 Jul 2005 09:00:14 +0000 (09:00 +0000)]
Checkpointing. Now link list contains unique URLs (removes dupes),
but needs more work -- some URLs are getting suppressed that
shouldn't be; one symptom of that is that numbering is thrown off.
Michael Smith [Wed, 6 Jul 2005 05:16:18 +0000 (05:16 +0000)]
(internal) Added support for TDG hyperlinking with <tag> (instead
of just <sgmltag>. Also added support for ignoring <tag>s and
<sgmltag>s that have a "namespace" attribute whose value contains
"http://docbook.sf.net/" or "http://docbook.sourceforge.net/"
(that is, those don't get turned into TDG hyperlinks).
(Note: This change has no effect on the behavior of the DocBook XSL
stylesheets; it only affects the build used to create the actual)
DocBook XSL releases.)
Michael Smith [Tue, 5 Jul 2005 09:19:17 +0000 (09:19 +0000)]
Implemented capability for users to customize "refentry metadata
gathering" by specifying XPath expressions to use as "info
profiles" for gathering the data, and, in some cases, to suppress
parts of the data collected.
Michael Smith [Tue, 5 Jul 2005 03:49:25 +0000 (03:49 +0000)]
Added the following substitutions:
<!-- * non-breaking space
<substitution oldstring=" " newstring="\ "/>
<!-- * copyright sign
<substitution oldstring="©" newstring="\(co"/>
<!-- * registered sign
<substitution oldstring="®" newstring="\(rg"/>
<!-- * left double quote
<substitution oldstring="“" newstring="\(lq"/>
<!-- * right double quote
<substitution oldstring="”" newstring="\(rq"/>
<!-- * left single quote
<substitution oldstring="‘" newstring="\(oq"/>
<!-- * right single quote
<substitution oldstring="’" newstring="\(cq"/>
The reason is that those are all characters that the DocBook XSL
stylesheets themselves generate under certain circumstances; so
dealing with them in man.string.subst.map ensures they will always
be replaced, even if man.charmap.enabled is zero.
Michael Smith [Tue, 5 Jul 2005 02:49:13 +0000 (02:49 +0000)]
Did some reorganizing.
- Moved prepare.manpage.contents template out of general.xsl file
and into other.xsl; general.xsl templates are now all templates
that are called multiple times for each refentry, while
templates in other.xsl are called only once per each refentry.
- Removed get.metadata template; refentry metadata gathering is
now done by common/refentry.xsl in a way that is independent of
the final output format; so the common/refentry.xsl templates
can be called not just by manpages stylesheets, but by
stylesheets for any other output format
- Added a write.man.file template. This is basically just a
wrapper around the write.text.chunk template; it takes "name"
and "section" params, assembles those into a filename, then
passes that filename to write.text.chunk
Michael Smith [Tue, 5 Jul 2005 00:22:21 +0000 (00:22 +0000)]
Added trademark/productname template.
This template causes true Unicode characters to be output for the
"copyright" and "registered" symbols (which be default then get
replaced by the apply-string-subst-map template). It outputs the
string "(TM)" for trademark (because roff "\(tm" output is not
good) and "(SM)" for servicemark.
Michael Smith [Mon, 4 Jul 2005 23:51:51 +0000 (23:51 +0000)]
Initial add.
This file provides templates for gathering refentry metadata. The
templates are currently only called by the manpages stylesheets,
but they are designed to be generally useful.
Michael Smith [Fri, 1 Jul 2005 13:24:49 +0000 (13:24 +0000)]
Checkpointing. In the middle of tinkering with composition of the
.TH title line. Started pulling at thread and unwound things. This
works as-is now (not broken) but is not finished.
Michael Smith [Thu, 30 Jun 2005 13:22:10 +0000 (13:22 +0000)]
First updates for 1.69.0 release.
So far, only includes descriptions of the manpages changes. Sorry,
that is all I could managed to get done so far. If anybody else
has time to add descriptions for the HTML and FO stylesheets,
please do. Otherwise, I will get back to work on them later
tonight my time.
Michael Smith [Thu, 30 Jun 2005 13:19:25 +0000 (13:19 +0000)]
Set LANG=C when generating RELEASE-NOTES.txt
The LANG value in my environment is EUC-JP, and running w3m with
that causes it to use some special EUC-JP characters for bullets
and such. So, need to set LANG=C to get it to use ASCII bullets
(a.k.a. asterisks)
Michael Smith [Wed, 29 Jun 2005 09:57:39 +0000 (09:57 +0000)]
Removed unnecessary additional linebreak that was getting added
after each varlistentry. Also, in a couple places that needed it,
added check for *info/title (instead of just title). Also, added
support of processing title or *info/title on Refsynopsisdiv
(still falls back to gentext SYNOPSIS title if no hard-coded title
found.
Michael Smith [Wed, 29 Jun 2005 06:48:11 +0000 (06:48 +0000)]
Added man.subheading.divider param, for enabling addition of
divider around section titles in source. This doesn't show up in
rendered man page -- it is just there to help make the source more
readable.
Michael Smith [Wed, 29 Jun 2005 05:55:34 +0000 (05:55 +0000)]
Added support for man.justify, man.hyphenate,
man.break.after.slash, and an.th.title.max.length parameters.
Also switch to using locale-safe "string-upper" function to
uppercase the TH title. So manpages output is now
internationalized/localizable in all respects where is can be made
so at this point.
Michael Smith [Wed, 29 Jun 2005 04:18:54 +0000 (04:18 +0000)]
Added man.break.after.slash parameter.
Default is zero, which disables line-breaking after slashes.
Setting a non-zero value enables line-breaking after slashes.
This option is potentially usefull for causing long URLs and/or
pathnames to be wrapped or broken-up across lines.
Michael Smith [Tue, 28 Jun 2005 18:39:21 +0000 (18:39 +0000)]
Support man.justify and man.hyphenate params. (closes #1229225).
Note that default for the both of those is zero (off), because
justified text looks good only when it is also hyphenated; to
quote the "Hypenation" node from the groff info page:
Since the odds are not great for finding a set of words, for
every output line, which fit nicely on a line without inserting
excessive amounts of space between words, `gtroff' hyphenates
words so that it can justify lines without inserting too much
space between words.
The problem is that groff is not particularly smart about how it
does hyphenation; it can end up hyphenating a lot of things that
you don't want hyphenated (names of symbols, for example), and it
is difficult and tiresome work to prevent it from doing that. So,
disabling both justification and hyphenation ensures that hyphens
won't get inserted where you don't want to them, and you don't end
up with lines containing excessive amounts of space between words.
Yes, these default settings run counter to how most existing man
pages are formatted. But there are some notable exceptions, such
as the perl man pages.
Bob Stayton [Tue, 28 Jun 2005 18:37:59 +0000 (18:37 +0000)]
Moved the fo:basic-link for page refs to the page.citation template
so it can be more easily customized.
Fixed bug in using page keyword in role used as xrefstyle.