Friday, July 9, 2021

I committed my recent work on makehelp (#4172). I started to understand a few things. Time to write some documentation.

makehelp now generates only the actor pages (and an index page), IOW a page per actor but no more pages per model and per plugin. That’s because actor pages are the only ones to be opened by the help button. Each actor page should directly refer to the relevant places in the reference documentation and the user guide.

Note that reference documentation is a new glossary term. We should say reference documentation instead of developer guide because this kind of documentation is actually not only for developers, they are also for key users. These “reference docs” are currently integrated into the developer guide, but this might change.

I moved the logic for loading help texts at startup into a separate class The HTL is instantiated temporarily by the lino.core.kernel.Kernel.kernel_startup(). The makedocs command instantiates it another time because it also uses the first paragraph of actor class descriptions, which the kernel does not store. All this is still experimental.

I moved all the help functionality, including the OpenHelpWindow action to a new plugin and make it an optional feature. I renamed makedocs to makehelp.

To make my work more visible we should start to update the demo sites more often, and to run makedocs each time there. Here it gets related to the #2480 ticket: it would be cool to have an impressive series of Lino demo sites on Heroku, each with a usable user guide….

My goal for this time is that when clicking on the ? button, Lino opens a page that is actually useful for an end user. Or more precisely a page that has a chance to be useful, when documentation is written accordingly. Because that’s another pair of shoes: defining the right conventions and habits of where to write what. This is currently still a big mess, and reviewing all docs is a big work. But I am advancing…

TODO: Test whether translation actually works.