From 458f9fc5771a6824b1591568b3710f4f91ca0d1f Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Wed, 14 Jun 2023 16:47:44 +0200 Subject: [PATCH] feat: add vars `deprecated` and `type` scope to built-in templates (#509) --- ansibledoctor/templates/hugo-book/_vars.j2 | 17 +++++++++++++++ ansibledoctor/templates/readme/_vars.j2 | 17 +++++++++++++++ example/demo-role/README.md | 25 ++++++++++++++++++++++ example/demo-role/defaults/main.yml | 8 +++++++ 4 files changed, 67 insertions(+) diff --git a/ansibledoctor/templates/hugo-book/_vars.j2 b/ansibledoctor/templates/hugo-book/_vars.j2 index ab267ff..10044ed 100644 --- a/ansibledoctor/templates/hugo-book/_vars.j2 +++ b/ansibledoctor/templates/hugo-book/_vars.j2 @@ -10,6 +10,23 @@ {{ description | map("replace", "\n\n", "\n") | safe_join("\n") }} {% endif %} +{% if item.deprecated is defined or item.type is defined %} + +{% if item.deprecated is defined %} +{% set deprecated = [item.deprecated] if item.deprecated is string else item.deprecated %} +{% set deprecated_string = deprecated | map("replace", "\n\n", "\n") | safe_join("\n") %} + +{% if deprecated_string %} +**_Deprecated:_** {{ deprecated_string }}
+{% else %} +**_Deprecated_**
+{% endif %} +{% endif %} +{% if item.type is defined and item.type %} +{% set type = [item.type] if item.type is string else item.type %} +**_Type:_** {{ type | map("replace", "\n\n", "\n") | safe_join("\n") }}
+{% endif %} +{% endif %} {% if item.value is defined and item.value %} #### Default value diff --git a/ansibledoctor/templates/readme/_vars.j2 b/ansibledoctor/templates/readme/_vars.j2 index ab267ff..10044ed 100644 --- a/ansibledoctor/templates/readme/_vars.j2 +++ b/ansibledoctor/templates/readme/_vars.j2 @@ -10,6 +10,23 @@ {{ description | map("replace", "\n\n", "\n") | safe_join("\n") }} {% endif %} +{% if item.deprecated is defined or item.type is defined %} + +{% if item.deprecated is defined %} +{% set deprecated = [item.deprecated] if item.deprecated is string else item.deprecated %} +{% set deprecated_string = deprecated | map("replace", "\n\n", "\n") | safe_join("\n") %} + +{% if deprecated_string %} +**_Deprecated:_** {{ deprecated_string }}
+{% else %} +**_Deprecated_**
+{% endif %} +{% endif %} +{% if item.type is defined and item.type %} +{% set type = [item.type] if item.type is string else item.type %} +**_Type:_** {{ type | map("replace", "\n\n", "\n") | safe_join("\n") }}
+{% endif %} +{% endif %} {% if item.value is defined and item.value %} #### Default value diff --git a/example/demo-role/README.md b/example/demo-role/README.md index 7386d75..5503784 100644 --- a/example/demo-role/README.md +++ b/example/demo-role/README.md @@ -10,6 +10,8 @@ the default description with an annotation. - [Requirements](#requirements) - [Default Variables](#default-variables) + - [demo_role_deprecated](#demo_role_deprecated) + - [demo_role_deprecated_info](#demo_role_deprecated_info) - [demo_role_dict](#demo_role_dict) - [demo_role_empty](#demo_role_empty) - [demo_role_empty_dict](#demo_role_empty_dict) @@ -34,6 +36,29 @@ the default description with an annotation. ## Default Variables +### demo_role_deprecated + + +**_Deprecated_**
+ +#### Default value + +```YAML +demo_role_deprecated: b +``` + +### demo_role_deprecated_info + + +**_Deprecated:_** This variable is deprected since `v2.0.0` and will be removed in a future release.
+**_Type:_** string
+ +#### Default value + +```YAML +demo_role_deprecated_info: a +``` + ### demo_role_dict #### Default value diff --git a/example/demo-role/defaults/main.yml b/example/demo-role/defaults/main.yml index c7ef05d..2487751 100644 --- a/example/demo-role/defaults/main.yml +++ b/example/demo-role/defaults/main.yml @@ -57,3 +57,11 @@ demo_role_override: original ## Complex value # @var demo_role_override_complex:value: $ {"foo":"bar", "second":"value"} demo_role_override_complex: {} + +# @var demo_role_deprecated:deprecated: +demo_role_deprecated: "b" + +# @var demo_role_deprecated_info:deprecated: > +# This variable is deprected since `v2.0.0` and will be removed in a future release. +# @var demo_role_deprecated_info:type: string +demo_role_deprecated_info: "a"