--- # # Jekyll layout that compresses HTML # v0.2.0 # https://github.com/penibelst/jekyll-compress-html # compress: elements: # Root - html # Metadata content - head - title - base - link - meta - style # Sections - body - article - section - nav - aside - h1 - h2 - h3 - h4 - h5 - h6 - hgroup - header - footer - address # Grouping content except `pre` - p - hr - blockquote - ol - ul - li - dl - dt - dd - figure - figcaption - main - div # Tabular data - table - caption - colgroup - col - tbody - thead - tfoot - tr - td - th --- {% assign _pres = content | split: '<pre' %}{% for _pre1 in _pres %}{% assign _pre2 = _pre1 | split: '</pre>' %}{% if _pre2.size == 2 %}<pre{{ _pre2.first }}</pre>{% endif %}{% assign _second = _pre2.last | split: ' ' | join: ' ' %}{% for _element in page.compress.elements %}{% assign _edge = ' <e,<e' | replace: 'e', _element | split: ',' %}{% assign _second = _second | replace: _edge[0], _edge[1] %}{% assign _edge = ' </e>,</e>' | replace: 'e', _element | split: ',' %}{% assign _second = _second | replace: _edge[0], _edge[1] %}{% assign _edge = '</e> ,</e>' | replace: 'e', _element | split: ',' %}{% assign _second = _second | replace: _edge[0], _edge[1] %}{% assign _blank = '<e></e>' | replace: 'e', _element %}{% assign _second = _second | remove: _blank %}{% endfor %}{{ _second }}{% endfor %}