kapidox: supporting also QML (and cmake, Python,, ...)
Friedrich W. H. Kossebau
kossebau at kde.org
Mon Aug 1 18:50:56 BST 2016
Hi, Olivier and all,
picking up from the short chat on #plasma today:
so given kapidox is overcoming the old API dox generating scripts with more
proper semantic info...
where the old scripts allowed to use random Mainpage.dox at random places in
the directories to structure the created documentation (e.g. to group QML
"classes" away from C++ classes), kapidox now would need extension of its
spec, with semantics needed to talk about QML types and C++ classes to allow
proper generation of nicely separated pages.
This actually touches a broader problem with the current generated
documentation, which right now is centric to the C++ interfaces. Though
existing KDE library products have at least interfaces in
* CMake macros 
and perhaps one day bindings in Python and other languages would be also
provided directly with the products and thus it would be great to have their
documentation covered as well easily.
 E.g. KCoreAddon installs a few cmake macros, like
kcoreaddons_desktop_to_json, which have nice API dox inside, but there is
nothing generated from that on api.kde.org currently, both bad for
discoverability or pointing people to things with urls.
For a solution:
Perhaps at the generation side there could be another level right below the
library, for the interface (C++, QML, CMake, ...).
So "Product" > "Library" > "Interface",
By the example of Plasma Components (https://api.kde.org/frameworks/plasma-framework) there would then be in the header
KDE API Reference > The KDE Frameworks > Plasma > QML
KDE API Reference > The KDE Frameworks > Plasma > C++
and in the left sidebar there would be another section "Language" (or better
term) which would allow to switch to the docs for the other interfaces
supported (C++, QML, CMake, ...).
On the metainfo.yaml spec side, no idea yet.
More information about the kde-core-devel