--- regenerate: true exclude_from_search: true --- {% capture cache %} {% comment %} # ----------------------------------------------------------------------------- # ~/assets/data/footer.html # Liquid procedure to generate HTML (data) portion of the page footer for # (fragmented) AJAX load # # Product/Info: # https://jekyll.one # # Copyright (C) 2023, 2024 Juergen Adams # # J1 Template is licensed under the MIT License. # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md # ----------------------------------------------------------------------------- # Test data: # {{ variable | debug }} # ----------------------------------------------------------------------------- {% endcomment %} {% comment %} Liquid procedures -------------------------------------------------------------------------------- {% endcomment %} {% capture get_wave %}themes/{{site.template.name}}/procedures/blocks/get_wave.proc{% endcapture %} {% capture about_box %}themes/{{site.template.name}}/procedures/blocks/footer/boxes/about_box.proc{% endcapture %} {% capture news_box %}themes/{{site.template.name}}/procedures/blocks/footer/boxes/news_box.proc{% endcapture %} {% capture links_box %}themes/{{site.template.name}}/procedures/blocks/footer/boxes/links_box.proc{% endcapture %} {% capture contacts_box %}themes/{{site.template.name}}/procedures/blocks/footer/boxes/contacts_box.proc{% endcapture %} {% capture legal_statements %}themes/{{site.template.name}}/procedures/blocks/footer/boxes/legal_statements.proc{% endcapture %} {% capture issue %}themes/{{site.template.name}}/procedures/blocks/footer/boxes/issue.proc{% endcapture %} {% capture social_media_icons %}themes/{{site.template.name}}/procedures/blocks/footer/boxes/social_media_icons.proc{% endcapture %} {% comment %} Process YML config data ================================================================================ {% endcomment %} {% comment %} Set config files -------------------------------------------------------------------------------- {% endcomment %} {% assign template_config = site.data.j1_config %} {% assign blocks = site.data.blocks %} {% assign modules = site.data.modules %} {% comment %} Set config options -------------------------------------------------------------------------------- {% endcomment %} {% assign footer_config_defaults = blocks.defaults.footer %} {% assign footer_config_settings = blocks.footer %} {% comment %} Set config data -------------------------------------------------------------------------------- {% endcomment %} {% assign environment = site.environment %} {% assign footer_config_defaults = footer_config_defaults.defaults %} {% assign footer_config_settings = footer_config_settings.settings %} {% comment %} Set config options -------------------------------------------------------------------------------- {% endcomment %} {% assign footer_options = footer_config_defaults | merge: footer_config_settings %} {% comment %} Set HELPER variables -------------------------------------------------------------------------------- {% endcomment %} {% capture footer_config_file_name %}~/_data/modules/footer.yml{% endcapture %} {% comment %} Detect prod mode -------------------------------------------------------------------------------- {% endcomment %} {% assign production = false %} {% if environment == 'prod' or environment == 'production' %} {% assign production = true %} {% endif %} {% comment %} Main ================================================================================ {% endcomment %} {% for items in footer_config_settings %} {% assign key = items[0] %} {% assign value = items[1] %} {% assign footer_config = value %} {% for items in footer_config %} {% for footers in items %} {% if debug %} footers: {{ footers }} {% endif %} {% comment %} parse settings for MAIN keys -------------------------------------------------------------------------- {% endcomment %} {% for footer in footers %} {% assign data_type = footer | is_type %} {% if data_type == 'hash' %} {% assign footer_settings = footer %} {% endif %} {% endfor %} {% if debug %} {% endif %} {% comment %} process current footer -------------------------------------------------------------------------- {% endcomment %} {% if footer_settings.enabled %} {% comment %} generate the HTML portion for the TOP wave element ------------------------------------------------------------------------ {% endcomment %} {% if footer_settings.wave.top.enabled %} {% include {{get_wave}} position="top" wave=footer_settings.wave.top %} {% assign footer_wave_top = _wave %} {% endif %} {% comment %} generate the HTML portion for the BOTTOM wave element ------------------------------------------------------------------------ {% endcomment %} {% if footer_settings.wave.bottom.enabled %} {% include {{get_wave}} position="bottom" wave=footer_settings.wave.bottom %} {% assign footer_wave_bottom = _wave %} {% endif %} {% assign enabled_boxes = 0 %} {% assign footer_options = footer_config_defaults.footer | merge: footer_settings %} {% if debug %} {% endif %} {% comment %} Calculate number of enabled footer boxes ------------------------------------------------------------------------ {% endcomment %} {% for property in footer_options.boxes %} {% if debug %} {% endif %} {% if property.enabled %} {% assign enabled_boxes = enabled_boxes | plus:1 %} {% endif %} {% endfor %} {% assign footer_box_width_md = 12 | divided_by:enabled_boxes %}
{% if footer_settings.wave.top.enabled %} {{footer_wave_top}} {% endif %} {% comment %} COLLECT|PLACE copyright|issue date information ---------------------------------------------------------------------- {% endcomment %}
{% comment %} Reset element variables (already processed) ------------------------------------------------------------------------ {% endcomment %} {% assign footer_settings = nil %} {% endif %} {% endfor %} {% endfor %} {% endfor %} {% endcapture %} {% if production %} {% capture _LINE_FEED %}{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ cache | strip_html_comments }}{% else %}{% capture _content %}{{ cache | strip_html_comments }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd p rt rp optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "" %}{% endif %}{% unless _pre_before contains "" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " ;; ;" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %}
Step Bytes
raw {{ cache | strip_html_comments | size }}{% if _profile_endings %}
endings {{ _profile_endings }}{% endif %}{% if _profile_startings %}
startings {{ _profile_startings }}{% endif %}{% if _profile_comments %}
comments {{ _profile_comments }}{% endif %}{% if _profile_collapse %}
collapse {{ _profile_collapse }}{% endif %}{% if _profile_clippings %}
clippings {{ _profile_clippings }}{% endif %}
{% endif %}{% endif %} {% else %} {{ cache | remove:'' | remove:'' | strip_empty_lines }} {% endif %} {% assign cache = nil %}