# use liquid tags and filters to remove non-license comments and blank lines outside of <pre> tags # simplified from jekyll-compress-html: github.com/penibelst/jekyll-compress-html


{% capture _LINE_FEED %} {% endcapture %}

{%- capture _content -%}{{- content -}}{%- endcapture -%}

{% comment %} Remove unimportant comments {% endcomment %} {% comment %} Use <!–! … –> for important comments that should not be stripped {% endcomment %} {%- assign _comments = “<!– | –>” | split: “|” -%} {%- 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 -%}

{% comment %} Remove blank lines outside of pre blocks {% endcomment %} {%- assign _pre_befores = _content | split: “<pre” -%} {%- assign _content = “” -%} {%- for _pre_before in _pre_befores -%}

{%- assign _pres = _pre_before | split: "</pre>" -%}
{%- assign _pres_after = "" -%}
{%- unless _pres.size == 0 -%}
  {%- assign _lines = _pres.last | split: _LINE_FEED -%}
  {%- capture _pres_content -%}{% 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 -%}
  {%- assign _pres_after = _pres_content -%}
{%- endunless -%}
{%- capture _content -%}
  {{- _content -}}
  {%- if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{%- endif -%}
  {%- unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{%- endunless -%}
{%- endcapture -%}

{%- endfor -%}

{{- _content -}}