feat(settings): handle non-boolean values in hierarchy macro

This commit is contained in:
welpo 2023-09-03 03:26:36 +02:00
parent ab4b523f9c
commit e241601f7c
No known key found for this signature in database
GPG key ID: A2F978CF4EC1F5A6

View file

@ -9,7 +9,7 @@ Parameters:
- default_global_value: The setting's default value. - default_global_value: The setting's default value.
#} #}
{% macro evaluate_setting_priority(setting, page) %} {% macro evaluate_setting_priority(setting, page, default_global_value="") %}
{#- Retrieve last ancestor to determine current section, if applicable -#} {#- Retrieve last ancestor to determine current section, if applicable -#}
{%- if page -%} {%- if page -%}
@ -18,19 +18,16 @@ Parameters:
{%- endif -%} {%- endif -%}
{%- set priority_order = [ {%- set priority_order = [
page.extra[setting] | default(value=""), page.extra[setting] | default(value=default_global_value),
current_section.extra[setting] | default(value=""), current_section.extra[setting] | default(value=default_global_value),
config.extra[setting] | default(value=default_global_value) config.extra[setting] | default(value=default_global_value)
] -%} ] -%}
{%- set output = "false" -%} {%- set output = default_global_value -%}
{%- for value in priority_order -%} {%- for value in priority_order -%}
{%- if value == true -%} {%- if value != default_global_value -%}
{%- set_global output = "true" -%} {%- set_global output = value -%}
{%- break -%}
{%- elif value == false -%}
{%- set_global output = "false" -%}
{%- break -%} {%- break -%}
{%- endif -%} {%- endif -%}
{%- endfor -%} {%- endfor -%}