From 39b4420fe0d395f0a9dd40e0ab011a7c123c253c Mon Sep 17 00:00:00 2001 From: Timo Koch <timo.koch@iws.uni-stuttgart.de> Date: Thu, 2 Apr 2020 17:23:47 +0200 Subject: [PATCH] [examples][docgen] Make it simpler to create toggled content with '[[details]] content' --- examples/convert_code_to_doc.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/examples/convert_code_to_doc.py b/examples/convert_code_to_doc.py index 68a1d847e8..0ec2fdd331 100755 --- a/examples/convert_code_to_doc.py +++ b/examples/convert_code_to_doc.py @@ -65,6 +65,16 @@ def transformCode(code, rules, codeFileName): wrapContent = parseTaggedContent("content", action=wrapContentIntoDetails) code = wrapContent.transformString(code) + # Transform "[[details]] content" and "[[/details]]" to HTML + transformDetailsBegin = LineStart() + Suppress(ZeroOrMore(" ") + "//" + ZeroOrMore(" ") + "[[details]]" + ZeroOrMore(" ")) + Optional(restOfLine) + def detailBeginHTML(token): + return "// <details><summary> Click to show " + token[0] + "</summary>\n" + transformDetailsBegin.setParseAction(detailBeginHTML) + code = transformDetailsBegin.transformString(code) + transformDetailsEnd = LineStart() + Suppress(ZeroOrMore(" ") + "//" + ZeroOrMore(" ") + "[[/details]]") + Optional(restOfLine) + transformDetailsEnd.setParseAction(replaceWith("// </details>\n")) + code = transformDetailsEnd.transformString(code) + for transform in rules: code = transform.transformString(code) return code -- GitLab