regenerate: true
{% capture cache %}
{% comment %}
# ----------------------------------------------------------------------------- # ~/assets/data/panels.html # HTML (data) file for to generate all panel configured for (fragmented) # AJAX loads (jQuery: $.load) # # Product/Info: # https://jekyll-one.com # # Copyright (C) 2019 Juergen Adams # # J1 Template is licensed under the MIT License. # See: https://github.com/jekyll-one/j1_template_mde/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 %} Liquid var initialization ————————————————————— {% endcomment %} {% assign panel_config = site.data.modules.j1_panel.panels %} {% capture panel_config_file %}~/_data/modules/panel.yml{% endcapture %}
{% comment %} Main ————————————————————— {% endcomment %} {% for items in panel_config %}
{% for panels in items %} {% for panel in panels %} {% for item in panel %} {% assign key = item[0] %} {% assign value = item[1] %} {% if key == 'id' %} {% assign id = value %} {% endif %} {% if key == 'enabled' %} {% assign enabled = value %} {% endif %} {% if key == 'type' %} {% assign type = value %} {% endif %} {% if key == 'icon_family' %} {% assign icon_family = value|downcase %} {% endif %} {% if key == 'style' %} {% assign style = value %} {% endif %} {% if key == 'raised' %} {% assign raised = value %} {% endif %} {% if key == 'lane_span' %} {% assign lane_span = value %} {% endif %} {% if key == 'title' %} {% assign title = value|strip_newlines %} {% endif %} {% if key == 'tagline' %} {% assign tagline = value|strip_newlines %} {% endif %} {% if key == 'buttons' %} {% assign buttons = value %} {% endif %} {% if key == 'cards' %} {% assign cards = value %} {% endif %} {% if key == 'boxes' %} {% assign boxes = value %} {% endif %} {% endfor %} {% endfor %} {% 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 %} {% assign icon_size = "5x" %} {% 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 %} <!-- PANEL {{id}} --> <!-- +++++++++++++++++++++++++ --> <div id="{{id}}"> {% if enabled %} {% case type %} {% comment %} Collect INTRO panel ----------------------------------------------------------- {% endcomment %} {% when 'intro_panel' %} <div class="panel-intro"> <div class="{{container_class}}"> <div class="{{row_class}}"> {% 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 %} {% if card_type == 'text' and card_enabled %} <div class="col-md-{{card_width_md}} col-sm-{{card_width_md}} col-xs-12"> <div class="card card-profile mb-4 {{card_raised}}"> <div class="card-icon"> <a href="#"> <i class="card-icon-circle raised-z2 {{icon_family}} {{icon_family}}-{{card_icon}} {{icon_family}}-{{card_icon_size}} {{icon_family}}-{{card_icon_color}} card-icon-background-color-theme card-icon-{{icon_family}}"></i> </a> </div> <div class="content"> <h6 class="notoc category text-gray">{{card_title}}</h6> <h4 class="notoc card-title">{{card_tagline}}</h4> <p class="card-description">{{card_text}}</p> <div class="card-footer"> {% for button_hash in card_buttons %} {% include {{create_bs_button}} button_data=button_hash button_type="link" %} {{bs_button_html}} {% endfor %} </div> </div> </div> </div> {% endif %} {% endfor %} {% comment %} END cards {% endcomment %} </div> </div> </div> {% assign title = nil %} {% assign tagline = nil %} {% assign card_enabled = nil %} {% assign card_type = nil %} {% assign card_icon = nil %} {% assign icon_family = nil %} {% assign card_text = nil %} {% assign card_buttons = nil %} {% assign card_width_md = nil %} {% comment %} END INTRO panel ---------------------------------------------------------------------------- {% endcomment %} {% comment %} Collect INTRO panel - flat ---------------------------------------------------------------------------- {% endcomment %} {% when 'intro_panel_flat' %} <div class="panel-intro"> <div class="{{container_class}}"> <div class="{{row_class}}"> {% 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 == '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 %} {% if card_type == 'text' and card_enabled %} <div class="col-md-{{card_width_md}} col-sm-{{card_width_md}} col-xs-12"> <div class="card card-flat card-profile mb-4 raised-z0"> <div class="card-icon"> <a href="#"> <i class="card-icon-rectangle raised-z0 {{icon_family}} {{icon_family}}-{{card_icon}} {{icon_family}}-{{card_icon_size}} {{icon_family}}-{{card_icon_color}} card-icon-background-no-color card-icon-{{icon_family}}"></i> </a> </div> <div class="content"> {% if card_title %} <h6 class="notoc category text-gray">{{card_title}}</h6> {% endif %} <h4 class="notoc card-title">{{card_tagline}}</h4> <p class="card-description">{{card_text}}</p> <div class="card-footer"> {% for button_hash in card_buttons %} {% include {{create_bs_button}} button_data=button_hash button_type="link" %} {{bs_button_html}} {% endfor %} </div> </div> </div> </div> {% endif %} {% endfor %} {% comment %} END cards {% endcomment %} </div> </div> </div> {% assign title = nil %} {% assign tagline = nil %} {% assign card_enabled = nil %} {% assign card_type = nil %} {% assign card_icon = nil %} {% assign icon_family = nil %} {% assign card_title = nil %} {% assign card_tagline = nil %} {% assign card_text = nil %} {% assign card_buttons = nil %} {% assign card_width_md = nil %} {% comment %} END INTRO panel ---------------------------------------------------------------------------- {% endcomment %} {% comment %} Collect SERVICE panel ---------------------------------------------------------------------------- {% endcomment %} {% when 'service_panel' %} <div class="panel-service"> <div class="{{container_class}}"> <div class="row"> {% 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 %} <div class="col-md-10 col-md-offset-1 col-sm-10 col-sm-offset-1 col-xs-10 col-xs-offset-1 mb-3"> <!-- service header --> <h2 class="title text-center">{{card_title}}</h2> <div class="tagline"> <p>{{card_tagline}}</p> </div> </div> <!-- end service header --> {% endif %} {% if card_type == "service" and card_enabled %} <div class="col-md-{{card_width_md}} col-sm-{{card_width_md}} col-xs-12"> <div class="card card-flat card-profile mb-0 raised-z0"> <div class="card-icon"> <!-- a href="{{site.url}}{{card_href}}" --> <a href="{{card_href}}"> <!-- i class="card-icon-rectangle raised-z0 {{icon_family}} {{icon_family}}-{{card_icon}} {{icon_size}} {{icon_color}} card-icon-background-color-theme card-icon-{{icon_family}}"></i --> <i class="card-icon-rectangle raised-z0 {{icon_family}} {{icon_family}}-{{card_icon}} {{icon_family}}-{{card_icon_size}} {{icon_family}}-{{card_icon_color}} card-icon-background-no-color card-icon-{{icon_family}}"></i> </a> </div> <div class="content"> <h6 class="notoc category text-gray">{{card_title}}</h6> <!-- a href="{{site.url}}{{card_href}}" --> <a href="{{card_href}}"> <h4 class="notoc card-title">{{card_tagline}}</h4> </a> <p class="card-description">{{card_text}}</p> <div class="card-footer"> <ul class="service-list list-unstyled"> {% for list in services %} <!-- li><a href="{{site.url}}{{list.service.href}}">{{list.service.title}}</a></li --> <li><a href="{{list.service.href}}">{{list.service.title}}</a></li> {% endfor %} </ul> </div> </div> </div> </div> <!-- end service card --> {% endif %} {% endfor %} {% comment %} END cards ------------------------------------------------------------------------ {% endcomment %} </div> </div> </div> {% assign title = nil %} {% assign tagline = nil %} {% assign card_enabled = nil %} {% assign card_type = nil %} {% assign card_icon = nil %} {% assign icon_family = nil %} {% assign card_text = nil %} {% assign services = nil %} {% assign card_width_md = nil %} {% comment %} END SERVICES panel ---------------------------------------------------------------------------- {% endcomment %} {% comment %} Collect NEWS panel ---------------------------------------------------------------------------- {% endcomment %} {% when 'news_panel' %} <div class="panel-news"> <div class="{{container_class}} j1-panel-block"> {% if title %} <div class="panel-headline"> {% if title %} {% assign title_id = "news_panel" %} {% endif %} {% if title %} <h2 id="{{title_id}}" class="title">{{title}}</h2>{% endif %} {% if tagline %}<div class="tagline"> <p>{{tagline}}</p> </div>{% endif %} </div> {% endif %} <!-- panel content --> <div class="row"> {% assign header_available = false %} {% assign box_items = boxes | size %} {% for box in boxes %} {% for items in box %} {% for item in items[1] %} {% assign key = item[0] %} {% assign value = item[1] %} {% if key == 'enabled' %} {% assign box_enabled = value %} {% endif %} {% if key == 'type' %} {% assign box_type = value %} {% endif %} {% if key == 'style' %} {% assign box_style = value %} {% endif %} {% if key == 'raised' %} {% assign box_raised = value %} {% endif %} {% if key == 'category' %} {% assign post_category = value %} {% endif %} {% if key == 'max_posts' %} {% assign posts_max = value %} {% endif %} {% if key == 'buttons' %} {% assign box_buttons = value %} {% endif %} {% endfor %} {% if box_enabled == false %} {% assign box_items = box_items | minus:1 %} {% endif %} {% endfor %} {% comment %} calculate columns ------------------------------------------------------------------ {% endcomment %} {% assign box_width = 12 | divided_by: box_items %} <!-- Collect last current post --> {% if box_type == "last_current" and box_enabled %} <div class="col-md-{{box_width}} col-sm-{{box_width}} col-xs-12"> <div class="content"> <!-- Last current post --> {% assign last_post_written = false %} {% for post in site.posts %} {% for category in post.categories %} {% if category == post_category and last_post_written != true %} <!-- Collect image data from frontmatter --> {% 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 %} <!-- Collect icon data from post frontmatter --> <!-- Set the default icon|family --> {% 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' %} <!-- icon != 'false' and image == 'false' --> {% endif %} {% if icon == 'false' and image == 'false' %} <!-- icon == 'false' and image == 'false' --> {% endif %} {% if image != 'false' %} <!-- image != 'false' --> <div class="card {{card_style}}"> <div class="card-image"> <img class="img" src="{{post.image}}" alt="{{post.title}}"> </div> <div class="card-body"> <span class="post-meta">{{post.date|date:"%Y %B, %e"}}</span> <h2 id="{{100000 | rand}}" class="card-title">{{post.title}}</h2> <h6 class="card-subtitle text-muted mb-2">{{post.tagline}}</h6> <div class="card-text"><p>{{post.excerpt}}</p></div> <div class="card-footer"> <a class="card-link" href="{{post.url}}#readmore" target="blank">Read more ..</a> </div> </div> </div> {% endif %} {% assign last_post_written = true %} {% assign last_post_title = post.title %} {% break%} {% endif %} {% endfor %} {% endfor %} </div> <!-- end box current item --> </div> <!-- end content current item --> {% endif %} <!-- Collect recent posts --> {% if box_type == "recent" and box_enabled %} <div class="col-md-{{box_width}} col-sm-{{box_width}} col-xs-12"> <!-- Recent News (NewsBox) --> <div class="recent-news"> <!-- loop counter correction --> {% 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 %} <div class="card-list-element"> {% 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 %} <div class="card {{card_style}} mb-2"> <div class="card-body"> <span class="post-meta">{{post.date|date:"%Y %B, %e"}}</span> <h2 id="{{100000 | rand}}" class="card-title">{{post.title}}</h2> <h6 class="card-subtitle text-muted mb-2">{{post.tagline}}</h6> <div class="card-text"><p>{{post.excerpt | truncatewords: 20}}</p></div> <div class="card-footer"> <a class="card-link" href="{{post.url}}#readmore" target="blank">Read more ..</a> </div> </div> </div> </div> <!-- end list-element --> {% endif %} {% endfor %} {% endfor %} </div> <!-- end recent news --> </div> <!-- end recent news box --> {% endif %} {% endfor %} </div> <!-- end NEWS panel --> {% comment %} END boxes ---------------------------------------------------------------------- {% endcomment %} </div> <!-- end row --> </div> <!-- end {{container_class}} --> </div> <!-- end news panel --> </div> <!-- end id --> {% assign box_enabled = nil %} {% assign box_type = nil %} {% assign box_icon = nil %} {% assign box_icon_color = nil %} {% assign box_icon_size = nil %} {% assign box_image_path = nil %} {% assign box_animate = nil %} {% assign box_title = nil %} {% assign box_tagline = nil %} {% assign box_text = nil %} {% assign box_buttons = nil %} {% assign box_category = nil %} {% assign box_max_posts = nil %} {% comment %} END NEWS panel ----------------------------------------------------------- {% endcomment %} {% else %} {% comment %} Exception: no panel of given type found --------------------------------------------------------- {% endcomment %} <div class="row"> <div class="col-md-6 col-md-offset-3"> <div class="card raised-z10 mt-5"> <div class="content content-danger"> <h4 class="notoc"> <i class="zmdi zmdi-alert-triangle zmdi-hc-3x pl-3"></i> Panel <i>{{type}}</i> not found </h4> <h4 class="notoc card-title">Check your configuration</h4> <div class="card-description"> Don't worry about this. May you've a typo in the panel's configuration. Check the panel config file for the unknown type. A line contains something wrong like 'type: {{type}}'. Have a look at: </div> <div class="mb-5"> <h5 class="notoc">{{panel_config_file}}</h5> </div> </div> </div> </div> </div> {% endcase %} </div> <!-- End PANEL {{id}} --> {% endif %} {% comment %} endif enabled ----------------------------------------------------------- {% endcomment %} {% endfor %}
{% endfor %}
{% endcapture %}
{{cache | strip_empty_lines}} {% assign cache = nil %}