manual: use int level in parse_doxygen_xml.py
The level argument to parse_doxygen_xml.py was previously a latex section header (either subsection or subsubsection). This change converts the argument to numerical which is more robust and is not limited to 2 specific levels. This change - alters the level argument to be an int, where 0 = highest level header, - removes the translation of latex header to markdown, - adds a new 'level_to_header' function to the generator class, which translates the level number to a header for that specific output type.
This commit is contained in:
parent
c2212688ce
commit
da1e73fe96
2 changed files with 22 additions and 14 deletions
|
|
@ -122,12 +122,12 @@ ${DoxygenXml}/%.xml: doxygen
|
|||
# General object invocations are listed as subsections
|
||||
${GeneratedLatexDir}/ObjectApi.tex: ${DoxygenXml}/group__ObjectApi.xml
|
||||
@echo "====> Generating $@"
|
||||
${Q}${PYTHON} ${GenerationTool} --level subsection --input $< --output $@
|
||||
${Q}${PYTHON} ${GenerationTool} --level 2 --input $< --output $@
|
||||
|
||||
# Everything else is listed as subsubsections
|
||||
${GeneratedLatexDir}/%.tex: ${DoxygenXml}/group__%.xml
|
||||
@echo "====> Generating $@"
|
||||
${Q}${PYTHON} ${GenerationTool} --level subsubsection --input $< --output $@
|
||||
${Q}${PYTHON} ${GenerationTool} --level 3 --input $< --output $@
|
||||
|
||||
# Collect generated latex files into single rule
|
||||
generated-latex: ${GeneratedLatexDir}/GeneralSystemCalls.tex \
|
||||
|
|
@ -146,7 +146,7 @@ generated-latex: ${GeneratedLatexDir}/GeneralSystemCalls.tex \
|
|||
# Markdown files translated from doxygen-generated xml
|
||||
${GeneratedMarkdownDir}/%.md: ${DoxygenXml}/group__%.xml Makefile
|
||||
@echo "====> Generating $@"
|
||||
${Q}${PYTHON} ${GenerationTool} --format markdown --level subsubsection --input $< --output $@
|
||||
${Q}${PYTHON} ${GenerationTool} --format markdown --level 2 --input $< --output $@
|
||||
|
||||
# Collect generated markdown files into single rule
|
||||
generated-markdown: ${GeneratedMarkdownDir}/GeneralSystemCalls.md \
|
||||
|
|
|
|||
|
|
@ -323,7 +323,7 @@ class LatexGenerator(Generator):
|
|||
{%(ret)s}
|
||||
{%(details)s}
|
||||
""" % {
|
||||
"level": level,
|
||||
"level": self.level_to_header(level),
|
||||
"label": manual_node["label"],
|
||||
"name": self.text_escape(manual_node["name"]),
|
||||
"brief": self.todo_if_empty(self.parse_brief(member)),
|
||||
|
|
@ -333,6 +333,18 @@ class LatexGenerator(Generator):
|
|||
"details": details,
|
||||
}
|
||||
|
||||
def level_to_header(self, level):
|
||||
if level == 0:
|
||||
return 'chapter'
|
||||
elif level == 1:
|
||||
return 'section'
|
||||
elif level == 2:
|
||||
return 'subsection'
|
||||
elif level == 3:
|
||||
return 'subsubsection'
|
||||
else:
|
||||
return 'paragraph'
|
||||
|
||||
class MarkdownGenerator(Generator):
|
||||
"""
|
||||
A class that represents the generator for Doxygen to Markdown. A child of the Generator class
|
||||
|
|
@ -436,13 +448,6 @@ Type | Name | Description
|
|||
"desc": self.todo_if_empty(param_info.get("desc", "").strip()),
|
||||
}
|
||||
|
||||
def level_to_markdown(self, string):
|
||||
"""Converts the level to a corresponding markdown heading prefix"""
|
||||
|
||||
if string == "subsubsection":
|
||||
return "####"
|
||||
return "###"
|
||||
|
||||
def generate_api_doc(self, level, member, params, ret, details):
|
||||
manual_node = member.manual
|
||||
|
||||
|
|
@ -471,7 +476,7 @@ Type | Name | Description
|
|||
|
||||
%(details)s
|
||||
""" % {
|
||||
"hash": self.level_to_markdown(level),
|
||||
"hash": self.level_to_header(level),
|
||||
"name": self.text_escape(manual_node["name"]),
|
||||
"label": manual_node["label"],
|
||||
"brief": self.todo_if_empty(self.parse_brief(member)),
|
||||
|
|
@ -481,6 +486,9 @@ Type | Name | Description
|
|||
"details": details_string,
|
||||
}
|
||||
|
||||
def level_to_header(self, level):
|
||||
return (level + 1) * '#'
|
||||
|
||||
def generate_general_syscall_doc(generator, input_file_name, level):
|
||||
"""
|
||||
Takes a path to a file containing doxygen-generated xml,
|
||||
|
|
@ -521,8 +529,8 @@ def process_args():
|
|||
parser.add_argument("-o", "--output", dest="output", type=str,
|
||||
help="Output latex file.")
|
||||
|
||||
parser.add_argument("-l", "--level", choices=["subsection", "subsubsection"],
|
||||
help="LaTeX section level for each method")
|
||||
parser.add_argument("-l", "--level", type=int,
|
||||
help="Level for each method, 0 = top level")
|
||||
|
||||
return parser
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue