chiark / gitweb /
Vladimír Vondruš [Mon, 5 Feb 2018 01:59:07 +0000 (02:59 +0100)]
doxygen: explicitly save symbol count.
With all the aliases the autodetected number was quite off.
Vladimír Vondruš [Mon, 5 Feb 2018 01:12:53 +0000 (02:12 +0100)]
Doc++
Vladimír Vondruš [Mon, 5 Feb 2018 00:10:47 +0000 (01:10 +0100)]
doxygen: implement \m_keyword, \m_keywords and \m_enum_values_as_keywords.
Vladimír Vondruš [Sun, 4 Feb 2018 22:54:59 +0000 (23:54 +0100)]
doxygen: support for aliases in search.
Not yet wired to the complete doxygen extraction, though.
Vladimír Vondruš [Sun, 4 Feb 2018 22:46:36 +0000 (23:46 +0100)]
doxygen: every item added to the map should have proper type.
Vladimír Vondruš [Sun, 4 Feb 2018 22:46:04 +0000 (23:46 +0100)]
doxygen: save search data size as bytes.
Vladimír Vondruš [Sun, 4 Feb 2018 22:26:55 +0000 (23:26 +0100)]
doxygen: simplify search (de)serialization code.
Vladimír Vondruš [Sun, 4 Feb 2018 21:19:34 +0000 (22:19 +0100)]
doxygen: save some bits.
Vladimír Vondruš [Sun, 4 Feb 2018 21:09:52 +0000 (22:09 +0100)]
doxygen: add compound to search data during the actual parse.
So it's prepared for adding extra search stuff that needs to be parsed,
such as search keywords.
I went through the test case and manually reordered by hand to ensure no
functionality was lost while doing this. It was not, quite the opposite
-- groups were not properly marked as deprecated. Now they are. The file
size stays the same, as it should.
Vladimír Vondruš [Sun, 4 Feb 2018 21:15:37 +0000 (22:15 +0100)]
doxygen: verify size of search data in the integration test.
Vladimír Vondruš [Sun, 4 Feb 2018 20:14:52 +0000 (21:14 +0100)]
doxygen: add functions twice to the search data.
With the breadth-first traversal for search result gathering we need to
handle two things:
1. Show a function named min() among other three-letter names (such as
BlendEquation::Min), so in fact have it just as "min" in the trie.
2. But make it still possible to search for min() with the parentheses
after in order to filter out non-function results, so in fact have
it *also* as "min()" in the trie.
This required that the result prefix merging was updated to allow
self-referencing (an item being a complete alias of another item).
That's now allowed only if the suffix length differ and is allowed only
from one side to avoid a cycle. Suffix length differs, because one
result has the () suffix while the other hasn't.
In order to prevent the function from appearing twice in the results, a
lookahead barrier is added to the ( character. That was nicely simple.
Vladimír Vondruš [Sun, 4 Feb 2018 21:07:42 +0000 (22:07 +0100)]
doxygen: avoid trailing spaces in search pretty-print.
Vladimír Vondruš [Sun, 4 Feb 2018 13:44:49 +0000 (14:44 +0100)]
doxygen: sort globbed files when testing.
Makes the results predictable. Wasn't a problem before, but now the
search results are indexed based on that.
Vladimír Vondruš [Sun, 4 Feb 2018 10:44:38 +0000 (11:44 +0100)]
doxygen: huh why are the hashes completely different again?!
Vladimír Vondruš [Sun, 4 Feb 2018 10:02:13 +0000 (11:02 +0100)]
doxygen: implemented result map prefix merging.
Vladimír Vondruš [Sun, 4 Feb 2018 09:30:40 +0000 (10:30 +0100)]
doxygen: there will never be more barriers.
Vladimír Vondruš [Sat, 3 Feb 2018 17:51:13 +0000 (18:51 +0100)]
doxygen: stupid Doxygen.
What the fucking shit.
Vladimír Vondruš [Sat, 3 Feb 2018 17:45:08 +0000 (18:45 +0100)]
doxygen: gathering search results breadth-first.
Instead of depth-first. So the shortest results are first.
Vladimír Vondruš [Sat, 3 Feb 2018 11:53:58 +0000 (12:53 +0100)]
doxygen: save result count instead of node size to search binary.
Makes the code much simpler and allows for up to 256 children and 256
results in each node, instead of limiting its size to 512 bytes (thus
e.g. 64 children and 127 results or some other combination).
I like it when things get better, more flexible and simpler by removing
a bunch of complicated code.
Vladimír Vondruš [Sat, 3 Feb 2018 11:25:51 +0000 (12:25 +0100)]
doc: updated Doxygen docs.
Vladimír Vondruš [Sat, 3 Feb 2018 11:24:29 +0000 (12:24 +0100)]
doxygen: propagate function deletion status to the search.
Also renamed the internal flags to be less annoyingly long.
Vladimír Vondruš [Fri, 2 Feb 2018 23:01:09 +0000 (00:01 +0100)]
doxygen: extract deprecation info and show it everywhere.
* In symbol/filesystem tree listing
* In member listing
* In the search
Vladimír Vondruš [Sat, 3 Feb 2018 09:48:49 +0000 (10:48 +0100)]
doxygen: don't show dirs with / at the end in search.
Not needed since we have the type labels now.
Vladimír Vondruš [Sat, 3 Feb 2018 09:46:23 +0000 (10:46 +0100)]
doxygen: disable unneeded Doxygen output in tests.
Vladimír Vondruš [Fri, 2 Feb 2018 16:30:03 +0000 (17:30 +0100)]
doxygen: avoid wrapping the top navbar on small screen sizes.
Now with the search button it's a bit more crowded.
Vladimír Vondruš [Fri, 2 Feb 2018 10:29:53 +0000 (11:29 +0100)]
doxygen: include symbol type in the search data.
Vladimír Vondruš [Wed, 31 Jan 2018 10:23:08 +0000 (11:23 +0100)]
css: styling for Doxygen search result labels.
Vladimír Vondruš [Tue, 30 Jan 2018 22:56:06 +0000 (23:56 +0100)]
doxygen: make search lookahead barriers and subtree merging configurable.
So I can see the difference.
Vladimír Vondruš [Tue, 30 Jan 2018 22:51:14 +0000 (23:51 +0100)]
doxygen: improve the trie pretty print flexibility, add colors.
I'm using that for the blog post, so it saves me some time :)
Vladimír Vondruš [Mon, 29 Jan 2018 23:38:39 +0000 (00:38 +0100)]
doxygen: proper UTF-8 support in search.
Vladimír Vondruš [Mon, 29 Jan 2018 13:09:46 +0000 (14:09 +0100)]
doxygen: show count of found results and search time.
Vladimír Vondruš [Mon, 29 Jan 2018 12:45:09 +0000 (13:45 +0100)]
doxygen: prevent page scroll (and layout jumps) on showing search.
Vladimír Vondruš [Mon, 29 Jan 2018 12:35:01 +0000 (13:35 +0100)]
doxygen: implement lookahead barriers for search.
Vladimír Vondruš [Sun, 28 Jan 2018 21:45:02 +0000 (22:45 +0100)]
doxygen: don't include function parameter names in search results.
Too damn long.
Vladimír Vondruš [Sun, 28 Jan 2018 21:30:18 +0000 (22:30 +0100)]
doxygen: strip HTML tags from function param types in search.
Vladimír Vondruš [Sun, 28 Jan 2018 19:56:27 +0000 (20:56 +0100)]
doxygen: search result clarity improvements.
* Function/macro params and suffix (such as const&&) is included in
search results.
* Directories are displayed with / at the end.
* Parent pages are included in the name.
In order to properly highlight the typed value, a new "suffix length"
field is introduced in the result map, saying how much text there
is after the matching trie entry.
Also, in order to display the right angle quote for subpages, a bunch of
UTF-8-awareness fixes was done across the code.
Vladimír Vondruš [Sat, 27 Jan 2018 16:41:00 +0000 (17:41 +0100)]
package/ci: JS testing on Travis.
Vladimír Vondruš [Sat, 27 Jan 2018 16:40:36 +0000 (17:40 +0100)]
doxygen: updated docs about unit testing and coverage to include JS.
Vladimír Vondruš [Mon, 29 Jan 2018 22:46:10 +0000 (23:46 +0100)]
doxygen: fix case where pages are subpages of index.
Avoid the assertion, include the index page in the page tree and link to
index.html instead of indexpage.html.
Vladimír Vondruš [Mon, 29 Jan 2018 18:39:17 +0000 (19:39 +0100)]
doxygen: don't die if a page doesn't have a title.
But use its name instead.
Vladimír Vondruš [Tue, 23 Jan 2018 09:35:16 +0000 (10:35 +0100)]
doxygen: initial client-side search implementation.
Vladimír Vondruš [Sat, 20 Jan 2018 22:53:54 +0000 (23:53 +0100)]
doxygen: save half of node size, as it is aligned to 16bit.
Makes it possible to run on the whole Magnum symbol tree.
Vladimír Vondruš [Sat, 20 Jan 2018 22:55:35 +0000 (23:55 +0100)]
doxygen: assert that the search trie consists only of lowercase data.
Can't use `assert c.islower()` as that returns False on non-alnum chars.
Huh.
Vladimír Vondruš [Sat, 20 Jan 2018 22:39:00 +0000 (23:39 +0100)]
doxygen: serializing search result map and everything together.
Vladimír Vondruš [Sat, 20 Jan 2018 17:56:23 +0000 (18:56 +0100)]
doxygen: ability to print trie stats in the pretty printer.
Vladimír Vondruš [Sat, 20 Jan 2018 14:54:23 +0000 (15:54 +0100)]
doxygen: implement subtree merging.
Reduces size of the test case from 514 bytes to 340. Also the
visualization tool can visualize where the trees were cut off.
Vladimír Vondruš [Sat, 20 Jan 2018 22:49:08 +0000 (23:49 +0100)]
doxygen: ability to use the pretty trie printer from a command-line.
Vladimír Vondruš [Fri, 19 Jan 2018 21:54:42 +0000 (22:54 +0100)]
doxygen: initial Trie building & serialization implementation.
Vladimír Vondruš [Tue, 30 Jan 2018 11:48:38 +0000 (12:48 +0100)]
doxygen: loudly ignore member groups without a \name instead of asserting.
Vladimír Vondruš [Mon, 29 Jan 2018 22:47:32 +0000 (23:47 +0100)]
doxygen: render Reference in TOC only if there is some reference.
Vladimír Vondruš [Mon, 29 Jan 2018 22:23:35 +0000 (23:23 +0100)]
doxygen: don't be so strict about directory parents.
There can be quite a mess.
Vladimír Vondruš [Mon, 29 Jan 2018 22:04:58 +0000 (23:04 +0100)]
doxygen: fix section merging with return value docs involved.
Vladimír Vondruš [Mon, 29 Jan 2018 21:12:39 +0000 (22:12 +0100)]
doxygen: more flexible table rendering.
Support more consecutive table header rows, allow <th> elements inside
<tbody>.
Vladimír Vondruš [Mon, 29 Jan 2018 20:56:25 +0000 (21:56 +0100)]
doxygen: support `\param x, y, z Description`.
Oh, so that explains the massive complexity of the XML output. Ugh.
Vladimír Vondruš [Mon, 29 Jan 2018 20:39:55 +0000 (21:39 +0100)]
doxygen: don't die on empty elements.
Include the block ones in the output, remove the inline ones.
Vladimír Vondruš [Mon, 29 Jan 2018 20:28:58 +0000 (21:28 +0100)]
doxygen: support math formulas in custom environment.
And also be more generous with spacing.
Vladimír Vondruš [Mon, 29 Jan 2018 20:15:27 +0000 (21:15 +0100)]
doxygen: groups can have inner classes, too.
Vladimír Vondruš [Mon, 29 Jan 2018 20:15:01 +0000 (21:15 +0100)]
doxygen: more flexible function argument array parsing.
Vladimír Vondruš [Mon, 29 Jan 2018 20:03:39 +0000 (21:03 +0100)]
doxygen: be less strict when parsing \param and \return.
They can be scattered around the documentation block, in different
paragraphs. Combine them together and reorder as they should be.
Vladimír Vondruš [Mon, 29 Jan 2018 19:49:14 +0000 (20:49 +0100)]
doxygen: don't die on XML parse error.
Doxygen is able to highlight PNGs as C++ code. It's amazing, of
course, but the result is a terrible mess (of course). So let's have
another drink and ignore those *amazing things*.
Vladimír Vondruš [Mon, 29 Jan 2018 18:53:24 +0000 (19:53 +0100)]
doxygen: complain instead of blowing up if more \return-s are present.
Vladimír Vondruš [Sat, 27 Jan 2018 18:31:47 +0000 (19:31 +0100)]
doxygen: make it possible to call this script from an arbitrary dir.
Finally. One step closer to having a pip package.
Vladimír Vondruš [Mon, 29 Jan 2018 17:50:12 +0000 (18:50 +0100)]
doxygen: initial support for modules.
Module reference, module index, detecting module hierarchy for
breadcrumb and index.
Vladimír Vondruš [Mon, 29 Jan 2018 16:27:13 +0000 (17:27 +0100)]
doxygen: generate empty index page in case nothing is supplied for it.
So the documentation has some entry point.
Vladimír Vondruš [Mon, 29 Jan 2018 15:35:05 +0000 (16:35 +0100)]
doxygen: ignore RCS strings to avoid assertions.
Vladimír Vondruš [Mon, 29 Jan 2018 10:55:09 +0000 (11:55 +0100)]
doxygen: support <pre> tags.
I can't comprehend why there is a separate <verbatim> and
<preformatted> tag.
Vladimír Vondruš [Mon, 29 Jan 2018 12:45:41 +0000 (13:45 +0100)]
doxygen: solve all problems of mankind by making paths absolute.
Vladimír Vondruš [Sun, 28 Jan 2018 14:54:11 +0000 (15:54 +0100)]
Exclude test directories from coverage report.
Vladimír Vondruš [Sun, 28 Jan 2018 14:53:40 +0000 (15:53 +0100)]
package/ci: no need to pretend that we have coverage for Jinja2.
Vladimír Vondruš [Sun, 28 Jan 2018 14:53:13 +0000 (15:53 +0100)]
doxygen: try to test more stuff on 1.8.13.
Vladimír Vondruš [Thu, 25 Jan 2018 18:03:44 +0000 (19:03 +0100)]
css: clean up and remove redundant stuff from header styling.
By accident the spacing between items was 1.75rem, now it's 2rem. Maybe
too much (but perfectly okay for submenus and the mobile layout), might
change later.
Vladimír Vondruš [Sat, 27 Jan 2018 18:31:26 +0000 (19:31 +0100)]
Added codecov.io badge to README.
Vladimír Vondruš [Sat, 27 Jan 2018 17:46:57 +0000 (18:46 +0100)]
package/ci: upload code coverage to codecov.io.
Vladimír Vondruš [Mon, 22 Jan 2018 13:16:55 +0000 (14:16 +0100)]
site: enable the math-as-code fallback.
Vladimír Vondruš [Mon, 22 Jan 2018 13:13:28 +0000 (14:13 +0100)]
m.math: ability of fallback to rendering math as code blocks.
Vladimír Vondruš [Mon, 22 Jan 2018 12:10:55 +0000 (13:10 +0100)]
m.code: properly preserve backslashes in inline :code:.
The test now passes again.
Vladimír Vondruš [Mon, 22 Jan 2018 12:10:04 +0000 (13:10 +0100)]
m.code: test that backslashes in inline :code: are properly preserved.
They are not.
Vladimír Vondruš [Mon, 22 Jan 2018 08:06:48 +0000 (09:06 +0100)]
doc: properly specify the :css: interpreted text role in doxygen.rst.
Vladimír Vondruš [Sat, 20 Jan 2018 14:45:06 +0000 (15:45 +0100)]
doc: document base/derived classes in the doxygen template.
Vladimír Vondruš [Thu, 18 Jan 2018 22:07:05 +0000 (23:07 +0100)]
doxygen: aaand now the coverage is 100%.
Vladimír Vondruš [Thu, 18 Jan 2018 20:39:29 +0000 (21:39 +0100)]
doxygen: warn when export macros are spotted in the output.
Vladimír Vondruš [Thu, 18 Jan 2018 20:25:36 +0000 (21:25 +0100)]
doxygen: test that example pages work even without breadcrumb/footer nav.
Vladimír Vondruš [Thu, 18 Jan 2018 20:20:23 +0000 (21:20 +0100)]
doxygen: properly ignore empty/private documentation pages.
Vladimír Vondruš [Thu, 18 Jan 2018 20:20:00 +0000 (21:20 +0100)]
doxygen: dedicated test for ignoring empty documentation files.
Vladimír Vondruš [Thu, 18 Jan 2018 14:08:55 +0000 (15:08 +0100)]
doxygen: skip the example test on Doxygen < 1.8.14.
Vladimír Vondruš [Thu, 18 Jan 2018 14:00:12 +0000 (15:00 +0100)]
doxygen: remove pointless restrictions for valid use cases.
And add a test there.
Vladimír Vondruš [Thu, 18 Jan 2018 13:14:29 +0000 (14:14 +0100)]
doxygen: list base and derived classes.
Vladimír Vondruš [Thu, 18 Jan 2018 12:50:23 +0000 (13:50 +0100)]
doxygen: moved test for \m_footernavigation to a better place.
Because I was searching for it everywhere but here.
Vladimír Vondruš [Thu, 18 Jan 2018 12:48:04 +0000 (13:48 +0100)]
doxygen: new \m_examplenavigation command.
This tests the example page for the first time. So I took the
opportunity and also renamed the title suffix to "source" instead of
"example".
Vladimír Vondruš [Thu, 18 Jan 2018 12:11:17 +0000 (13:11 +0100)]
site: build status page.
Basically stolen from Magnum.
Vladimír Vondruš [Thu, 18 Jan 2018 12:10:29 +0000 (13:10 +0100)]
m.gl: ability to link to WebGL extensions.
Vladimír Vondruš [Thu, 18 Jan 2018 12:10:10 +0000 (13:10 +0100)]
doc++
Vladimír Vondruš [Thu, 18 Jan 2018 11:55:18 +0000 (12:55 +0100)]
package/ci: assign unique IDs to builds.
So I can display them in the build status.
Vladimír Vondruš [Thu, 18 Jan 2018 10:40:42 +0000 (11:40 +0100)]
Revert "package/ci: use Doxygen 1.8.14 on Travis."
It depends on libclang.so.6 which is ... well, nowhere to be found.
This reverts commit
4fce7d16e1ab3167fd4f097b504d25c6350d7a93.
Vladimír Vondruš [Wed, 17 Jan 2018 00:45:32 +0000 (01:45 +0100)]
css: updated postprocessed files.
Vladimír Vondruš [Wed, 17 Jan 2018 00:44:38 +0000 (01:44 +0100)]
css: ability to inflate spacing of .m-table by putting .m-big on it.
Vladimír Vondruš [Wed, 17 Jan 2018 00:43:40 +0000 (01:43 +0100)]
css: properly restrict styling to tables marked as .m-table.
Vladimír Vondruš [Wed, 17 Jan 2018 00:42:55 +0000 (01:42 +0100)]
css: ability to put .m-thin on <th> elements.
Vladimír Vondruš [Wed, 17 Jan 2018 00:40:28 +0000 (01:40 +0100)]
css: ability to align text vertically in a table cell.
Vladimír Vondruš [Wed, 17 Jan 2018 00:10:36 +0000 (01:10 +0100)]
Ability to show list of latest news on the index page.