paul@211 | 1 | = Roadmap = |
paul@211 | 2 | |
paul@211 | 3 | Some future objectives for the software. |
paul@211 | 4 | |
paul@211 | 5 | == HTML Parsing == |
paul@211 | 6 | |
paul@211 | 7 | Parsing of HTML fragments would be done to permit translation into the Moin |
paul@211 | 8 | document tree. This would then allow round-trip conversion: |
paul@211 | 9 | |
paul@211 | 10 | ########## A graph showing the process is given below... |
paul@211 | 11 | |
paul@211 | 12 | {{{#!graphviz |
paul@211 | 13 | //format=svg |
paul@211 | 14 | //transform=notugly |
paul@211 | 15 | digraph htmlparsing { |
paul@211 | 16 | node [shape=box,fontsize="13.0",fontname="Helvetica",tooltip="The MoinLight architecture"]; |
paul@211 | 17 | edge [tooltip="The MoinLight architecture"]; |
paul@211 | 18 | rankdir=LR; |
paul@211 | 19 | |
paul@211 | 20 | moin [label="Moin content",shape=folder,style=filled,fillcolor=cyan]; |
paul@211 | 21 | |
paul@211 | 22 | subgraph { |
paul@211 | 23 | rank=same; |
paul@211 | 24 | moinparser [label="Moin parser"]; |
paul@211 | 25 | moinserialiser [label="Moin serialiser"]; |
paul@211 | 26 | } |
paul@211 | 27 | |
paul@211 | 28 | subgraph { |
paul@211 | 29 | rank=same; |
paul@211 | 30 | tree1 [label="Document tree",shape=folder,style=filled,fillcolor=cyan]; |
paul@211 | 31 | tree2 [label="Document tree",shape=folder,style=filled,fillcolor=cyan]; |
paul@211 | 32 | } |
paul@211 | 33 | |
paul@211 | 34 | subgraph { |
paul@211 | 35 | rank=same; |
paul@211 | 36 | htmlserialiser [label="HTML serialiser"]; |
paul@211 | 37 | htmlparser [label="HTML parser"]; |
paul@211 | 38 | } |
paul@211 | 39 | |
paul@211 | 40 | html [label="HTML content",shape=folder,style=filled,fillcolor=cyan]; |
paul@211 | 41 | |
paul@211 | 42 | moin -> moinparser -> tree1 -> htmlserialiser -> html -> htmlparser -> tree2 -> moinserialiser -> moin; |
paul@211 | 43 | } |
paul@211 | 44 | }}} |
paul@211 | 45 | |
paul@211 | 46 | ######## |
paul@211 | 47 | |
paul@211 | 48 | Pages could be retained for storage in Moin format, presented in a Web browser |
paul@211 | 49 | in HTML, edited using HTML editing controls, and then converted back for |
paul@211 | 50 | storage. |
paul@211 | 51 | |
paul@211 | 52 | In order to maintain various details of the original document, additional |
paul@211 | 53 | annotations would be employed in the generated HTML. Such annotations would |
paul@211 | 54 | appear within `class` attribute values, encoding details of the original |
paul@211 | 55 | content such as indentation, padding and other aspects of that content which |
paul@211 | 56 | are superfluous or inappropriate to the core HTML representation of the |
paul@211 | 57 | document, but which can be interpreted in order to restore the form of the |
paul@211 | 58 | original document. |