{%- comment -%}
Accepts: dir: folder name info: title/subtitle/order
{%- endcomment -%} {%- assign page_info = null -%} {%- comment -%} Escape include.dir for better comparing {%- endcomment -%} {%- assign escaped_dir = include.dir | remove_first: '/' | split: '/' | first | uri_escape | downcase -%} {%- if escaped_dir == nil or escaped_dir == '' -%}
{%- assign escaped_dir = '/' -%}
{%- endif -%}
{%- for folder_config in site.folders -%} {%- assign escaped_folder_name = folder_config.name | uri_escape | strip | downcase -%} {%- if escaped_folder_name == escaped_dir -%}
{%- assign page_info = folder_config -%}
{%- break -%} {%- endif -%} {%- endfor -%}
{%- assign document_info = '' | split: ',' -%}
{%- comment -%}
If no config file or title not set, use folder name /document 1/something/blah -> Document 1
{%- endcomment -%} {%- if page_info == null or page_info.title == null -%} {%- assign folder_name = include.dir | url_decode | remove_first: '/' | split: '/' | first | strip | capitalize -%}
{%- comment -%} Show site title on mobile landing page if no root folder {%- endcomment -%} {%- if folder_name == null or folder_name == '' -%} {%- assign folder_name = site.title -%} {%- endif -%}
{%- assign document_info = document_info | push: folder_name -%} {%- else -%} {%- assign document_info = document_info | push: page_info.title -%} {%- endif -%} {%- assign document_info = document_info | push: page_info.subtitle -%} {%- assign document_info = document_info | push: page_info.order -%}
{%- comment -%}
If info prop is set, return specific field else, return all in array [ title, subtitle, order ]
{%- endcomment -%} {%- case include.info -%}
{%- when 'title' -%} {{ document_info[0] | strip }} {%- when 'subtitle' -%} {{ document_info[1] | strip }} {%- when 'order' -%} {{ document_info[2] | join: '/' | strip }} {%- else -%} {{ document_info | jsonify }}
{%- endcase -%}