30 lines
890 B
Cheetah
30 lines
890 B
Cheetah
{# List containing rendered sections to be included at end #}
|
|
{% set openssl_sections = [] %}
|
|
|
|
{#
|
|
List containing one entry for each section name allocated. Because of
|
|
scoping rules, we need to use a list so that it can be a "per-render global"
|
|
that gets updated in place. Real globals are shared by all templates with the
|
|
same environment, and variables defined in the macro don't persist after the
|
|
macro invocation ends.
|
|
#}
|
|
{% set openssl_section_num = [] %}
|
|
|
|
{% macro section() -%}
|
|
{% set name -%}
|
|
sec{{ openssl_section_num|length -}}
|
|
{% endset -%}
|
|
{% do openssl_section_num.append('') -%}
|
|
{% set contents %}{{ caller() }}{% endset -%}
|
|
{% if contents -%}
|
|
{% set sectiondata = formatsection(name, contents) -%}
|
|
{% do openssl_sections.append(sectiondata) -%}
|
|
{% endif -%}
|
|
{{ name -}}
|
|
{% endmacro %}
|
|
|
|
{% macro formatsection(name, contents) -%}
|
|
[ {{ name }} ]
|
|
{{ contents -}}
|
|
{% endmacro %}
|