Joar
02/20/2024, 4:18 PMSourceToDocumentableTranslator
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?