--- regenerate: true exclude_from_search: true --- {%- capture cache -%} {% comment %} # ----------------------------------------------------------------------------- # ~/assets/data/masonry.html # Liquid procedure to generate the HTML portion for all Masonry Grids # configured # # 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 # ----------------------------------------------------------------------------- # NOTE: Data loaded dynamically by J1 Masonry module (AJAX) # ----------------------------------------------------------------------------- # Test data: # {{variable | debug}} # ----------------------------------------------------------------------------- {% endcomment %} {% comment %} Liquid procedures -------------------------------------------------------------------------------- {% endcomment %} {% comment %} Liquid var initialization -------------------------------------------------------------------------------- {% endcomment %} {% comment %} Set config files -------------------------------------------------------------------------------- {% endcomment %} {% assign template_config = site.data.j1_config %} {% assign modules = site.data.modules %} {% comment %} Set config data -------------------------------------------------------------------------------- {% endcomment %} {% assign environment = site.environment %} {% assign masonry_defaults = modules.defaults.masonry.defaults %} {% assign masonry_settings = modules.masonry.settings %} {% comment %} Set config options -------------------------------------------------------------------------------- {% endcomment %} {% assign masonry_options = masonry_defaults | merge: masonry_settings %} {% assign grids = masonry_options.grids %} {% comment %} Configure permalink settings -------------------------------------------------------------------------------- {% endcomment %} {% assign ext = '' %} {% if site.permalink == 'none' %} {% assign ext = '.html' %} {% endif %} {% comment %} Detect prod mode -------------------------------------------------------------------------------- {% endcomment %} {% assign production = false %} {% if environment == 'prod' or environment == 'production' %} {% assign production = true %} {% endif %} {% comment %} Main ================================================================================ {% endcomment %} {% comment %} Collect grids ------------------------------------------------------------------------------ {% endcomment %} {% for grid in grids %} {% if grid.enabled %} {% comment %} POSTS grids ---------------------------------------------------------------------------- {% endcomment %} {% if grid.type == 'post' %}
{% for post in site.posts %} {% if post.group contains grid.group %} {% if grid.translate_links %} {% assign translate = "" %} {% else %} {% assign translate = "notranslate" %} {% endif %} {% if grid.link_new_window %} {% assign target = "_blank" %} {% else %} {% assign target = "" %} {% endif %} {% comment %} Collect CSS image filters ------------------------------------------------------------------------ {% endcomment %} {% assign css_filters = masonry_options.filters | merge: grid.filters %} {% assign image_filters = 'filter:' %} {% if css_filters.enabled %} {% for filter in css_filters %} {% if filter[0] contains 'enabled' %} {% continue %} {% endif %} {% capture image_filters %}{{image_filters}} {{filter[0]}}({{filter[1]}}){% endcapture %} {% endfor %} {% endif %}
{% if post %} {% assign categories = post.categories %} {% else %} {% assign categories = page.categories %} {% endif %} {% comment %} categories: {{categories | debug}} ------------------------------------------------------------------ {% endcomment %} {% for category in categories %} {% if category contains post.category %} {{grid.group}} {% endif %} {% endfor %}
  • {{site.author.name | split: ' ' | first}}  ·  
  • {{post.date | date: '%b %d, %Y'}}

{{post.tags[0]}}

{% endif %} {% endfor %}
{% endif %} {% comment %} COLLECTION grids ---------------------------------------------------------------------------- {% endcomment %} {% if grid.type == 'collection' %} {% comment %} Set collection data ---------------------------------------------------------------------------- {% endcomment %} {% assign collection_name = grid.collection %} {% comment %} Collect collection documents ---------------------------------------------------------------------------- {% endcomment %} {% for collection in site.collections %} {% if collection.label contains collection_name %} {% assign articles = collection.docs %} {% break %} {% endif %} {% endfor %}
{% if grid.translate_titles %} {% assign translate = "" %} {% else %} {% assign translate = "notranslate" %} {% endif %} {% comment %} Collect CSS image filters -------------------------------------------------------------------------- {% endcomment %} {% assign css_filters = masonry_options.filters | merge: grid.filters %} {% assign image_filters = 'filter:' %} {% if css_filters.enabled %} {% for filter in css_filters %} {% if filter[0] contains 'enabled' %} {% continue %} {% endif %} {% capture image_filters %}{{image_filters}} {{filter[0]}}({{filter[1]}}){% endcapture %} {% endfor %} {% endif %} {% for article in articles %}
{% if grid.preview %}
{% else %} {% endif %}
{{article.title}}
{{article.tags[0]}}
{% if grid.preview %} {% endif %} {% endfor %}
{% endif %} {% comment %} Image Grids ---------------------------------------------------------------------------- {% endcomment %} {% if grid.type == 'image' %} {% comment %} Collect CSS image filters -------------------------------------------------------------------------- {% endcomment %} {% assign css_filters = masonry_options.filters | merge: grid.filters %} {% assign image_filters = 'filter:' %} {% if css_filters.enabled %} {% for filter in css_filters %} {% if filter[0] contains 'enabled' %} {% continue %} {% endif %} {% capture image_filters %}{{image_filters}} {{filter[0]}}({{filter[1]}}){% endcapture %} {% endfor %} {% endif %}
{% for image in grid.images %}
{% if grid.lightbox.enabled %} {% if grid.lightbox.type == 'lb' %}
{% if grid.caption.enabled %}
{{image.caption}}
{% endif %}
{% elsif grid.lightbox.type == 'lg' %}
{% if grid.caption.enabled %}
{{image.caption}}
{% endif %}
{% else %}
{% if grid.caption.enabled %}
{{image.caption}}
{% endif %}
{% endif %} {% endif %}
{% endfor %}
{% endif %} {% comment %} VIDEO Grid ---------------------------------------------------------------------------- {% endcomment %} {% if grid.type == 'video' %} {% comment %} Collect CSS image filters ---------------------------------------------------------------------------- {% endcomment %} {% assign css_filters = masonry_options.filters | merge: grid.filters %} {% assign image_filters = 'filter:' %} {% if css_filters.enabled %} {% for filter in css_filters %} {% if filter[0] contains 'enabled' %} {% continue %} {% endif %} {% capture image_filters %}{{image_filters}} {{filter[0]}}({{filter[1]}}){% endcapture %} {% endfor %} {% endif %}
{% for video in grid.videos %} {% if video.type == 'youtube' or video.type == 'dailymotion' or video.type == 'vimeo' or video.type == 'wistia' %}
{{video.caption.text}}
{% elsif video.type == 'html5' %} {% assign video_split = video.source | split: '.' %}
{{video.caption.text}}
{% endif %} {% endfor %}
{% endif %} {% endif %} {% endfor %} {%- endcapture -%} {% comment %} Beatify|Compress page -------------------------------------------------------------------------------- {% endcomment %} {%- 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|pretty_print}} {%- endif -%} {% comment %} Reset page cache -------------------------------------------------------------------------------- {% endcomment %} {%- assign cache = false -%}