Roadmap

Some future objectives for the software.

HTML Parsing

Parsing of HTML fragments would be done to permit translation into the Moin document tree. This would then allow round-trip conversion:

htmlparsingMoin contentMoin parserDocument treeMoin serialiserHTML serialiserDocument treeHTML contentHTML parser

Pages could be retained for storage in Moin format, presented in a Web browser in HTML, edited using HTML editing controls, and then converted back for storage.

In order to maintain various details of the original document, additional annotations would be employed in the generated HTML. Such annotations would appear within class attribute values, encoding details of the original content such as indentation, padding and other aspects of that content which are superfluous or inappropriate to the core HTML representation of the document, but which can be interpreted in order to restore the form of the original document.

Configuration Files

Instead of configuring the conversion metadata programmatically or using command line options with the moinconvert tool, it would be useful to be able to define settings in configuration files.

Externally Available Extensions

Currently, the extensions (macros, themes, parsers, and so on) available to MoinLight are defined within the moinformat package. However, it should be possible to define extra extensions that reside in other locations.

Themed Output for Extensions

Macros and other extensions should be able to provide specific theme resources that are referenced in page output and bundled in the deployed content.

Pragmas and Directives

In order to adjust the handling and display of content, these features of Moin should be supported, with the ability to define handlers.

Section Numbering

Effectively taking table of contents numbering, headings should be numbered if requested.

Variables and Wikidicts

These features of Moin should be supported since they permit convenient customisation of content.

Macros

Include

This macro has proven useful in Moin to combine page content. To support it usefully, it must interact sensibly with tables of contents, perhaps requiring adjustments to the table of contents macro to avoid such tables appearing on included pages, also causing top-level tables to reference sections in the included pages.

Table of Contents

Building on the ability to be able to provide its own stylesheet resources, the macro should also support expandable entries, perhaps using form controls so that a concise, single-level table of contents can be shown and expanded as necessary.