{%- if include.params.name -%}
  {%- assign name = include.params.name -%}
{%- endif -%}

{%- assign return = nil -%}

{%- assign keys = name | split:'.' -%}
{%- assign name = keys.first -%}
{%- assign keys = keys | shift -%}

{%- 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 -%}

