mirror of
https://github.com/thegeeklab/ansible-doctor.git
synced 2024-11-21 20:30:43 +00:00
feat: add option for tabulating variables (#693)
This commit is contained in:
parent
fe4e4e5f7a
commit
4051d2915d
@ -123,6 +123,12 @@ class Config:
|
|||||||
"file": True,
|
"file": True,
|
||||||
"type": environs.Env().bool,
|
"type": environs.Env().bool,
|
||||||
},
|
},
|
||||||
|
"tabulate_variables": {
|
||||||
|
"default": False,
|
||||||
|
"env": "TABULATE_VARIABLES",
|
||||||
|
"file": True,
|
||||||
|
"type": environs.Env().bool,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
ANNOTATIONS = {
|
ANNOTATIONS = {
|
||||||
|
@ -123,7 +123,10 @@ class Generator:
|
|||||||
jenv.filters["safe_join"] = self._safe_join
|
jenv.filters["safe_join"] = self._safe_join
|
||||||
# keep the old name of the function to not break custom templates.
|
# keep the old name of the function to not break custom templates.
|
||||||
jenv.filters["save_join"] = self._safe_join
|
jenv.filters["save_join"] = self._safe_join
|
||||||
data = jenv.from_string(data).render(role_data, role=role_data)
|
tabulate_vars = self.config.config.get("tabulate_variables")
|
||||||
|
data = jenv.from_string(data).render(
|
||||||
|
role_data, role=role_data, tabulate_vars=tabulate_vars
|
||||||
|
)
|
||||||
if not self.config.config["dry_run"]:
|
if not self.config.config["dry_run"]:
|
||||||
with open(doc_file, "wb") as outfile:
|
with open(doc_file, "wb") as outfile:
|
||||||
outfile.write(header_content.encode("utf-8"))
|
outfile.write(header_content.encode("utf-8"))
|
||||||
|
@ -2,10 +2,12 @@
|
|||||||
{% set var = role.var | default({}) %}
|
{% set var = role.var | default({}) %}
|
||||||
{% if var %}
|
{% if var %}
|
||||||
- [Default Variables](#default-variables)
|
- [Default Variables](#default-variables)
|
||||||
|
{% if not tabulate_vars %}
|
||||||
{% for key, item in var | dictsort %}
|
{% for key, item in var | dictsort %}
|
||||||
- [{{ key }}](#{{ key }})
|
- [{{ key }}](#{{ key }})
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
{% if tag %}
|
{% if tag %}
|
||||||
- [Discovered Tags](#discovered-tags)
|
- [Discovered Tags](#discovered-tags)
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
36
ansibledoctor/templates/hugo-book/_vars_tabulated.j2
Normal file
36
ansibledoctor/templates/hugo-book/_vars_tabulated.j2
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{% set var = role.var | default({}) %}
|
||||||
|
{% if var %}
|
||||||
|
## Default Variables
|
||||||
|
|
||||||
|
{% set columns = ["variable", "default", "description", "type", "deprecated", "example"] %}
|
||||||
|
{% set found_columns = ["variable", "default"] + var.values() | map("list") | sum(start=["key"]) | unique | list %}
|
||||||
|
{% for c in columns %}
|
||||||
|
{% if c in found_columns %}
|
||||||
|
| {{ c | capitalize }} {# trimnewline #}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
|
||||||
|
{% for c in columns %}
|
||||||
|
{% if c in found_columns %}
|
||||||
|
| {{ "-" * (c | length) }} {# trimnewline #}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
|
||||||
|
{% for key, item in var | dictsort %}
|
||||||
|
| {{ key }} {# trimnewline #}
|
||||||
|
| {{ (item.value | default({}))[key] | default }} {# trimnewline #}
|
||||||
|
{% if "description" in found_columns %}
|
||||||
|
| {{ item.description | default([]) | safe_join("<br>") | replace("\n", "<br>") | replace("|", "\|") }} {# trimnewline #}
|
||||||
|
{% endif %}
|
||||||
|
{% if "type" in found_columns %}
|
||||||
|
| {{ item.type | default([]) | join("<br>") }} {# trimnewline #}
|
||||||
|
{% endif %}
|
||||||
|
{% if "deprecated" in found_columns %}
|
||||||
|
| {{ item.deprecated | default }} {# trimnewline #}
|
||||||
|
{% endif %}
|
||||||
|
{% if "example" in found_columns %}
|
||||||
|
| {{ item.example | default([]) | safe_join("<br>") | replace("\n", "<br>") | replace("|", "\|") }} {# trimnewline #}
|
||||||
|
{% endif %}
|
||||||
|
|
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
@ -23,7 +23,11 @@ summary: {{ meta.summary.value | safe_join(" ") }}
|
|||||||
{% include '_requirements.j2' %}
|
{% include '_requirements.j2' %}
|
||||||
|
|
||||||
{# Vars #}
|
{# Vars #}
|
||||||
|
{% if tabulate_vars %}
|
||||||
|
{% include '_vars_tabulated.j2' %}
|
||||||
|
{% else %}
|
||||||
{% include '_vars.j2' %}
|
{% include '_vars.j2' %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{# Tag #}
|
{# Tag #}
|
||||||
{% include '_tag.j2' %}
|
{% include '_tag.j2' %}
|
||||||
|
@ -15,7 +15,11 @@
|
|||||||
{% include '_requirements.j2' %}
|
{% include '_requirements.j2' %}
|
||||||
|
|
||||||
{# Vars #}
|
{# Vars #}
|
||||||
|
{% if tabulate_vars %}
|
||||||
|
{% include '_vars_tabulated.j2' %}
|
||||||
|
{% else %}
|
||||||
{% include '_vars.j2' %}
|
{% include '_vars.j2' %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{# Tag #}
|
{# Tag #}
|
||||||
{% include '_tag.j2' %}
|
{% include '_tag.j2' %}
|
||||||
|
@ -4,10 +4,12 @@
|
|||||||
{% set var = role.var | default({}) %}
|
{% set var = role.var | default({}) %}
|
||||||
{% if var %}
|
{% if var %}
|
||||||
- [Default Variables](#default-variables)
|
- [Default Variables](#default-variables)
|
||||||
|
{% if not tabulate_vars %}
|
||||||
{% for key, item in var | dictsort %}
|
{% for key, item in var | dictsort %}
|
||||||
- [{{ key }}](#{{ key }})
|
- [{{ key }}](#{{ key }})
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
{% if tag %}
|
{% if tag %}
|
||||||
- [Discovered Tags](#discovered-tags)
|
- [Discovered Tags](#discovered-tags)
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
36
ansibledoctor/templates/readme/_vars_tabulated.j2
Normal file
36
ansibledoctor/templates/readme/_vars_tabulated.j2
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{% set var = role.var | default({}) %}
|
||||||
|
{% if var %}
|
||||||
|
## Default Variables
|
||||||
|
|
||||||
|
{% set columns = ["variable", "default", "description", "type", "deprecated", "example"] %}
|
||||||
|
{% set found_columns = ["variable", "default"] + var.values() | map("list") | sum(start=["key"]) | unique | list %}
|
||||||
|
{% for c in columns %}
|
||||||
|
{% if c in found_columns %}
|
||||||
|
| {{ c | capitalize }} {# trimnewline #}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
|
||||||
|
{% for c in columns %}
|
||||||
|
{% if c in found_columns %}
|
||||||
|
| {{ "-" * (c | length) }} {# trimnewline #}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
|
||||||
|
{% for key, item in var | dictsort %}
|
||||||
|
| {{ key }} {# trimnewline #}
|
||||||
|
| {{ (item.value | default({}))[key] | default }} {# trimnewline #}
|
||||||
|
{% if "description" in found_columns %}
|
||||||
|
| {{ item.description | default([]) | safe_join("<br>") | replace("\n", "<br>") | replace("|", "\|") }} {# trimnewline #}
|
||||||
|
{% endif %}
|
||||||
|
{% if "type" in found_columns %}
|
||||||
|
| {{ item.type | default([]) | join("<br>") }} {# trimnewline #}
|
||||||
|
{% endif %}
|
||||||
|
{% if "deprecated" in found_columns %}
|
||||||
|
| {{ item.deprecated | default }} {# trimnewline #}
|
||||||
|
{% endif %}
|
||||||
|
{% if "example" in found_columns %}
|
||||||
|
| {{ item.example | default([]) | safe_join("<br>") | replace("\n", "<br>") | replace("|", "\|") }} {# trimnewline #}
|
||||||
|
{% endif %}
|
||||||
|
|
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
Loading…
Reference in New Issue
Block a user