Hi! I read <in the docs> that it is possible to su...
# dokka
j
Hi! I read in the docs that it is possible to support generating docs for other programming languages so I decided to give it a go. At Chromia we have our own programming language called Rell which is written entirely in Kotlin, so dokka makes a lot of sense. I managed to get a project up and running and extending
SourceToDocumentableTranslator
to convert our `.rell`files (which I compile in the in the
invoke
method to get the type info). This worked fairly alright, except for some exceptions that the
DocumentableToPageTranslator
could not handle my custom
DeclarationDescriptor
, so I extended that too. This was actually pretty cool! 🎉 Now there are some fundamental differences between Kotlin and Rell, so I also need to customize the theme and naming etc. Now this is where it started to get a bit more of a hassle. I created my own extensoin of
DefaultPageCreator
in the hopes of achieving this. Unfortunately, changing the title from "Package-level declarations" to "Module-level declarations" required a a full override of
contentForPackage
(with a one line change), and similarly for changing the main title from "Packages" to "Modules" required overriding
contentForModule
. I was hoping there was a quicker way to change these small details. The real headache came when I wanted to add more tabs (In rell, function-like types are "operations", "queries" and "functions"). Seems like this is handled by the
HtmlRenderer#createTabsForPackage
which unfortunately is private. Following the call chain there are a number of private functions before coming to the open ones. Would it be possible to make this a bit more configurable (make more functions open and protected)? Do you have any suggestions on what my best way forward is? Should I just copy all classes and rewrite them? Can we make the framework more configurable/customizable?
👀 1
so beautiful 1