\parblock can be used to group multiple paragraps under a block command
that expects a single paragraph as argument (e.g. \returns). So just
forward the contents of the parblock in the current context.
Produce id attributes for all entities generated by Doxygen. For refs,
generate link tags referencing those ids. Preface the ids with "doxygen."
prefix to avoid potential clashes with ids that may be present in other
places of the resulting DocBook document. Also add the document refid to
the prefix to avoid potential clashes between multiple Doxygen-generated
documents with SHORT_NAMES=YES.
In order to pass through the generated ids without modification (to keep
links working in the output), change generate.id template so that it
returns the value of the id attribute, if one is present, instead of
generating a new id.
The end result is that all references generated by Doxygen (to methods,
classes, variables and so on) propagate to the final HTML output instead
of being stripped during Doxygen to BoostBook translation.
Comparing formatted XML files makes the comparison less sensitive
to whitespace and newline differences between XML documents, and
also makes the subsequent diff more informative, if any differences
are found.
Previously, class members and free functions in sectiondef with
kind="user-defined" would be stripped from HTML output, making function
grouping effectively non-functional. This commit fixes this by converting
such sectiondefs to either method-group or free-function-group in BoostBook
output, depending on whether the grouping is within a class or namespace.
Additionally, previously constructors, destructors and assignment operators
were not allowed to be inside method-groups, which were another reason for
these members to be stripped from the output. This commit allows these members
in member-groups and modifies DTD accordingly.
Also, this fixes duplicate constructors, destructors and assignment operators
generated after the sections for public, private and protected member
functions. This was due to applying XSL templates twice - once when generating
method-group, and then after the method-group.
This commit adds a new XSL parameter boost.sort.params, which allows
users to disable alphabetical sorting of the function and template
parameters in detailed descriptions of functions and classes. By
default, sorting is enabled, which maintains the previous behavior.
Sorting is disabled when the parameter is set to 0. In this case,
parameters are listed in the order they are listed in the BoostBook
documentation, which is normally the same as they are listed in the
function signature or template preamble.
Doxygen 1.9.1 generates enum <initializer> tags with text starting with
an equal sign ('=') followed by the enum value initializer. This sign
was copied under the BoostBook <default> tag, and BoostBook styleseets
add an equal sign of their own when converting this tag to HTML. This
resulted in duplicate equal signs in the HTML output.
This commit strips the leading equal sign from the initializer before
putting it into the <default> tag.
This should have been an established process, but for some reason it was
edited manually after initial generation.
After the change `reference.xml` can be removed from the repository, but
I left it to show that the things are working fine and the difference from
an auto-generated one are simple divergences due to manual changing
(not updated `reference.xml` with added `<purpose>` elements in 38017203f69cec3aa5f402fe8306eb1deff67b9a). Also removed the date numbers
from `dtdxml` as they were never in `xml` and seems to have no actual use,
but brings a lot of noise to `xml` differences after added auto-generation.