chiark / gitweb /
Vladimír Vondruš [Tue, 1 Jan 2019 23:42:43 +0000 (00:42 +0100)]
doxygen: if the URL already contains #search, hide scrollbar etc.
For consistent experience compared to loading the docs without #search
and then hitting Tab.
Vladimír Vondruš [Tue, 1 Jan 2019 23:26:22 +0000 (00:26 +0100)]
doxygen: behave consistently when going back to filled search input.
Not sure why I didn't use the same implementation in both cases.
Vladimír Vondruš [Tue, 1 Jan 2019 23:23:45 +0000 (00:23 +0100)]
doxygen: debug output for long-running tasks.
Vladimír Vondruš [Tue, 1 Jan 2019 21:32:13 +0000 (22:32 +0100)]
doxygen: disable spell check in the search box.
Vladimír Vondruš [Tue, 1 Jan 2019 21:15:48 +0000 (22:15 +0100)]
doxygen: prevent search result being selected before the mouse moves.
Without this, the search was quite unusable with just the keyboard.
Vladimír Vondruš [Tue, 1 Jan 2019 21:10:38 +0000 (22:10 +0100)]
doxygen: provide a more meaningful order for results.
Results of the same length are now ordered like this, instead of
appearing in whatever order they were added:
* Deprecated and deleted symbols are put on the bottom
* Then ordered by type:
* First pages, since they usually provide most information
* Then namespaces and groups
* Then classes, structs, unions
* Then functions
* Then macros
* Then enums
* And enum values and variables last
* After that, items with the shorter suffix (the least amount of
function arguments) are preferred over longer
* Finally, items with shorter prefix are preferred over longer (so e.g.
it shows a Foo in the root namespace over Foo which is 5 levels deep)
This might get fine-tuned later, but I'm already very happy with the
result.
Vladimír Vondruš [Tue, 1 Jan 2019 18:38:40 +0000 (19:38 +0100)]
doxygen: swap order of search-related class definitions.
So I can type-annotate better. No functional change.
Vladimír Vondruš [Tue, 1 Jan 2019 18:15:18 +0000 (19:15 +0100)]
doxygen: parse override, final and conditional noexcept keywords.
* override and final is now parsed from function signatures, in the
theme the [virtual] label gets replaced with either [override] or
[final], since it doesn't make sense to include both [virtual] and
[override]/[final] label as the former is implicit for the latter.
* fixed order of parsing function signature keywords so function
signatures that are both deleted/defaulted and noexcept are parsed
correctly instead of noexcept being ignored
* conditional noexcept is now recognized as well, shown in the theme as
[noexcept(...)]
* [final] class specifier is now shown in the class header and also in
the derived class list
* [virtual] label is now shown for both virtual base class and
virtually derived classes to make it symmetric
Vladimír Vondruš [Mon, 31 Dec 2018 23:56:10 +0000 (00:56 +0100)]
Updated copyright year.
Vladimír Vondruš [Mon, 31 Dec 2018 23:52:05 +0000 (00:52 +0100)]
doxygen: more detailed docs explaining the #include behavior.
And required patches.
Vladimír Vondruš [Mon, 31 Dec 2018 23:35:49 +0000 (00:35 +0100)]
doxygen: improve #include information display based on real-world use.
* In cases where Doxygen spots the namespace first in a *.cpp file (and
later in a header) but the namespace is still contained in a single
header, the include informations was improperly put locally into
members, instead of globally. Now the information is propagated
upwards from the members to ensure correctness. This needs also
special handling for namespaces that are otherwise empty, where
there's nothing that could propagate the info upwards.
* Complex namespaces (namespaces containing other namespaces or
classes) no longer have the include information global even though
the non-class/namespace members are in the same file. This would be
misleading since inner namespaces and classes are often in different
files.
Vladimír Vondruš [Mon, 31 Dec 2018 23:00:04 +0000 (00:00 +0100)]
doxygen: of course I hit an issue right at the start, so let's test it.
This breaks everything.
Vladimír Vondruš [Mon, 31 Dec 2018 02:30:12 +0000 (03:30 +0100)]
Populated CREDITS.md.
Vladimír Vondruš [Mon, 31 Dec 2018 02:22:09 +0000 (03:22 +0100)]
doxygen: explicitly write trailing newline to all output files.
Makes test file updates much easier. I need to revisit this later with a
more systematic solution.
Vladimír Vondruš [Mon, 31 Dec 2018 02:07:34 +0000 (03:07 +0100)]
doxygen: show corresponding #include files.
This is again a superset of the functionality that stock Doxygen
supports (well of course, I'm full-assing things as usual):
* Classes (structs, unions) show their corresponding include file right
in the header (that's what Doxygen does, too)
* Besides that, namespaces that are fully contained in one file show
the corresponding include file as well
* In case of modules (groups) or when namespace contents are spread
over multiple files, each member shows its own specific include file
in the detailed docs (because not doing that would be very confusing
for users, especially if the mapping to files is not trivial). This
means that functions/enums/typedefs/variables/defines that were
previously just a brief docs may now get expanded to full docs just
to contain the include file information. This also unfortunately hits
a bug in Doxygen, where it doesn't properly report the header
location for declarations of free (non-member) functions and
variables (but uses the definition location, which is in most cases
in an (otherwise undocumented) *.cpp file). I need to report and/or
PR that, ugh.
* Files don't provide the include file information, because there it's
known implicitly.
* The SHOW_INCLUDE_FILES setting (which defaults to YES and is meant
to be for "a list of the files that are included by a file in the
documentation of that file" which is just absolutely fucking useless
in every way imaginable) is reused to toggle showing of the include
information.
* To make the rendering a bit more compact, in case the struct or
member contains template parameters, the include information is put
next to these instead of after the signature.
* As with everything else in m.css, if the corresponding header is not
documented at all, the include file information is not present.
The \headerfile Doxygen command is not supported, because (what
a surprise! this is totally shitty as well! who would have thought!):
* it works only for classes, you can't override the include name for
the file itself!
* and forget about doing anything like that for free functions,
typedefs or the like!
* (minor) it doesn't support #include A_MACRO
* it doesn't seem to be exposed in the XML at all (ahahahahah AAAARGH)
Co-authored-by: Ryohei Machida <machida_mn@complex.ist.hokudai.ac.jp>
Vladimír Vondruš [Mon, 31 Dec 2018 01:50:01 +0000 (02:50 +0100)]
doxygen: print #define detailed description only if actually there.
The detailed docs can contain just parameter docs, for example.
Vladimír Vondruš [Sun, 30 Dec 2018 23:58:40 +0000 (00:58 +0100)]
doxygen: support C++14 variable templates.
Interestingly enough, Doxygen already has the support and I just need
some basic template bureaucracy to get it running.
Vladimír Vondruš [Sun, 30 Dec 2018 18:48:35 +0000 (19:48 +0100)]
doxygen: minor update to the namespace page template.
There will be an include line added and this is sufficiently
self-contained to commit separately.
Vladimír Vondruš [Sun, 30 Dec 2018 17:10:22 +0000 (18:10 +0100)]
doxygen: minor code clarifications.
Vladimír Vondruš [Sun, 30 Dec 2018 18:50:14 +0000 (19:50 +0100)]
css: make it possible to have also inline code inverted and highlighted.
More of a hack to support Doxygen theme #include info styling.
Vladimír Vondruš [Mon, 31 Dec 2018 00:07:30 +0000 (01:07 +0100)]
doc: forgot to document typedef.has_template_details doxygen template.
Vladimír Vondruš [Mon, 31 Dec 2018 00:05:48 +0000 (01:05 +0100)]
Doc++
Vladimír Vondruš [Sun, 30 Dec 2018 00:09:25 +0000 (01:09 +0100)]
package/ci: use Doxygen 1.8.15.
Finally, a year later, a stable release I can use for testing on Travis.
On the other hand I'm furious because the old FTP got lost along with
all files it had and now the only possibility is to fetch infested crap
from sourceforge.
Also UGH WHY SO SLOW.
Vladimír Vondruš [Sun, 30 Dec 2018 00:08:59 +0000 (01:08 +0100)]
doxygen: adapt for xrefitem anchor changes in 1.8.15.
Vladimír Vondruš [Sat, 29 Dec 2018 23:30:11 +0000 (00:30 +0100)]
doxygen: <hr> is a block element.
Also remove a comment and check that made sense before suupport for <hr>
was added.
Vladimír Vondruš [Sat, 29 Dec 2018 23:29:26 +0000 (00:29 +0100)]
doxygen: some awful autobrief stuff actually got fixed.
But it's still a dumpster fire.
Vladimír Vondruš [Sat, 29 Dec 2018 21:30:48 +0000 (22:30 +0100)]
pelican-theme: nope, this is not merged yet.
Vladimír Vondruš [Sat, 29 Dec 2018 21:26:17 +0000 (22:26 +0100)]
doxygen: adapt to renamed Doxygen option.
Vladimír Vondruš [Sat, 29 Dec 2018 11:24:01 +0000 (12:24 +0100)]
doc: fixes for order-dependent RST parsing errors.
Vladimír Vondruš [Mon, 26 Nov 2018 20:55:18 +0000 (21:55 +0100)]
m.math,doxygen: another case of math rendering in different order.
Similar issue appeared in
c327de907e1de101636f7b3e5697eda6416902e8, what
that hell is causing this?! Is it because I ran updmap?! Is that shit
not deterministic?! What the hell?!
Vladimír Vondruš [Mon, 26 Nov 2018 20:49:16 +0000 (21:49 +0100)]
doc: mention all required latex packages for math rendering.
Vladimír Vondruš [Mon, 26 Nov 2018 14:36:52 +0000 (15:36 +0100)]
Remove test files for dot 2.36, not needed anymore.
Vladimír Vondruš [Mon, 26 Nov 2018 14:24:49 +0000 (15:24 +0100)]
m.plots: Travis with 16.04 doesn't have this bug anymore, it seems.
Vladimír Vondruš [Mon, 26 Nov 2018 14:04:38 +0000 (15:04 +0100)]
package/ci: try to use Doxygen 1.8.14, finally.
Vladimír Vondruš [Mon, 26 Nov 2018 14:04:23 +0000 (15:04 +0100)]
package/ci: use Ubuntu 16.04 on Travis.
Vladimír Vondruš [Mon, 26 Nov 2018 13:40:13 +0000 (14:40 +0100)]
doxygen: slightly more robust way of parsing template arguments.
I don't want to parse C++, please don't ask for more.
Vladimír Vondruš [Mon, 26 Nov 2018 13:38:48 +0000 (14:38 +0100)]
doxygen: add back removed spaces around &&.
And test this whole thing.
Vladimír Vondruš [Mon, 26 Nov 2018 12:27:33 +0000 (13:27 +0100)]
m.htmlsanity: clarify the use of expand_links a bit.
I wanted to remove it at first, but then realized a more proper solution
would be to not require the user to add random fields to
FORMATTED_FIELDS. In the ideal case the template *could* do just
{{ field|render_rst|expand_links(article }}
but at the moment Pelican strips all reST formatting from the
non-formatted fields, which kinda prevents this. So keeping the filter
for later when we have this fixed.
Vladimír Vondruš [Mon, 26 Nov 2018 12:17:14 +0000 (13:17 +0100)]
doc: mention that Pelican 4 is required.
Vladimír Vondruš [Mon, 26 Nov 2018 12:16:44 +0000 (13:16 +0100)]
theme: this PR is not merged yet.
Vladimír Vondruš [Mon, 26 Nov 2018 12:15:51 +0000 (13:15 +0100)]
theme: use the {slug} instead of %s for feed URL templates.
And thus dropping Pelican 3.7 support here as well.
Vladimír Vondruš [Mon, 26 Nov 2018 12:05:52 +0000 (13:05 +0100)]
m.htmlsanity: drop Pelican 3.7 compatibility.
A huge pile of ugly workarounds. NEIN.
Vladimír Vondruš [Mon, 26 Nov 2018 11:49:13 +0000 (12:49 +0100)]
doxygen: properly bubble up search keywords from lists as well.
Vladimír Vondruš [Mon, 26 Nov 2018 11:47:42 +0000 (12:47 +0100)]
doxygen: test propagating \m_keywords from a list.
Noope.
Vladimír Vondruš [Mon, 26 Nov 2018 11:45:25 +0000 (12:45 +0100)]
doc: more fixes to order-dependent reST errors.
Vladimír Vondruš [Mon, 26 Nov 2018 11:44:39 +0000 (12:44 +0100)]
Add license badge to README, reorder them for consistency.
Vladimír Vondruš [Mon, 26 Nov 2018 11:42:59 +0000 (12:42 +0100)]
Added .editorconfig to control indentation across various files.
And replacing .kateconfig with that.
Vladimír Vondruš [Fri, 16 Nov 2018 23:42:13 +0000 (00:42 +0100)]
Adapted to Pelican 3.8 {filename} -> {static} changes.
Vladimír Vondruš [Fri, 16 Nov 2018 23:12:43 +0000 (00:12 +0100)]
doc: I got to learn more dot, so clean up the sources.
Vladimír Vondruš [Fri, 16 Nov 2018 23:12:13 +0000 (00:12 +0100)]
doc: fix more cases of order-dependent processing error.
Vladimír Vondruš [Fri, 16 Nov 2018 23:06:34 +0000 (00:06 +0100)]
css: correctly color links inside block headers.
Vladimír Vondruš [Fri, 16 Nov 2018 22:30:43 +0000 (23:30 +0100)]
css: renamed --color-button-active-color to --color-link-active-color.
This will get used for more things than just buttons, so the name is
quite misleading.
Vladimír Vondruš [Fri, 16 Nov 2018 23:25:14 +0000 (00:25 +0100)]
css: move color setup to one place in the file.
Vladimír Vondruš [Fri, 16 Nov 2018 21:13:51 +0000 (22:13 +0100)]
doxygen: make it possible to override styling of all blocks.
Finally I can have custom xrefitems.
Vladimír Vondruš [Fri, 16 Nov 2018 23:22:46 +0000 (00:22 +0100)]
m.filesize, m.images: support Pelican 3.8 {static} placeholder.
Vladimír Vondruš [Sun, 4 Nov 2018 12:25:12 +0000 (13:25 +0100)]
Remove old Pelican stuff that's no longer needed.
Vladimír Vondruš [Sun, 4 Nov 2018 11:58:57 +0000 (12:58 +0100)]
Updated .gitignores to hide testing stuff.
Vladimír Vondruš [Sun, 4 Nov 2018 11:31:22 +0000 (12:31 +0100)]
m.dox: support adding custom classes to the links.
Vladimír Vondruš [Sun, 4 Nov 2018 11:30:05 +0000 (12:30 +0100)]
m.dox: properly clear everything on init().
It's not usual that init() is called more than once. Except in tests,
there it breaks stuff.
Vladimír Vondruš [Sun, 4 Nov 2018 10:41:32 +0000 (11:41 +0100)]
doxygen: support the \htmlinclude command.
Vladimír Vondruš [Sun, 4 Nov 2018 10:14:26 +0000 (11:14 +0100)]
doxygen: properly fill error message placeholder.
Vladimír Vondruš [Sun, 4 Nov 2018 10:13:44 +0000 (11:13 +0100)]
doxygen: allow both <para> and <mcss:div> be parent of block elements.
Vladimír Vondruš [Sun, 4 Nov 2018 10:06:55 +0000 (11:06 +0100)]
css: improve the debug style a tiny bit.
Vladimír Vondruš [Sat, 3 Nov 2018 21:42:13 +0000 (22:42 +0100)]
doxygen: handle code/formula block/inline distinction always.
And not only when these are in paragraphs -- we can wrap them in a
m.css-specific tag and this would break. There should be no visible
behavioral change with this.
Vladimír Vondruš [Sat, 3 Nov 2018 21:39:30 +0000 (22:39 +0100)]
site: enable debug CSS for local development.
Vladimír Vondruš [Sat, 3 Nov 2018 21:38:41 +0000 (22:38 +0100)]
css: support color swatches in code snippets.
Still needs to be hooked into Pygments, m.code and Doxygen theme
somehow.
Vladimír Vondruš [Sat, 3 Nov 2018 21:28:49 +0000 (22:28 +0100)]
css: fix padding-after for SVG images.
:(
Vladimír Vondruš [Sat, 3 Nov 2018 21:23:58 +0000 (22:23 +0100)]
css: reworked support for floatable components.
What's done, roughly:
* It's now possible to tuck the floating components out of the page
flow similarly to .m-container-inflate. This required me to update
the active section highlighting to handle this case correctly as well
(and there's a lot more CSS for that now, ugh).
* The .m-container-inflate has now padding after to make it better
integrable into everything else.
* OTOH, the all-around padding for .m-col-*-* elements is done only
when they are direct children of .m-row. Otherwise, the padding is
done only for .m-left-*, .m-right-*, .m-center-* and only on sides
where it is needed.
Also added a few tests for functionality that was neglected before.
Vladimír Vondruš [Sat, 3 Nov 2018 13:06:48 +0000 (14:06 +0100)]
Add the light color theme source as well.
Vladimír Vondruš [Sat, 3 Nov 2018 13:03:47 +0000 (14:03 +0100)]
HTTPS links to external sites as well, if possible.
Vladimír Vondruš [Sat, 3 Nov 2018 12:03:33 +0000 (13:03 +0100)]
mcss.mosra.cz is HTTPS now.
Other parts of mosra.cz not yet, as I don't want to bother with broken
design due to the outdated theme right now.
Vladimír Vondruš [Mon, 22 Oct 2018 00:37:27 +0000 (02:37 +0200)]
Magnum has HTTPS now.
Vladimír Vondruš [Mon, 22 Oct 2018 00:35:05 +0000 (02:35 +0200)]
m.htmlsanity: don't choke on links without refuri.
Sorry :(
Vladimír Vondruš [Sun, 21 Oct 2018 20:21:33 +0000 (22:21 +0200)]
doc: fix Doxygen snippet.
What was I doing there?!
Vladimír Vondruš [Sun, 21 Oct 2018 20:20:52 +0000 (22:20 +0200)]
m.htmlsanity: don't apply typography on links with URLs in title.
And e-mail addresses. That's a very bad thing to do.
Vladimír Vondruš [Tue, 16 Oct 2018 12:40:38 +0000 (14:40 +0200)]
css: highlight also diff subheadings.
Vladimír Vondruš [Tue, 16 Oct 2018 12:40:13 +0000 (14:40 +0200)]
artwork: update the theme file with diff highlighting colors.
Vladimír Vondruš [Tue, 16 Oct 2018 11:55:37 +0000 (13:55 +0200)]
css: implement diff colors for the Pygments dark style.
Vladimír Vondruš [Sun, 14 Oct 2018 00:00:59 +0000 (02:00 +0200)]
Doc++
Vladimír Vondruš [Sun, 14 Oct 2018 16:26:25 +0000 (18:26 +0200)]
doxygen: implement support for \dot and \dotfile.
Ugh, this blew up again. Three days to get here.
Vladimír Vondruš [Sun, 14 Oct 2018 16:24:40 +0000 (18:24 +0200)]
doxygen: delimit inline CSS with a semicolon for consistency.
Vladimír Vondruš [Sun, 14 Oct 2018 13:08:07 +0000 (15:08 +0200)]
doxygen: fix parsing of two consecutive HTML navbar links.
Of course I have bugz!
Vladimír Vondruš [Sun, 14 Oct 2018 14:35:40 +0000 (16:35 +0200)]
m.dot: compatibility with graph figures from m.components.
Vladimír Vondruš [Sun, 14 Oct 2018 14:32:10 +0000 (16:32 +0200)]
m.dot: make title optional.
Requiring a title won't make any sense for graph figures.
Vladimír Vondruš [Sun, 14 Oct 2018 00:03:49 +0000 (02:03 +0200)]
m.dot: extract the reusable guts to an independent module.
Will get used in the Doxygen theme, where we don't need docutils or
Pelican.
Vladimír Vondruš [Sun, 14 Oct 2018 14:38:38 +0000 (16:38 +0200)]
m.math: compatibility with math figures from m.components.
Vladimír Vondruš [Sat, 13 Oct 2018 19:18:41 +0000 (21:18 +0200)]
m.math: process all math in the directive at once.
Having multiple blocks is not very useful, as you don't get any of the
fancy typesetting features for that. Use latex arrays for that or
put the math into multiple consecutive directives.
Vladimír Vondruš [Sun, 14 Oct 2018 00:17:46 +0000 (02:17 +0200)]
m.components: support math and graph figures, figure captions.
The m.math and m.dot plugins need to be updated as well, to put the
<svg> directly inside instead of wrapping it in a <div>. THat'll get
done in later commits.
Vladimír Vondruš [Sun, 14 Oct 2018 15:12:36 +0000 (17:12 +0200)]
css: enforce bottom padding on figures w/ components in description.
Otherwise stuff like `div.m-graph:last-child` that resets it back to 0
gets a priority.
Vladimír Vondruš [Sat, 13 Oct 2018 23:57:48 +0000 (01:57 +0200)]
css: make it possible to have math and graph figures.
Also added a test file verifying math coloring priorities.
Vladimír Vondruš [Sat, 13 Oct 2018 16:41:57 +0000 (18:41 +0200)]
css: make graph, plot <svg>s and block math <svg> a block element.
It was inline, which caused weird padding on the bottom.
Vladimír Vondruš [Sat, 13 Oct 2018 17:48:26 +0000 (19:48 +0200)]
css: ensure parity between <img> and <svg> for images and figures.
Vladimír Vondruš [Sat, 13 Oct 2018 16:42:41 +0000 (18:42 +0200)]
css: have padding-after also for plots and graphs.
Not sure why this was omitted.
Vladimír Vondruš [Fri, 12 Oct 2018 20:06:09 +0000 (22:06 +0200)]
doxygen: make it possible to have separate brand link in navbar.
Vladimír Vondruš [Fri, 12 Oct 2018 19:57:53 +0000 (21:57 +0200)]
css: make it possible to have a main/subsite link in the navbar.
Vladimír Vondruš [Fri, 12 Oct 2018 19:36:16 +0000 (21:36 +0200)]
theme: ability to create pages with a passthrough template.
I.e., without any header navbar or footer.
Vladimír Vondruš [Fri, 12 Oct 2018 19:08:41 +0000 (21:08 +0200)]
theme: make it possible to add JS files and arbitrary HTML to page head.
Vladimír Vondruš [Thu, 11 Oct 2018 10:49:32 +0000 (12:49 +0200)]
doxygen: support arbitrary HTML for navbar links.
Vladimír Vondruš [Thu, 11 Oct 2018 10:48:04 +0000 (12:48 +0200)]
doxygen: remove redundancy from test names.
Vladimír Vondruš [Thu, 11 Oct 2018 10:47:32 +0000 (12:47 +0200)]
doxygen: support adding extra stuff to HTML <head>.
There's a new option for that: M_HTML_HEADER. Specify it as a multi-line
value for extra prettiness.