--- regenerate: false --- {% capture cache %} {% comment %} # ----------------------------------------------------------------------------- # ~/assets/data/panel.html # Liquid procedure to generate HTML (data) for all panel configured for # (fragmented) AJAX load # # Product/Info: # https://jekyll.one # # Copyright (C) 2019 Juergen Adams # # J1 Template is licensed under the MIT License. # See: https://github.com/jekyll-one-org/j1_template/blob/master/LICENSE # # ----------------------------------------------------------------------------- # Test data: # {{ variable | debug }} # # ----------------------------------------------------------------------------- {% endcomment %} {% comment %} Liquid procedures -------------------------------------------------------------------------------- {% endcomment %} {% capture select_color %}themes/{{site.template.name}}/procedures/global/select_color.proc{% endcapture %} {% capture select_icon_size %}themes/{{site.template.name}}/procedures/global/select_icon_size.proc{% endcapture %} {% capture create_bs_button %}themes/{{site.template.name}}/procedures/global/create_bs_button.proc{% endcapture %} {% capture news_box %}themes/{{site.template.name}}/modules/footers/boxes/news_box.proc{% endcapture %} {% comment %} Set global settings -------------------------------------------------------------------------------- {% endcomment %} {% assign environment = site.environment %} {% assign debug = false %} {% comment %} Process YML config data ================================================================================ {% endcomment %} {% comment %} Set config files -------------------------------------------------------------------------------- {% endcomment %} {% assign panel_config_defaults = site.data.blocks.defaults.panel %} {% assign panel_config_settings = site.data.blocks.panel_new %} {% comment %} Set config data -------------------------------------------------------------------------------- {% endcomment %} {% assign panel_config_defaults = panel_config_defaults.defaults %} {% assign panel_config_settings = panel_config_settings.settings %} {% comment %} Set HELPER variables -------------------------------------------------------------------------------- {% endcomment %} {% capture panel_config_file_name %}~/_data/modules/panel.yml{% endcapture %} {% comment %} Main ================================================================================ {% endcomment %} {% for items in panel_config_settings %} {% assign key = items[0] %} {% assign value = items[1] %} {% assign panel_config = value %} {% for items in panel_config %} {% for panels in items %} {% if debug %} panels: {{ panels }} {% endif %} {% comment %} parse settings for MAIN keys -------------------------------------------------------------------------- {% endcomment %} {% for panel in panels %} {% assign data_type = panel | is_type %} {% if data_type == 'hash' %} {% assign panel_settings = panel %} {% assign id = panel_settings.id %} {% assign enabled = panel_settings.enabled %} {% assign type = panel_settings.type %} {% assign icon_family = panel_settings.icon_family | downcase %} {% assign style = panel_settings.style %} {% assign raised = panel_settings.raised %} {% assign lane_span = panel_settings.lane_span %} {% assign title = panel_settings.title|strip_newlines %} {% assign tagline = panel_settings.tagline|strip_newlines %} {% assign buttons = panel_settings.buttons %} {% assign cards = panel_settings.cards %} {% endif %} {% endfor %} {% if lane_span == 'fixed' %} {% assign container_class = 'container j1-panel-block' %} {% elsif lane_span == 'fluid' %} {% assign container_class = 'container-fluid j1-panel-block' %} {% else %} {% assign container_class = 'container j1-panel-block' %} {% endif %} {% assign row_class = 'row j1-panel-block' %} {% if style == 'flat' %} {% assign card_style = 'card-flat' %} {% else %} {% assign card_style = '' %} {% endif %} {% if raised %} {% capture card_raised %}raised-z{{raised}}{% endcapture %} {% else %} {% assign card_raised = 'raised-z3' %} {% endif %} {% if icon_family == 'fontawesome' or icon_family == 'fontawesome5' or icon_family == 'fa'%} {% assign icon_family = 'fa' %} {% elsif icon_family == 'mdi' %} {% assign icon_family = 'mdi' %} {% else'%} {% assign icon_family = 'mdi' %} {% endif %} {% comment %} process current panel -------------------------------------------------------------------------- {% endcomment %} {% if panel_settings.enabled %} {% case panel_settings.type %} {% comment %} Collect INTRO panel ------------------------------------------------------------------------ {% endcomment %} {% when 'intro' %} {% if debug %}{% endif %} {% if debug %}{% endif %} {% assign panel_options = panel_config_defaults.intro | merge: panel_settings %} {% if debug %}{% endif %}
{% assign card_items = cards | size %} {% for card in cards %} {% for items in card %} {% for item in items[1] %} {% assign key = item[0] %} {% assign value = item[1] %} {% if key == 'enabled' %} {% assign card_enabled = value %} {% endif %} {% if key == 'type' %} {% assign card_type = value %} {% endif %} {% if key == 'icon' %} {% assign card_icon = value %} {% endif %} {% if key == 'icon_size' %} {% assign card_icon_size = value %} {% endif %} {% if key == 'icon_color' %} {% assign card_icon_color = value %} {% endif %} {% if key == 'title' %} {% assign card_title = value | strip_newlines%} {% endif %} {% if key == 'tagline' %} {% assign card_tagline = value | strip_newlines%} {% endif %} {% if key == 'text' %} {% assign card_text = value | strip_newlines %} {% endif %} {% if key == 'buttons' %} {% assign card_buttons = value %} {% endif %} {% endfor %} {% if card_enabled == false %} {% assign card_items = card_items | minus:1 %} {% endif %} {% endfor %} {% assign card_width_md = 12 | divided_by: card_items %} {% include {{select_icon_size}} family=icon_family size=icon_size %} {% assign icon_size = size %} {% if card_width %} {% assign card_enabled = true %} {% assign card_width_md = card_width %} {% else %} {% assign card_width_md = 12 | divided_by: card_items %} {% endif %} {% if card_animate %} {% assign card_animate = card_animate %} {% else %} {% assign card_animate = '' %} {% endif %} {% comment %} TODO: Style should be configurable -------------------------------------------------------------- {% endcomment %} {% assign card_style = 'flat' %} {% if card_type == 'text' and card_enabled and card_style == 'flat' %} {% assign card_raised = 'raised-z0' %}
{% if card_title %}
{{card_title}}
{% endif %}

{{card_tagline}}

{{card_text}}

{% endif %} {% endfor %} {% comment %} END cards ------------------------------------------------------------------ {% endcomment %}
{% comment %} Reset element variables (already processed) ------------------------------------------------------------------------ {% endcomment %} {% assign panel_settings = nil %} {% comment %} Collect SERVICE panel ------------------------------------------------------------------------ {% endcomment %} {% when 'service' %} {% if debug %}{% endif %} {% if debug %}{% endif %} {% assign panel_options = panel_config_defaults.service | merge: panel_settings %} {% if debug %}{% endif %}
{% assign header_available = false %} {% assign card_items = cards | size %} {% for card in cards %} {% for items in card %} {% for item in items[1] %} {% assign key = item[0] %} {% assign value = item[1] %} {% if key == 'enabled' %} {% assign card_enabled = value %} {% endif %} {% if key == 'width' %} {% assign card_width = value %} {% endif %} {% if key == 'type' %} {% assign card_type = value %} {% endif %} {% if key == 'href' %} {% assign card_href = value %} {% endif %} {% if key == 'icon' %} {% assign card_icon = value %} {% endif %} {% if key == 'icon_family' %} {% assign icon_family = value %} {% endif %} {% if key == 'icon_size' %} {% assign icon_size = value %} {% endif %} {% if key == 'icon_color' %} {% assign icon_color = value %} {% endif %} {% if key == 'text' %} {% assign card_text = value | strip_newlines %} {% endif %} {% if key == 'services' %} {% assign services = value %} {% endif %} {% endfor %} {% if card_enabled == false %} {% assign card_items = card_items | minus:1 %} {% endif %} {% endfor %} {% assign card_width_md = 12 | divided_by: card_items %} {% if card_type == "header" and card_enabled %} {% comment %} correct # items if header available {% endcomment %} {% assign card_items = card_items | minus:1 %} {% assign card_width_md = 12 | divided_by: card_items %}

{{card_title}}

{{card_tagline}}

{% endif %} {% if card_type == "service" and card_enabled %}
{{card_title}}

{{card_tagline}}

{{card_text}}

{% endif %} {% endfor %} {% comment %} END cards ---------------------------------------------------------------------- {% endcomment %}
{% comment %} Reset element variables (already processed) ------------------------------------------------------------------------ {% endcomment %} {% assign panel_settings = nil %} {% comment %} END SERVICES panel ------------------------------------------------------------------------ {% endcomment %} {% comment %} Collect NEWS panel ---------------------------------------------------------------------------- {% endcomment %} {% when 'news' %} {% if debug %}{% endif %} {% if debug %}{% endif %} {% assign panel_options = panel_config_defaults.news | merge: panel_settings %} {% if debug %}{% endif %}
{% if panel_options.title %}
{% if panel_options.title %} {% assign title_id = "news_panel" %} {% endif %} {% if panel_options.title %}

{{panel_options.title}}

{% endif %} {% if panel_options.tagline %}

{{panel_options.tagline}}

{% endif %}
{% endif %}
{% assign header_available = false %} {% assign card_items = panel_options.cards | size %} {% for card in panel_options.cards %} {% for items in card %} {% for item in items[1] %} {% assign key = item[0] %} {% assign value = item[1] %} {% if key == 'enabled' %} {% assign card_enabled = value %} {% endif %} {% if key == 'type' %} {% assign card_type = value %} {% endif %} {% if key == 'style' %} {% assign card_style = value %} {% endif %} {% if key == 'raised' %} {% assign card_raised = value %} {% endif %} {% if key == 'category' %} {% assign post_category = value %} {% endif %} {% if key == 'max_posts' %} {% assign posts_max = value %} {% endif %} {% if key == 'buttons' %} {% assign card_buttons = value %} {% endif %} {% endfor %} {% if card_enabled == false %} {% assign card_items = card_items | minus:1 %} {% endif %} {% endfor %} {% comment %} calculate columns ---------------------------------------------------------------- {% endcomment %} {% assign card_width = 12 | divided_by: card_items %} {% if card_type == "last_current" and card_enabled %}
{% assign last_post_written = false %} {% for post in site.posts %} {% for category in post.categories %} {% if category == post_category and last_post_written != true %} {% if post.image %} {% assign image_name = post.image.name %} {% assign image_path = post.image.path %} {% if post.image.random %} {% assign max_random = image_name | regex_replace: '[a-zA-Z_-]*' %} {% assign max_random = max_random | regex_replace: '\.' %} {% assign random = max_random | rand %} {% assign image_name = image_name | regex_replace: '\d+', random %} {% endif %} {% capture image %}{{image_path}}/{{image_name}}{% endcapture %} {% else %} {% assign image = 'false' %} {% endif %} {% assign icon = 'comment-alt' %} {% assign icon_family = 'zmdi' %} {% assign icon_color = '#3F51B5' %} {% assign icon_size = 'large' %} {% if post.icon %} {% assign icon = post.icon.name | downcase %} {% assign icon_family = post.icon.family %} {% assign icon_color = post.icon.color %} {% assign icon_size = post.icon.size %} {% if icon_family == "FontAwesome" %} {% assign icon_family = "fa" %} {% elsif icon_family == "Glyphicon" %} {% assign icon_family = "glyphicon" %} {% elsif icon_family == "MDI" %} {% assign icon_family = "mdi" %} {% elsif icon_family == "ZMDI" %} {% assign icon_family = "zmdi" %} {% endif %} {% endif %} {% include {{select_icon_size}} family=icon_family size="xxxlarge" %} {% assign icon_size = size %} {% include {{select_color}} color=icon_color fallback="#000"%} {% assign icon_color = color %} {% if icon != 'false' and image == 'false' %} {% endif %} {% if icon == 'false' and image == 'false' %} {% endif %} {% if image != 'false' %}
{{post.title}}

{{post.title}}

{{post.tagline}}

{{post.excerpt}}

{% endif %} {% assign last_post_written = true %} {% assign last_post_title = post.title %} {% break%} {% endif %} {% endfor %} {% endfor %}
{% endif %} {% if card_type == "recent" and card_enabled %}
{% assign max_posts = posts_max | minus:'1' %} {% assign posts_written = 0 %} {% assign last_post_written = false %} {% for post in site.posts %} {% for category in post.categories %} {% if category == post_category and last_post_written != true %}
{% if post.title == last_post_title %} {% continue %} {% endif %} {% assign posts_written = posts_written | plus:'1' %} {% if posts_written == posts_max %} {% assign last_post_written = true %} {% break %}{% endif %}

{{post.title}}

{{post.tagline}}

{{post.excerpt | truncatewords: 20}}

{% endif %} {% endfor %} {% endfor %}
{% endif %} {% endfor %}
{% comment %} END boxes -------------------------------------------------------------------- {% endcomment %}
{% comment %} Reset element variables (already processed) ------------------------------------------------------------------------ {% endcomment %} {% assign panel_settings = nil %} {% comment %} END NEWS panel ------------------------------------------------------------------------ {% endcomment %} {% else %} {% comment %} Collect EXCEPTION panel: given type NOT found ------------------------------------------------------------------------ {% endcomment %} {% unless panel_settings.id == 'exception_container' %}

panel of type {{panel_settings.type}} not found

Check your configuration at {{panel_config_file_name}}

Don't worry about this. Maybe you've a typo in the panel configuration. Check the panel config file for the unknown type.
Check for something wrong like:
id: {{panel_settings.id}}
type: {{panel_settings.type}}
comment: {{panel_settings.comment}}
{% endunless %} {% comment %} Reset element variables (already processed) ------------------------------------------------------------------------ {% endcomment %} {% assign panel_settings = nil %} {% comment %} END EXEPTION panel ------------------------------------------------------------------------ {% endcomment %} {% endcase %} {% endif %} {% comment %} endif enabled {% endcomment %} {% endfor %} {% comment %} END panels {% endcomment %} {% endfor %} {% comment %} END panel_config {% endcomment %} {% endfor %} {% comment %} END panel_config_settings {% endcomment %} {% endcapture %} {{ cache | pretty_print | remove:'' | remove:'' | strip_empty_lines }} {% assign cache = nil %}