doc: Fixes to rst converter

This commit is contained in:
Rémi Verschelde 2018-09-21 09:50:10 +02:00
parent 78e335566b
commit d26c6b28a6

View file

@ -573,7 +573,7 @@ def make_rst_class(node):
if events != None and len(list(events)) > 0: if events != None and len(list(events)) > 0:
f.write(make_heading('Signals', '-')) f.write(make_heading('Signals', '-'))
for m in list(events): for m in list(events):
f.write(" .. _class_" + name + "_" + m.attrib['name'] + ":\n\n") f.write(".. _class_" + name + "_" + m.attrib['name'] + ":\n\n")
make_method(f, name, m, True, True) make_method(f, name, m, True, True)
f.write('\n') f.write('\n')
d = m.find('description') d = m.find('description')
@ -599,7 +599,7 @@ def make_rst_class(node):
if len(enum_names) > 0: if len(enum_names) > 0:
f.write(make_heading('Enumerations', '-')) f.write(make_heading('Enumerations', '-'))
for e in enum_names: for e in enum_names:
f.write(" .. _enum_" + name + "_" + e + ":\n\n") f.write(".. _enum_" + name + "_" + e + ":\n\n")
f.write("enum **" + e + "**:\n\n") f.write("enum **" + e + "**:\n\n")
for c in enums: for c in enums:
if c.attrib['enum'] != e: if c.attrib['enum'] != e:
@ -624,6 +624,7 @@ def make_rst_class(node):
if c.text.strip() != '': if c.text.strip() != '':
s += ' --- ' + rstize_text(c.text.strip(), name) s += ' --- ' + rstize_text(c.text.strip(), name)
f.write(s + '\n') f.write(s + '\n')
f.write('\n')
# Class description # Class description
descr = node.find('description') descr = node.find('description')
@ -644,25 +645,25 @@ def make_rst_class(node):
if match.lastindex == 2: if match.lastindex == 2:
# Doc reference with fragment identifier: emit direct link to section with reference to page, for example: # Doc reference with fragment identifier: emit direct link to section with reference to page, for example:
# `#calling-javascript-from-script in Exporting For Web` # `#calling-javascript-from-script in Exporting For Web`
f.write("- `" + groups[1] + " <../" + groups[0] + ".html" + groups[1] + ">`_ in :doc:`../" + groups[0] + "`\n") f.write("- `" + groups[1] + " <../" + groups[0] + ".html" + groups[1] + ">`_ in :doc:`../" + groups[0] + "`\n\n")
# Commented out alternative: Instead just emit: # Commented out alternative: Instead just emit:
# `Subsection in Exporting For Web` # `Subsection in Exporting For Web`
# f.write("- `Subsection <../" + groups[0] + ".html" + groups[1] + ">`_ in :doc:`../" + groups[0] + "`\n") # f.write("- `Subsection <../" + groups[0] + ".html" + groups[1] + ">`_ in :doc:`../" + groups[0] + "`\n\n")
elif match.lastindex == 1: elif match.lastindex == 1:
# Doc reference, for example: # Doc reference, for example:
# `Math` # `Math`
f.write("- :doc:`../" + groups[0] + "`\n") f.write("- :doc:`../" + groups[0] + "`\n\n")
else: else:
# External link, for example: # External link, for example:
# `http://enet.bespin.org/usergroup0.html` # `http://enet.bespin.org/usergroup0.html`
f.write("- `" + link + " <" + link + ">`_\n") f.write("- `" + link + " <" + link + ">`_\n\n")
# Property descriptions # Property descriptions
members = node.find('members') members = node.find('members')
if members != None and len(list(members)) > 0: if members != None and len(list(members)) > 0:
f.write(make_heading('Property Descriptions', '-')) f.write(make_heading('Property Descriptions', '-'))
for m in list(members): for m in list(members):
f.write(" .. _class_" + name + "_" + m.attrib['name'] + ":\n\n") f.write(".. _class_" + name + "_" + m.attrib['name'] + ":\n\n")
make_properties(f, name, m, True) make_properties(f, name, m, True)
if m.text.strip() != '': if m.text.strip() != '':
f.write(rstize_text(m.text.strip(), name)) f.write(rstize_text(m.text.strip(), name))