348 Commits

Author SHA1 Message Date
Andrey Semashev
1198d50fd9 Add support for remarks and important blocks in Doxygen.
Convert \remark commands to <note> in BoostBook. Change \attention to
<important>, and also convert \important to <important>.
2024-06-29 19:57:46 +03:00
Andrey Semashev
c701793300 Add anchors for enum values, when there are no detailed descriptions for them.
This fixes missing linkends to the enum values that are only listed in
synopsys.
2024-06-29 17:43:32 +03:00
Andrey Semashev
f4f0e13720 Added id passthrough for headers. 2024-06-29 17:22:37 +03:00
Andrey Semashev
b1fef2e5b9 Support for Doxygen refs.
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.
2024-06-29 15:08:43 +03:00
Andrey Semashev
7b52b318f1
Merge pull request #9 from Kojoley/autogenerate-reference.xml
Added reference.xml auto-generation from dtdxml
2024-05-13 18:11:56 +03:00
Andrey Semashev
61ca6ef7d9 Fix missing members and functions in named groups in Doxygen output.
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.
2024-05-13 15:55:20 +03:00
Andrey Semashev
0b665ad198
Merge pull request #27 from Lastique/feature/disable_params_sorting
Support disabling sorting function and template parameters
2024-05-13 15:36:09 +03:00
Andrey Semashev
44d887c5f2 Support disabling sorting function and template parameters.
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.
2024-05-13 03:45:32 +03:00
Andrey Semashev
5c1e683568 Fix duplicate equal signs in Doxygen-generated enum value initializers.
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.
2024-05-04 13:19:03 +03:00
Andrey Semashev
3c13dd7031 Fix missing noexcept markup for destructors.
This fixes missing noexcept specifiers for destructors in a Doxygen-generated
documentation.
2023-12-02 23:59:23 +03:00
Glen Fernandes
46c7732d06 Merge branch 'master' into develop 2023-02-27 09:20:20 -05:00
Glen Fernandes
8becc1be28
Merge pull request #7 from vprus/meta-viewport
Generate meta viewport element.
2023-02-26 09:28:51 -05:00
Glen Fernandes
53b9e5fe04
Merge pull request #6 from vprus/copyright-footer
Make copyright footer generation simpler and more flexible.
2023-02-26 09:28:26 -05:00
Andrey Semashev
9f7d6a21dc Fix redundant trailing parenthesis after noexcept with condition.
Fixes https://github.com/boostorg/boostbook/issues/20.
2023-02-26 04:45:30 +03:00
Andrey Semashev
61589d85e1 Removed executable permission from xsl file. 2023-02-26 04:45:08 +03:00
Evan Lenz
d87190a3b1 Remove template rule conflict for text nodes
fix #14
2022-08-23 10:37:15 -07:00
Evan Lenz
116c7b0f23 Disallow h7 headings in output (force-limit to h6)
fix #12
2022-02-05 12:45:22 -08:00
Glen Fernandes
aa3d1d676c Switch encoding to UTF-8 2020-04-10 17:41:32 -04:00
Nikita Kniazev
6db0b9e93a dtd2boostbook.xsl: Added copyright to the output
Backport manual `reference.xml` edit 7484e56d455ef01a5f82590f7b02532158dc141d
2019-02-18 01:17:39 +03:00
Nikita Kniazev
c327b26a61 dtd2boostbook.xsl: Use chapter element instead of section
Backport manual `reference.xml` edit 895142ea8db9501e32c5ae69f38b5644997a0c50
2019-02-18 01:16:21 +03:00
Daniel James
c42075541b Option to add viewpost meta tag for mobile devices 2017-11-04 01:53:56 +00:00
Daniel James
d2b0125d71 Truncate macro ids, as for other symbols 2017-10-30 16:52:52 +00:00
Daniel James
34ad10b7dc Better consistent macro ids 2017-10-29 12:52:54 +00:00
Daniel James
ce2f9fd8ac Tweak some of the consistent ids in boostbook
They use '.' as a separator which results in paths like
'as_fe_id-1/3/2/6/2/7/1/1/1.html'.
2017-10-29 12:45:11 +00:00
Daniel James
02619b765d Fix fast-elements
In the last commit I changed it to store in fast-elements with the wrong id.
Unfortunately this can't be picked up in testing, as the fallback still works
correctly. Although it didn't make any notable difference to the build time,
so maybe the fast-elements mechanism isn't needed?
2017-10-29 12:10:59 +00:00
Daniel James
1b8441c17c Use object.id in boostbook to docbook conversion
Will generate more consistent ids if generate.consistent.ids is set to 1.
2017-10-25 01:14:54 +01:00
Daniel James
f87d471d5c Write out class for quickbook blurb elements 2017-10-12 01:37:29 +01:00
Steven Watanabe
33ce2b8cb2 Try harder to avoid generating unstable filenames like any_cast_idp758556752.html. Functions with the same name only conflict if they're in the same scope. 2017-07-22 19:05:04 -06:00
jzmaddock
f72f6a54aa Change to develop versions of images. 2017-07-05 18:12:23 +01:00
jzmaddock
fb09e4e2bc Change default image (online) location.
I get HTTP 303 errors when retrieving images from the old location (browser is fine, but Java chokes while building the PDF's).  I couldn't find a git location that didn't also give 303 errors, so this seems to be the next best alternative.
2017-07-03 19:27:40 +01:00
Daniel James
4f3894fcfb Alternative 'Fullbleed' navbar.border option. 2016-11-01 09:58:17 +00:00
Daniel James
f39931d170 Convert header style from xsl:if to xsl:choose.
Should make it easier to add alternatives.
2016-11-01 09:58:17 +00:00
Daniel James
f1aef5c98e Fix the <pre> block workaround in doxygen2boostbook.xsl
It turns out the '\code' blocks don't have this problem, so an easier
fix would be just to use them. But now I've implemented the workaround,
might as well leave it in, in case anyone wants to use <pre> blocks in
the future.
2016-01-13 19:38:46 +00:00
Daniel James
30911053b5 Convert the complicated doxygen preformatted tags.
Reported here:

http://lists.boost.org/boost-docs/2016/01/5335.php

Can currently see the error here:

http://www.boost.org/doc/libs/1_60_0/doc/html/boost/container/small_vector_base.html
2016-01-10 14:46:14 +00:00
Steven Watanabe
b42efe92e4 Handle <ndash/> generated by doxygen. 2015-03-31 16:13:31 -06:00
Vladimir Prus
6700d12201 Generate meta viewport element.
This improves layout on mobile devices. I had to remove declaration
for the 'rev' element as otherwise the 'meta' element would have
namespace declaration as well, for no reason. Possibly there's a
better solution.
2014-12-08 20:31:11 +03:00
Vladimir Prus
9ebd73f432 Make copyright footer generation simpler and more flexible.
The footer template has code to generate revision number,
which was never updated to git and therefore generates no text,
but still generates a somewhat complex table structure. This
commit removes code for version numbers, and makes output a simple
div.

I've also added a hook to use pick content of whatever paragraph
with role of 'copyright' the document has, since right now we
pick copyright only from 'bookinfo' element, and Docbook renders
bookinfo element right at the start, and for Boost.Build documentation
I want documentation to start with some hints how to start, not
with a copyright statement.
2014-12-08 10:37:56 +03:00
jzmaddock
c1828eda90 Update fo.xsl
Remove stray text on end of line.
Fixes PDF doc build.
Aside: this whole Q&A set block could probably be removed now given that it appears to be a workaround for the ancient FOP-0.2.
2014-08-13 18:55:00 +01:00
Paul A. Bristow
90c06c4483 Added left, right, center, justify items to cater for role text alignment as for color needed for PDF.
[SVN r86784]
2013-11-22 09:35:22 +00:00
Daniel James
37b65b9320 Use language attribute in doxygen2boostbook.
It would be better to preserve doxygen's syntax highlighting, but I'll leave
that for later.

[SVN r86510]
2013-10-28 22:35:44 +00:00
Daniel James
2a7b62e58d Add support for language='c++'.
The implementation is a bit odd, but I was trying to match the existing
templates.

[SVN r86509]
2013-10-28 22:35:16 +00:00
Daniel James
5c02634c70 Revert change to function.
Will implement using language attribute instead.

[SVN r86508]
2013-10-28 22:34:35 +00:00
Daniel James
248ccf3ca4 Use syntax highlighting for function reference.
This appears to have removed the computeroutput tags from function links in
the hash documentation. I'm not sure if the solution is to retain them in
annotation mode or to be smarted about syntax highlighting programlisting.

[SVN r86505]
2013-10-28 20:15:14 +00:00
Daniel James
885ed7e8c7 Support noexcept with a conditional.
Turns out Doxygen doesn't like BOOST_NOEXCEPT_IF. Text parsing in XSL is an
almighty pain, it might be better to just combine whatever follows the
arguments in argsstring with the values from the attributes.

[SVN r86285]
2013-10-13 11:10:38 +00:00
Daniel James
9e391505c4 Parse brackets in argsstring.
This may seem like overkill, but it's going to be needed for handling
parameters to noexcept. Doesn't handle escapes because that my sanity is
already stretched far enough.

[SVN r86284]
2013-10-13 11:10:01 +00:00
Daniel James
a7dd45375d Use specifiers attribute for virtual and explicit.
[SVN r86279]
2013-10-12 23:54:37 +00:00
Daniel James
e20b8195e1 Fix support for const, volatile, and pure virtual.
[SVN r86278]
2013-10-12 23:53:59 +00:00
Daniel James
78ba0b7b6e Add noexcept and constexpr to doxygen to boostbook coversion.
Should really add proper support to boostbook for `=delete`, `=default` and
noexcept, but I'm not feeling that keen right now. I'm not sure I did the right
thing with `BOOST_CONSTEXPR_OR_CONST`.

[SVN r86277]
2013-10-12 20:11:47 +00:00
Daniel James
9eb8e0a68b Less verbose handling of qualifiers.
[SVN r86276]
2013-10-12 20:11:16 +00:00
Daniel James
0702b53d10 Avoid confusing arguments with quialifiers from argsstring.
[SVN r86275]
2013-10-12 20:10:53 +00:00