@@ -127,10 +127,8 @@ def visit_admonition(self, node, typ="attention"):
127127 # use "attention" for generic admonitions, cf.
128128 # http://docutils.sourceforge.net/docs/ref/rst/directives.html#generic-admonition
129129 self .open_moin_page_node (moin_page .admonition ({moin_page .type : typ }), node )
130- self .header_size += 1
131130
132131 def depart_admonition (self , node = None ):
133- self .header_size -= 1
134132 self .close_moin_page_node ()
135133
136134 # see http://docutils.sourceforge.net/docs/ref/rst/directives.html#specific-admonitions
@@ -643,6 +641,8 @@ def depart_section(self, node):
643641 self .header_size -= 1
644642
645643 def visit_sidebar (self , node ):
644+ # TODO: render sidebar "set off from the rest of the document somehow, typically with a border."
645+ # Sidebars typically “float” to the side of the page.
646646 pass
647647
648648 def depart_sidebar (self , node ):
@@ -661,6 +661,9 @@ def depart_subscript(self, node):
661661 self .close_moin_page_node ()
662662
663663 def visit_subtitle (self , node ):
664+ # TODO: Subtitles should not have section numbering and should not be in the ToC.
665+ # If the document title is centre aligned,
666+ # the document sub-title should be centre aligned, too.
664667 self .header_size += 1
665668 self .open_moin_page_node (moin_page .h (attrib = {moin_page .outline_level : repr (self .header_size )}))
666669
@@ -676,10 +679,11 @@ def depart_superscript(self, node):
676679
677680 def visit_system_message (self , node ):
678681 # we have encountered a parsing error, insert an error message
682+ # TODO: also show error level and line number.
679683 self .visit_admonition (node , "error" )
680684
681685 def depart_system_message (self , node ):
682- self .close_moin_page_node ( )
686+ self .depart_admonition ( node )
683687
684688 def visit_table (self , node ):
685689 self .open_moin_page_node (moin_page .table (), node )
@@ -730,9 +734,9 @@ def visit_tgroup(self, node):
730734 The tgroup node is presented as the parent of thead and tbody. These should be siblings.
731735 Other children are colspec which have a colwidth attribute. Using these numbers to specify
732736 a width on the col element similar to Sphinx results in an HTML validation error.
733- There is no markup to specify styling such as background color. Best result is to
734- discard this node.
737+ There is no markup to specify styling such as background color.
735738 """
739+ # TODO: convert collumn width values into a form understood by Moin.
736740 pass
737741
738742 def depart_tgroup (self , node ):
@@ -745,13 +749,21 @@ def depart_thead(self, node):
745749 self .close_moin_page_node ()
746750
747751 def visit_title (self , node ):
748- # TODO: handle titles in topic and generic admonition
749- self .open_moin_page_node (moin_page .h (attrib = {moin_page .outline_level : repr (self .header_size )}))
752+ # <title> is used in <admonition>, <document>, <section>, <sidebar>, <table>, and <topic>
753+ # TODO: table title is currently ignored!
754+ if isinstance (node .parent , (nodes .admonition , nodes .sidebar , nodes .topic )):
755+ # informal title: don't include in ToC, no section numbering
756+ self .open_moin_page_node (moin_page .strong (attrib = {html .class_ : "title" }))
757+ else :
758+ self .open_moin_page_node (moin_page .h (attrib = {moin_page .outline_level : repr (self .header_size )}))
750759
751760 def depart_title (self , node ):
752761 self .close_moin_page_node ()
753762
754763 def visit_topic (self , node ):
764+ # A <topic> element should be set off from the rest of the document somehow,
765+ # such as with indentation or a border.
766+ # TODO: represent as blockquote?
755767 pass
756768
757769 def depart_topic (self , node ):
0 commit comments