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?