fix: get value from site config incorrectly
When the value is stored in a dictionary and the value isn't presented in front matter, the get_value function can not get value from the site config instead.
This commit is contained in:
parent
0a863ba18a
commit
245fe2a047
1 changed files with 31 additions and 21 deletions
|
@ -2,31 +2,41 @@
|
|||
{%- assign name = include.params.name -%}
|
||||
{%- endif -%}
|
||||
|
||||
{%- assign return = nil -%}
|
||||
|
||||
{%- assign keys = name | split:'.' -%}
|
||||
{%- assign name = keys.first -%}
|
||||
|
||||
{%- if page[name] != nil -%}
|
||||
{%- assign return = page[name] -%}
|
||||
{%- elsif site[name] != nil -%}
|
||||
{%- assign return = site[name] -%}
|
||||
{%- elsif site.data[name] != nil -%}
|
||||
{%- assign return = site.data[name] -%}
|
||||
{%- elsif site.defaults[page.layout][name] != nil -%}
|
||||
{%- assign return = site.defaults[page.layout][name] -%}
|
||||
{%- elsif site.data.defaults[page.layout][name] != nil -%}
|
||||
{%- assign return = site.data.defaults[page.layout][name] -%}
|
||||
{%- elsif layout[name] != nil -%}
|
||||
{%- assign return = layout[name] -%}
|
||||
{%- else -%}
|
||||
{%- assign return = include.params.default -%}
|
||||
{%- endif -%}
|
||||
|
||||
{%- assign keys = keys | shift -%}
|
||||
{%- for key in keys -%}
|
||||
{%- assign return = return[key] -%}
|
||||
{%- if return == nil -%}
|
||||
{%- assign return = include.params.default -%}
|
||||
|
||||
{%- for step in (1..7) -%}
|
||||
|
||||
{%- case step -%}
|
||||
{%- when 1 -%}
|
||||
{%- assign return = page[name] -%}
|
||||
{%- when 2 -%}
|
||||
{%- assign return = site[name] -%}
|
||||
{%- when 3 -%}
|
||||
{%- assign return = site.data[name] -%}
|
||||
{%- when 4 -%}
|
||||
{%- assign return = site.defaults[page.layout][name] -%}
|
||||
{%- when 5 -%}
|
||||
{%- assign return = site.data.defaults[page.layout][name] -%}
|
||||
{%- when 6 -%}
|
||||
{%- assign return = layout[name] -%}
|
||||
{%- else -%}
|
||||
{%- assign return = include.params.default -%}
|
||||
{%- endcase -%}
|
||||
|
||||
{%- for key in keys -%}
|
||||
{%- assign return = return[key] -%}
|
||||
{%- if return == nil -%}
|
||||
{%- break -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
|
||||
{%- if return != nil -%}
|
||||
{%- break -%}
|
||||
{%- endif -%}
|
||||
|
||||
{%- endfor -%}
|
||||
|
||||
|
|
Loading…
Reference in a new issue