Merge Navigation macro and SlideShow action
For MoinMoin2.0, this is a set of highlights on how the respective components could be developed, that is, as some unified solution rather than raw migration of these two resources into the new codebase.
We can create slide shows in Moin using the Navigation macro. We add macro calls in the desired pages for building a presentation. These macro calls generate the browsing widgets for the slide show, one of them starts the presentation by calling the print action in projection mode. However, Moin 1.9 has introduced the new SlideShow action for out-of-the-box presentations. The user does not need to edit the page and add macro calls, they just need to call the action and the page will be properly formatted and browsing widgets will be automatically added. However this action is based on the primary headings of a single page: you cannot use this action for mutli-page presentations. In other words, it is not a replacement for the Navigation macro.
All this is confusing, and it would be nice to merge both components into a single, better, clearer, easier one. I think we could eliminate the need of <<Navigation>> for multi-page slides. They could work out-of-the-box, without needing to add macro calls on every page of the slide show, in other words, without needing to "prepare" the presentation. You would just have to call the SlideShow action. Any page would be a potential presentation.
There's nothing special about presentations, we just want bigger fonts and browsing widgets. The former is provided by projection.css, so there're no need for the new SlideShow.css, which could be abandoned. The latter can be achieved by simply calling the SlideShow action, rather than writing macro calls in the pages. But how to reuse projection.css? You make the HTML output of SlideShow the same as the print action (except for the widget code). And how to print the widgets? As the action controls the HTML output, it would send them at the top, bottom, or both. That's how the Navigation macro is currently used anyway: the calls are generally added at the top/bottom.
But how about the Navigation macro, it would be abandoned for slide shows? Yes, but the widget code would be reused. Just like the print action does not send the page header and page footer, the SlideShow action would send these browsing widgets. The current page would contain the same as <<Navigation(slides)>> for the sibling pages, and <<Navigation(slideshow)>> for its subpages. This behavior would be recursive, so that the whole wiki could be considered itself as a hierarchical presentation (or rather a hierarchy of linear presentations linked to each other) when calling the SlideShow action.
And how about the single-page presentations? Maybe SlideShow could default to it when no subpage is available, and have something like #pragma slideshow single,multi for toggling the available presentation styles. Another option would be having two separate actions, for example SlideShow for subpage-based, and SimpleSlideShow for headings-based. Also, something like #pragma slideshow-level N could be available for setting up the heading level to use in single-page mode.