Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Jetroid/c127894509b0eca769bade3aa893b3df to your computer and use it in GitHub Desktop.
Save Jetroid/c127894509b0eca769bade3aa893b3df to your computer and use it in GitHub Desktop.
{%- assign pieces = content | split: '<img src="' -%}
{%- for piece in pieces -%}
{%- if forloop.first == true -%}
{{ piece }}
{%- else -%}
{%- if piece contains '" alt="' -%}
{%- assign url = piece | split: '" alt="' | first -%}
{%- assign alt = piece | split: '" alt="' | shift | join: '" alt="' | split: '"' | first -%}
{%- assign rest = piece | split: '" alt="' | shift | join: '" alt="' | split: '"' | shift | join: '"' -%}
{%- assign url-filename = url | split: '.' | pop | join: '.' -%}
{%- assign url-extension = url | split: '.' | last -%}
{%- if url-extension == "gif" -%}
<noscript><img src="{{ url }}" alt={{alt}} /></noscript>
<img class="lazy" data-src="{{ url }}" alt={{alt}}{{ rest }}
{%- else -%}
<noscript><img
srcset="{{ url-filename }}-560.{{ url-extension }} 560w,
{{ url-filename }}-655.{{ url-extension }} 655w,
{{ url-filename }}-874.{{ url-extension }} 874w,
{{ url-filename }}-1024.{{ url-extension }} 1024w,
{{ url-filename }}-1230.{{ url-extension }} 1230w"
sizes="(max-width:499px) 82vw,
(max-width:799px) 88vw,
(max-width:999px) 76vw,
64vw"
src="{{ url }}" alt="{{ alt }}" /></noscript>
<img class="lazy"
data-src="{{ url }}"
data-srcset="{{ url-filename }}-560.{{ url-extension }} 560w,
{{ url-filename }}-655.{{ url-extension }} 655w,
{{ url-filename }}-874.{{ url-extension }} 874w,
{{ url-filename }}-1024.{{ url-extension }} 1024w,
{{ url-filename }}-1230.{{ url-extension }} 1230w"
data-sizes="82vw,
(min-width:500px) 88vw,
(min-width:800px) 76vw,
(min-width:1000px) 64vw"
alt="{{ alt }}"{{ rest }}
{%- endif -%}
{%- else -%}
{%- assign url = piece | split: '"' | first -%}
{%- assign rest = piece | split: '"' | shift | join: '"' -%}
{%- assign url-filename = url | split: '.' | pop | join: '.' -%}
{%- assign url-extension = url | split: '.' | last -%}
{%- if url-extension == "gif" -%}
<noscript><img src="{{ url }}" /></noscript>
<img class="lazy" data-src="{{ url }}"{{ rest }}
{%- else -%}
<noscript><img
srcset="{{ url-filename }}-560.{{ url-extension }} 560w,
{{ url-filename }}-655.{{ url-extension }} 655w,
{{ url-filename }}-874.{{ url-extension }} 874w,
{{ url-filename }}-1024.{{ url-extension }} 1024w,
{{ url-filename }}-1230.{{ url-extension }} 1230w"
sizes="(max-width:499px) 82vw,
(max-width:799px) 88vw,
(max-width:999px) 76vw,
64vw"
src="{{ url }}" alt="{{ alt }}" /></noscript>
<img class="lazy"
data-src="{{ url }}"
data-srcset="{{ url-filename }}-560.{{ url-extension }} 560w,
{{ url-filename }}-655.{{ url-extension }} 655w,
{{ url-filename }}-874.{{ url-extension }} 874w,
{{ url-filename }}-1024.{{ url-extension }} 1024w,
{{ url-filename }}-1230.{{ url-extension }} 1230w"
data-sizes="82vw,
(min-width:500px) 88vw,
(min-width:800px) 76vw,
(min-width:1000px) 64vw"{{ rest }}
{%- endif -%}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment