61 lines
1.5 KiB
HTML
61 lines
1.5 KiB
HTML
---
|
|
#
|
|
# 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 %}
|