TL;DR: Plan to add features to HTML export, do I add them in the
built-in HTML exporter (as upstream contribution) ? Or as a
downloadable derived backend ? Which on do you prefer ?
Hello,
I plan to use Org-publish to create a website from Org-mode files. And I
would have some features that are not provided by the built-in HTML
exporter.
To add theses features, my first plan was to customize an org-publish
project. Using a custom preamble function, a custom completion function
and some new export options added to "org-export-options-alist".
It's still a work in progress, but the more feature I add, the more I
think I need to add them in an export backend.
So, my second plan is to create an export backend, derived from the
built-in HTML exporter.
But maybe you would prefer that I add these new features as a
contribution to the built-in HTML exporter ?
Here is what I plan to add, on each generated webpage, compared to what
the built-in HTML exporter already provide:
- A side panel containing:
- A site web name and/or logo
- A search field for an local search engine
- A main navigation menu, built from a dedicated org-mode file
- A more "modern" look
- More special blocks available like:
- A question/answer bloc, where the answer is hidden
- Important, warning and tip blocks
- A generic hide-show bloc
- Tab to select which content to see
- Bibliography on a dedicated webpage when using org-publish
- A button to download the Org-mode file source of a webpage
- Possibility to set the home page, when there is no index.org
As say above, I started it as a custom org-publish
project. You can found my work in progress here:
https://framagit.org/SebGen/org-documentation-template
For now, the search engine use the software Pagefind:
https://pagefind.app
And the menu is made from an org-mode file where first level heading
become menu item and links are simple org-mode links.
Best regards
-------
Gendre Sébastien