Merge pull request #1367 from jpmens/mdtempl
Add support for Github-flavored Markdown to module_formatter
This commit is contained in:
commit
896be48ac9
2 changed files with 73 additions and 1 deletions
|
@ -112,6 +112,16 @@ def rst_ify(text):
|
||||||
|
|
||||||
return t
|
return t
|
||||||
|
|
||||||
|
def markdown_ify(text):
|
||||||
|
|
||||||
|
t = _ITALIC.sub("_" + r"\1" + "_", text)
|
||||||
|
t = _BOLD.sub("**" + r"\1" + "**", t)
|
||||||
|
t = _MODULE.sub("*" + r"\1" + "*", t)
|
||||||
|
t = _URL.sub("[" + r"\1" + "](" + r"\1" + ")", t)
|
||||||
|
t = _CONST.sub("`" + r"\1" + "`", t)
|
||||||
|
|
||||||
|
return t
|
||||||
|
|
||||||
# Helper for Jinja2 (format() doesn't work here...)
|
# Helper for Jinja2 (format() doesn't work here...)
|
||||||
def rst_fmt(text, fmt):
|
def rst_fmt(text, fmt):
|
||||||
return fmt % (text)
|
return fmt % (text)
|
||||||
|
@ -187,7 +197,7 @@ def main():
|
||||||
p.add_option("-t", "--type",
|
p.add_option("-t", "--type",
|
||||||
action='store',
|
action='store',
|
||||||
dest='type',
|
dest='type',
|
||||||
choices=['html', 'latex', 'man', 'rst', 'json'],
|
choices=['html', 'latex', 'man', 'rst', 'json', 'markdown'],
|
||||||
default='latex',
|
default='latex',
|
||||||
help="Output type")
|
help="Output type")
|
||||||
p.add_option("-m", "--module",
|
p.add_option("-m", "--module",
|
||||||
|
@ -283,6 +293,13 @@ def main():
|
||||||
env.filters['jpfunc'] = js_ify
|
env.filters['jpfunc'] = js_ify
|
||||||
template = env.get_template('js.j2')
|
template = env.get_template('js.j2')
|
||||||
outputname = "%s.js"
|
outputname = "%s.js"
|
||||||
|
if options.type == 'markdown':
|
||||||
|
env.filters['jpfunc'] = markdown_ify
|
||||||
|
env.filters['html_ify'] = html_ify
|
||||||
|
template = env.get_template('markdown.j2')
|
||||||
|
outputname = "%s.md"
|
||||||
|
includecmt = ""
|
||||||
|
includefmt = ""
|
||||||
|
|
||||||
if options.includes_file is not None and includefmt != "":
|
if options.includes_file is not None and includefmt != "":
|
||||||
incfile = open(options.includes_file, "w")
|
incfile = open(options.includes_file, "w")
|
||||||
|
|
55
hacking/templates/markdown.j2
Normal file
55
hacking/templates/markdown.j2
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
## @{ module }@
|
||||||
|
|
||||||
|
{# ------------------------------------------
|
||||||
|
#
|
||||||
|
# This is Github-flavored Markdown
|
||||||
|
#
|
||||||
|
--------------------------------------------#}
|
||||||
|
|
||||||
|
{% if version_added is defined -%}
|
||||||
|
New in version @{ version_added }@.
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% for desc in description -%}
|
||||||
|
@{ desc | jpfunc }@
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% if options -%}
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th class="head">parameter</th>
|
||||||
|
<th class="head">required</th>
|
||||||
|
<th class="head">default</th>
|
||||||
|
<th class="head">choices</th>
|
||||||
|
<th class="head">comments</th>
|
||||||
|
</tr>
|
||||||
|
{% for (k,v) in options.iteritems() %}
|
||||||
|
<tr>
|
||||||
|
<td>@{ k }@</td>
|
||||||
|
<td>{% if v.get('required', False) %}yes{% else %}no{% endif %}</td>
|
||||||
|
<td>{% if v['default'] %}@{ v['default'] }@{% endif %}</td>
|
||||||
|
<td><ul>{% for choice in v.get('choices',[]) -%}<li>@{ choice }@</li>{% endfor -%}</ul></td>
|
||||||
|
<td>{% for desc in v.description -%}@{ desc | html_ify }@{% endfor -%}{% if v['version_added'] %} (added in Ansible @{v['version_added']}@){% endif %}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% for example in examples %}
|
||||||
|
{% if example['description'] %}
|
||||||
|
* @{ example['description'] | jpfunc }@
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
```
|
||||||
|
@{ example['code'] }@
|
||||||
|
```
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
|
||||||
|
{% if notes %}
|
||||||
|
#### Notes
|
||||||
|
{% for note in notes %}
|
||||||
|
@{ note | jpfunc }@
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
Loading…
Reference in a new issue