diff --git a/hacking/module_formatter.py b/hacking/module_formatter.py index 7eb1e106fbe..e16575676e7 100755 --- a/hacking/module_formatter.py +++ b/hacking/module_formatter.py @@ -30,6 +30,7 @@ import optparse import time import datetime import subprocess +import cgi import ansible.utils import ansible.utils.module_docs as module_docs @@ -62,11 +63,13 @@ def latex_ify(text): def html_ify(text): - t = _ITALIC.sub("" + r"\1" + "", text) + t = cgi.escape(text) + t = _ITALIC.sub("" + r"\1" + "", t) t = _BOLD.sub("" + r"\1" + "", t) t = _MODULE.sub("" + r"\1" + "", t) t = _URL.sub("" + r"\1" + "", t) t = _CONST.sub("" + r"\1" + "", t) + return t def json_ify(text): @@ -105,9 +108,13 @@ def rst_ify(text): return t +_MARKDOWN = re.compile(r"[*_`]") + def markdown_ify(text): - t = _ITALIC.sub("_" + r"\1" + "_", text) + t = cgi.escape(text) + t = _MARKDOWN.sub(r"\\\g<0>", t) + t = _ITALIC.sub("_" + r"\1" + "_", t) t = _BOLD.sub("**" + r"\1" + "**", t) t = _MODULE.sub("*" + r"\1" + "*", t) t = _URL.sub("[" + r"\1" + "](" + r"\1" + ")", t) diff --git a/hacking/templates/markdown.j2 b/hacking/templates/markdown.j2 index 0cc8151fde9..6f9bb0b3d88 100644 --- a/hacking/templates/markdown.j2 +++ b/hacking/templates/markdown.j2 @@ -1,4 +1,4 @@ -## @{ module }@ +## @{ module | jpfunc }@ {# ------------------------------------------ # @@ -11,7 +11,8 @@ New in version @{ version_added }@. {% endif %} {% for desc in description -%} -@{ desc | jpfunc }@ +@{ desc | jpfunc }@ + {% endfor %} {% if options -%} @@ -35,6 +36,10 @@ New in version @{ version_added }@. {% endif %} +{% if examples or plainexamples %} +#### Examples +{% endif %} + {% for example in examples %} {% if example['description'] %} * @{ example['description'] | jpfunc }@