74 Commits

Author SHA1 Message Date
Andrey Semashev
719af2337f Fix handling of multiple exception descriptions, support free form description.
When there are multiple \throws entries in a function documentation, the second
and further exception names were omitted from output and a combined description
was associated with the first exception. Fix this by producing separate
paragraphs, one per exception.

Additionally, support free form exception description when the exception type
is specified as "~". In this case, the exception name is not used, and the
entry description is used to initialize the paragraph in the output.

Updated test to verify these changes.
2024-07-06 17:39:23 +03:00
Andrey Semashev
c220a12c17 Convert \sa to <formalpara> instead of unnamed <para>.
This makes the entries after "See Also:" to be displayed inline rather
than starting from the next line. This is consistent with other kinds
of paragraphs generated from Doxygen output.
2024-07-06 15:12:18 +03:00
Andrey Semashev
cdb1643530 Updated Doxygen test with the added header id. 2024-06-29 17:56:14 +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
2c95662e24 Updated run-tests.py for compatibility with Python 3.x. 2024-05-15 01:35:06 +03:00
Andrey Semashev
fe6f1a818f Compare formatted XML files in the Doxygen test.
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.
2024-05-14 03:27:40 +03:00
Andrey Semashev
5bdebb90a4 Moved .gitignore files to the nested directories. 2024-05-13 23:46:49 +03:00
Andrey Semashev
7279183c79 Updated autodoc.gold in the Doxygen test according to changes in PR #26.
Constructors, destructors and copy-assignment tags were moved under the
respective method-group tags. The rest are newline changes.
2024-05-13 23:41:00 +03: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
Daniel James
7d32695586 Test case for deeply nested macro
In this case the id is so long that there's nothing left of the macro name.
2017-10-30 17:09:29 +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
edb40425d3 Simple macro tests 2017-10-29 12:51:48 +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
c7208c85f7 Run tests with and without consistent ids 2017-10-29 12:40:07 +00:00
Daniel James
36f9c16af2 Regen test results for improved ids 2017-09-10 23:30:33 +01:00
Daniel James
79664e03ca Return error if any of the python tests fail 2017-09-10 23:29:38 +01:00
Daniel James
8278d3d181 First attempt at using travis.
The boost build based test just builds something, it doesn't check the
result. So the python test is the only 'real' test.
2016-05-27 00:00:21 +01:00
Daniel James
02abc8c9a4 Truncate ids in tests even more.
Whatever version of xsltproc I'm not using generates even longer id
numbers, which means that the base id needs to be further truncated to
make space for them.
2016-05-26 23:14:30 +01: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
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
0702b53d10 Avoid confusing arguments with quialifiers from argsstring.
[SVN r86275]
2013-10-12 20:10:53 +00:00
Daniel James
807c6f0c71 Factor out method and function attributes.
Not all attributes apply to all methods and functions, but hopefully they should
never appear when inappropriate.

[SVN r86274]
2013-10-12 20:10:22 +00:00
Daniel James
e3d710413a Add newlines to doxygen2boostbook output.
Hopefully this won't break anything, and will make it much easier to read the
intermediate files.

[SVN r86271]
2013-10-12 20:09:10 +00:00
Daniel James
84603bfb06 Fix virtual methods in doxygen2boostbook.
[SVN r86270]
2013-10-12 20:08:37 +00:00
Daniel James
4e0ce03c6e Add assignment return to doxygen2boostbook. Refs #9241.
[SVN r86252]
2013-10-12 02:10:24 +00:00
Daniel James
b04fe544f4 Add doxygen tests for deleted and default functions. Refs #5480.
[SVN r84166]
2013-05-06 10:29:48 +00:00
Daniel James
7834e82ba8 Fix doxygen test.
For some reason the script is no longer creating an empty cv attribute. Which
appears to be a harmless change.

[SVN r84165]
2013-05-06 10:29:33 +00:00
Daniel James
24d607e6b6 Fix boostbook tests for platform inconsistencies.
[SVN r84164]
2013-05-06 10:29:15 +00:00
Steven Watanabe
69c0d83433 Project ids are supposed to be unique. (Refs #5480)
[SVN r83936]
2013-04-16 22:20:16 +00:00
Daniel James
da2a2a8614 Boostbook: Better error messages from python tests.
[SVN r83015]
2013-02-19 19:14:03 +00:00
Daniel James
7b453c224f Boostbook: Regenerate the "gold" test docs.
The ids are now a little more truncated than they used to be, this is partly
due to the fix in r77599, and partly due to the generate-id generating longer
ids in newer versions of xsltproc.

It might be better to improve the id normalisation so that it is more
consistent across versions.

[SVN r82891]
2013-02-14 21:47:20 +00:00
Daniel James
b2cd68b118 Boostbook: Fix run-tests.py for new generate-id.
The form of the generated ids has changed due to a security issue.

[SVN r82890]
2013-02-14 21:45:56 +00:00
Daniel James
dfc72f6d44 Boostbook: Fix methodname for operator().
[SVN r79657]
2012-07-22 07:17:55 +00:00
Daniel James
dd7f4dedf5 Boostbook: Update tests for change in [77599].
[SVN r79655]
2012-07-22 07:17:12 +00:00
Daniel James
3dfddbd9dc Boostbook: Fix tests for change in [75013].
[SVN r79654]
2012-07-22 07:16:32 +00:00
Steven Watanabe
d7dcdd15be Correctly identify constructors/destructors of class template specializations.
[SVN r78602]
2012-05-24 19:38:51 +00:00
Steven Watanabe
57154a5696 Align documented typedefs. Fixes #5798.
[SVN r75013]
2011-10-17 18:22:22 +00:00
Steven Watanabe
176dc6c46e Handle explicit conversion operators. Fixes #5478.
[SVN r74999]
2011-10-16 22:31:40 +00:00
Steven Watanabe
3d2c61d79b Better handling of tparam.
[SVN r74982]
2011-10-16 17:32:17 +00:00
Daniel James
130a1bd0a8 Boostbook: Support doxygen warning tag.
Thanks to Tim. Refs #5740.

Unfortunately doxygen puts it inside a paragraph. But the generated
documentation seems good enough.

[SVN r73419]
2011-07-28 22:35:53 +00:00
Daniel James
58dc4361c4 Boostbook: Pass through processing instructions.
[SVN r72002]
2011-05-16 21:35:33 +00:00