Michael Smith [Mon, 27 Mar 2006 05:10:40 +0000 (05:10 +0000)]
This makefile downloads Jeni Tennison's "Markup Utility"
stylesheet, then runs it through the modify.xsl file to alter the
value of the "punctuation" variable.
Michael Smith [Mon, 27 Mar 2006 04:48:09 +0000 (04:48 +0000)]
Added cvs2cl2docbook.xsl stylesheet for converting XML-formatted
ChangeLog output of the cvs2cl command into DocBook form. It uses
Jeni Tennison's "Markup Utility" stylesheet to auto-mark-up
instances of DocBook element and parameter names in commit
messages. It also preserves newlines in the messages.
Removed older version of this stylesheet from xsl/
Michael Smith [Sun, 26 Mar 2006 01:53:10 +0000 (01:53 +0000)]
Added a utility stylesheet that gets all of the element names from
a RELAX NG schema (in XML syntax). Needed for recognizing DocBook
element names in commit descriptions and marking them up.
Michael Smith [Sat, 25 Mar 2006 23:17:31 +0000 (23:17 +0000)]
Changed assembling of version name so that it does not start with
a date. Because if it starts with a number (e.g., "2006"), it is
not a NCName. We use it in ID values, so it must be a valid NCName.
Michael Smith [Sat, 25 Mar 2006 23:04:22 +0000 (23:04 +0000)]
Changed handler for budiling version number of snapshots to remove
colon in time part.
For example, 2006-03-25_0921_snapshot instead of 2006-03-25_09:21_snapshot
-- the reason being that the colon wreaks havoc with make(1)
because it is used in a filename (RELEASE-NOTES-2006-03-25_09:21_snapshot.xml)
that is also a target name.
Michael Smith [Sat, 25 Mar 2006 17:32:46 +0000 (17:32 +0000)]
Updated the release-notes and NEWS build to be based on XML
output from cvs2cl and then use of an XSLT stylesheet to
dynamically auto-generated the list of changes since the last
release.
Michael Smith [Sat, 25 Mar 2006 17:14:42 +0000 (17:14 +0000)]
Switched to just using translate() in place of locale-aware
string.lower(). The dirnames are all ASCII, so using
string.lower() to convert them is overkill.
Michael Smith [Sat, 25 Mar 2006 16:11:06 +0000 (16:11 +0000)]
Added a new substitution to man.string.subst.map, because it is
necessary clean-up needed for dealing with a kludge for preserving
tab characters (which are used by tbl(1) as cell-separators)
Michael Smith [Sat, 25 Mar 2006 16:07:17 +0000 (16:07 +0000)]
Added a "string.lower" template. Does the opposite of
string.upper().. Used in the XSLT-based build process for
generating the NEWS file and release notes, where we take
the "display names" of subsections like "HTMLHelp", and change
them into the actual directory names, like "htmlhelp".
Michael Smith [Sat, 25 Mar 2006 16:02:56 +0000 (16:02 +0000)]
Updated such that auto-generated NEWS.xml contents are XIncluded
during build. Also changed to Sect1/Sect2 instead of
Section/Section. Maybe I'm just too old-school, but I find it
comforting to know easily where I am in the structure while I'm
editing or viewing the source.
Michael Smith [Sat, 25 Mar 2006 15:57:08 +0000 (15:57 +0000)]
The Makefile.param file is generated as part of the build, so
doesn't need to be in source control. I thought it wasn't,
currently, but it was showing up in my "cvs update", so I'm
(re)removing it.
Michael Smith [Sat, 25 Mar 2006 15:38:58 +0000 (15:38 +0000)]
Added a bunch of filenames to .cvsignore -- names of files
generated by the build, including several related to the updated
(XSLT-based and cvs2cl-based) build of the release notes and NEWS file.
Michael Smith [Sat, 25 Mar 2006 15:26:58 +0000 (15:26 +0000)]
Updated build to use an XSLT-based process to dynamically
auto-generate the release notes and NEWS files from output of the
cvs2cl perl script <http://www.red-bean.com/cvs2cl/>. This
potentially helps us get closer to being "release ready" at at
time, and maybe start to get releases out more quickly and more
often. On the other hand, it's also sort of a step toward making
the snapshot builds more like real releases, such that the
official releases could eventually be obviated by having easily
installable/updateable snapshots available. The "easily
installable" piece of that is what I want to work on next. A
system like perl's CPAN update/install interface, PHP's PEAR,
rubygems, etc. ...
Anyway, back to now -- this commit adds two new files in the
docscrc dir: get-latest-tag.xsl and release-notes.xsl. It also
involves some changes, committed separately, to the master
makefile used for release builds.
Michael Smith [Sat, 25 Mar 2006 05:24:40 +0000 (05:24 +0000)]
Turned release notes document into a DocBook 5 instance, but added
internal DTD subset that makes it backward-compatible with DocBook
old. Also added a skeletal "snapshot" section.
Michael Smith [Sat, 25 Mar 2006 00:15:37 +0000 (00:15 +0000)]
Check for //refentry|//db:refentry instead of
local-name() = 'refentry'... because single quotation marks cause
problem due to fact that the stylesheet is embedded in value of a
variable
Michael Smith [Thu, 23 Mar 2006 23:13:37 +0000 (23:13 +0000)]
Added <xsl:template match="/"> to make stripns.xsl usable as a
standalone stylesheet for stripping out DocBook 5/NG to DocBook 4.
Note that DocBook XSLT drivers that include this stylesheet all
override the match="/" template.
Michael Smith [Thu, 23 Mar 2006 03:02:10 +0000 (03:02 +0000)]
Fixed handling of table footnotes.
With this checkin, the table support in the manpages stylesheet is
now basically feature complete. So this change closes request
#619532, "No support for tables" -- the oldest currently open
manpages feature request, submitted by Ben Secrest (blsecres) on
2002-10-07. Congratulations to me [patting myself on the back].
Michael Smith [Wed, 22 Mar 2006 08:52:37 +0000 (08:52 +0000)]
Corrected handling for case where a cell with a rowspan is
preceded in the same row by a cell or cells with colspans. Added
step for calling trim-text() on roff-formatted contents of each
cell, to trim off leading/trailing whitespace from those contents.
Michael Smith [Wed, 22 Mar 2006 02:04:23 +0000 (02:04 +0000)]
Further table fine-tuning. Added handling for nested tables
(discard them with a warning, because tbl(1) does not support
nested tables). Also deal with cases where source table has
multiple tgroup. Only output "allbox" if border != 0.
Michael Smith [Tue, 21 Mar 2006 06:24:03 +0000 (06:24 +0000)]
Checkpointing. Now works correctly with the standard test table
(which contains rowspan and colspan instances. Need to test
further to make sure it will work with other rowspan/colspan
tables.
Michael Smith [Mon, 20 Mar 2006 15:20:03 +0000 (15:20 +0000)]
Checkpointing. Format spec now gets written correctly, including
for all instances of Rowspan. Just have an issue with generating
one less tab than should be in instances with rowspan/colspan.
Michael Smith [Mon, 20 Mar 2006 06:47:27 +0000 (06:47 +0000)]
Added support for *info gathering all the way up to root element.
Problem:: Existing stylesheets only gathered the *info child of
each Refentry, plus *info child of its parent.
Change:: For each Refentry, the stylesheets now contstruct a node
set that contains the entire contents of *info children of all
ancestors of that Refentry, as well as its own *info child.
Closes #1243035. Thanks to Joe Orton for the feature request.
Michael Smith [Sat, 18 Mar 2006 04:25:38 +0000 (04:25 +0000)]
Removed hack of keeping "master" manifest file for keeping track
of what man pages we have output. We can just generate the list
in memory using the power of GNU make..
Michael Smith [Sat, 18 Mar 2006 03:49:11 +0000 (03:49 +0000)]
Refined support for generating and cleaning up chunked output.
Also added support for controlling the set default make targets
(output formats) from the environment, using the
DOCBOOK_OUTPUT_FORMATS environment variable.
Michael Smith [Fri, 17 Mar 2006 12:15:37 +0000 (12:15 +0000)]
Added option for turning off bold formatting in Funcsynopsis.
Boldface formatting in function synopsis is mandated in the man(7)
man page and is used almost universally in existing man pages.
Despite that, it really does look like crap to have an entire
Funcsynopsis output in bold, so I added params for turning off the
bold formatting and/or replacing it with a different roff special
font (e.g., "RI" for alternating roman/italic instead of the
default "BI" for alternating bold/italic). The new params are
"man.funcprototype.font" and "man.funcsynopsisinfo.font". To be
documented later.
Closes #1452247. Thanks to Joe Orton for the feature request.
Michael Smith [Wed, 15 Mar 2006 01:00:08 +0000 (01:00 +0000)]
Use AUTHORS instead of AUTHOR if we have multiple people to
attribute. Also, fixed checking such that we generate author
section even if we don't have an author (as long as there is at
least one other person/entity we can put in the section). Also
adjusted assembly of content for Author metainfo field such that
we now not only use author, but try to find a "best match" if we
can't find an author name to put there.
Closes #1233592. Thanks to Sam Steingold for the request.
Michael Smith [Tue, 14 Mar 2006 15:36:24 +0000 (15:36 +0000)]
Changes for request #1243027, "Impove handling of AUTHOR section."
This adds support for Collab, Corpauthor, Corpcredt, Orgname,
Publishername, and Publisher. Also adds support for output of
Affiliation and its children, and support for using gentext
strings for auto-attributing roles (Author, Editor, Publisher,
Translator, etc.). Also did a lot of code cleanup and
modularization of all the AUTHOR handling code. And fixed a bug
that was causing Author info to not be picked up correctly for
metainfo comment we embed in man-page source.
Michael Smith [Mon, 13 Mar 2006 15:15:36 +0000 (15:15 +0000)]
Provide support for adjusting default indent. Problem:: By
default, man pages are output with a indent of 8 characters.
That's a lot of wasted space that might better be used --
especially in cases where the content verbatim stuff that has long
lines. Change:: Added support for customizing the roff "default
indentation value" (value of IN register)
man.indentation.default.adjust (boolean) and
man.indentation.default.value params (number, 3n by default).
Also made some adjustments to get better formatting of
sub-subsection titles even without adjusting default indentation.
Michael Smith [Mon, 13 Mar 2006 14:45:42 +0000 (14:45 +0000)]
Support bold output for "emphasis remap='B'". (because Eric
Raymond's doclifter(1) tool converts groff source marked up with
".B" request or "\fB" escapes to DocBook "emphasis remap='B'".)
Michael Smith [Mon, 13 Mar 2006 14:29:43 +0000 (14:29 +0000)]
Doh! If I only had a nickel for every time I made the mistake of
checking for plain following-sibling instead of *first* following
sibling, I would have enough money to buy... something.
Michael Smith [Mon, 13 Mar 2006 14:08:58 +0000 (14:08 +0000)]
Added "Miscellaneous Technical" block to default subset. This
basically just means that the LEFT- and RIGHT-POINTING ANGLE
BRACKET characters (〈 and 〉, "rang" and "lang"
named entities) get converted correctly.
Michael Smith [Mon, 13 Mar 2006 13:58:48 +0000 (13:58 +0000)]
Disappearing whitespace in Para content, fixed.
Problem:: For a Para, in output of content of two child elements
separated by whitespace, the space gets eaten. Also, for adjacent
text nodes separated by whitespace plus a comment. Cause:: I
didn't realize that running normalize-space() on a node that only
contains space returns an empty string :) Also, did not have the
code checking for comment or PI nodes correctly. Fix:: Added code
to correctly catch whitespacespace-only nodes, comments, and PIs.
Michael Smith [Sat, 11 Mar 2006 19:44:56 +0000 (19:44 +0000)]
Segmentedlist, fixed character formatting within seg output.
Problem:: Seg content that contained bold/ital character
formatting was getting munged. Cause:: Existing code was running
trim.text() on Seg content; trim.text() is meant to be run only
on text nodes. Fix:: Removed call to trim.text() and replaced
with "apply templates and read resulting contents into a variable,
then run normalize-space() on that variable". That should work
OK, because Seg content model does not permit verbatim content or
any other block content as its child content.
Closes #1447578. Thanks to Daniel Leidert for reporting.
Michael Smith [Sat, 11 Mar 2006 19:25:49 +0000 (19:25 +0000)]
Segmentedlist output, adjusted width of table cells.
Problem:: Content of table cells in segmentedlist output wraps
even when there's still plenty of room left for text on the
current line. Cause:: Behavior described is by design in tbl(1).
It effectively sets the maximum width of cells to 1/3 of the
current line length. Not sure why... Fix:: Added called to .ll
request that causes line length to temporarily be increased to
1.62 times the current line length before table output of each
segmentedlist, then restore it back to previous width after
output of the table markup. I suppose there are probably some
cases where that will produce some undesirable results. But for
now, it gives good output for all test cases I've tried.
Michael Smith [Fri, 10 Mar 2006 13:34:20 +0000 (13:34 +0000)]
Added a secondary Refname, so we can clearly see difference
between multiple Refnamediv handling (line break between) vs.
multiple-Refname-within-same-Refnamediv handling (inline separated
with commas).
Michael Smith [Fri, 10 Mar 2006 13:32:02 +0000 (13:32 +0000)]
If multiple Refnamediv within same Refentry, put a ".br" line
break between them, instead of a blank line. This closes up
spacing between them and also makes it clear that the break is
intentional, not a stray.
Michael Smith [Fri, 10 Mar 2006 12:13:03 +0000 (12:13 +0000)]
Funcsynopsisinfo must be handled as a verbatim.
Problem:: Existing code was not preserving breaks and whitespace
in Funcsynopsisinfo. Cause:: Lack of awareness that
Funcsynopsisinfo is a verbatim environment. Fix:: Handle in
Funcsynopsisinfo in the same way as other verbatims (that is,
wrap in .nf/.fi requests. Additional problem: According to man(7)
man page and existing man2/ pages, all parts of a funcsynopsis
that are not args must be in bold. But because Funcsynopsisinfo
is a verbatim, it needs different roff bold markup than other
stuff. So wrapped it in ".ft B"/ft pair. (Perhaps it might make
sense to wrap the whole funcsynopsis in ".ft B"/ft instead of
trying to bold/unbold at the word level, as we are doing now. Or
perhaps not.)
Closes bug #1447121. Thanks to Joe Orton for reporting.
Michael Smith [Fri, 10 Mar 2006 10:16:21 +0000 (10:16 +0000)]
Itemizedlist/Orderedlist with Title, fixed handling of.
Also handling of paragraph text following a list.
Problem:: No output for Title element of Itemized/Orderedlist.
Cause:: Missing logic for matching Title instances in lists. Fix::
Added handling for Title.
Also fixed problem that caused text following a list within the
same paragraph to be indented more than expected.
Closes #1447042 and #1447072.
Michael Smith [Fri, 10 Mar 2006 08:52:59 +0000 (08:52 +0000)]
Authorgroup handling fixed. Problem:: Content of Authorgroup was
not getting output. Cause:: Oversight in XPath expression caused
Author and friends to be found only if they were direct children
of *info. Fix:: Updated XPath expression to check for all Author
etc. descendants, not just direct children.
Closes bug #1447026. Thanks to Daniel Leidert for reporting.
Michael Smith [Fri, 10 Mar 2006 08:04:15 +0000 (08:04 +0000)]
Added support for Segmentedlist.
Details: Output is tabular, with no option for "list" type output.
Output for Segtitle elements can be supressed by setting
man.segtitle.suppress. If Segtitle content is output, it is
rendered in italic type (not bold because not all terminals
support bold and so italic ensures the stand out on those
terminals). Extra space (.sp line) at end of table code ensures
that it gets handled correctly in the case where its source is the
child of a Para. Closes feature-request #1400097. Thanks to
Daniel Leidert for the patch and push, and to Alastair Rankine for
filing the original feature request.
Michael Smith [Fri, 10 Mar 2006 06:53:20 +0000 (06:53 +0000)]
Corrected oversight in handling of Productname. Problem:: No
trademark output for Productname class="trade" instances. Cause::
Oversight. Fix:: Added handling for the specified case.
Closes bug #1447004. Thanks to Daniel Leidert for reporting.
Michael Smith [Thu, 9 Mar 2006 11:04:07 +0000 (11:04 +0000)]
Fixed handling of admonitions that are children of Para element.
Previously, handling of Caution, Important, Note, Tip, Warning
fails if they are children of Para. The reason is that they are
not included in the list of elements that we check when handling
"mixed block" content. Fixed by adding them to the list.
Closes bug #1446282. Thanks to Daniel Leidert for reporting.
Michael Smith [Wed, 8 Mar 2006 12:08:37 +0000 (12:08 +0000)]
Changed to store uncompressed snapshot contents on build host
instead of uploading to remote host (SF web server). (Because
uncompressed docbook-xsl distro now runs to 20Mb, which cuts
pretty deep into the 100Mb disk-space quota for the project.) I
set up Apache rewrites in .htaccess files in the snapshots/xsl and
snapshots/xsl2 dirs at the SF site to redirect requests for those
to docbook.xml-doc.org/snapshots instead.
Michael Smith [Wed, 8 Mar 2006 11:57:07 +0000 (11:57 +0000)]
Made adjustments to deal with relatively recent changes that have
apparently been made in GNU tar: (1) rearranged args into an order
acceptable to the new tar, and (2) added the "P" switch to stop it
from complaining about about the absolute path name specified for
the tar.exclude file.