selfdefined/11ty/_includes/components/definition-content.njk

53 lines
1.6 KiB
Plaintext
Raw Normal View History

{% macro renderAltWords(words, labels) %}
{%- if words | isArray -%}
{# Array #}
<ul
class="list-semicolon"
{% if labels %}aria-labelledby="{{ labels | join(' ') }}"{% endif %}
>
{%- for word in words -%}
<li>
{{ word | linkIfExistsInCollection(collections.definedWords) | safe }}
</li>
{%- endfor -%}
</ul>
{%- else -%}
{# Object #}
{# With class="", the list loses padding via the CSS reset style. #}
{# For multi-level category support, we may want an actual class. #}
<ul class="">
{%- for category, list in words -%}
<li>
{% set categoryId = ("alt-words-" + category) | replace(' ', '-') %}
<strong id="{{ categoryId }}">{{ category }}</strong>
{{ renderAltWords(list, labels.concat(categoryId)) }}
</li>
{%- endfor -%}
</ul>
{%- endif -%}
{% endmacro %}
📄 Add Detail Pages for Definitions (#75) * fix: untrack definitions in dist * feat(detail pages): update item link * feat(detail pages): add layout * feat(detail pages): render whole definition content * feat(detail pages): remove definitons from homepage * 🧹 def list component * feat(layout): render site footer in all pages * feat(detail pages): rename definition root class && move css into partials * chore: abstract further css into own files * feat(detail pages): update headling level of definition content * feat(styles): set box sizing * feat(styles): add margin bottom utility * feat(styles): selection * feat(components): sub page header own component * feat(detail pages): add sections * feat(style): mian headline * feat(page layout): rename page content grid * feat(page layout): add wide content class * feat(detail pages): set document title * feat(detail pages): set uniform document title for docs and definitions * feat(page title): add comment * feat(detail pages): add meta description * feat(detail pages): wrap def header in article tag * chore: set up ava * feat(filters): move permalink function into file, add test * chore: rename _temp to _util, remove creation script * feat(detail pages): helper function to find additional definitions * chore: move helpers to single directory * feat(detail pages): create shortcode for further definition navigation * feat(detail pages): fix find defs function * feat(detail pages): shortcode for browse nav markup * chore: fix collection mock data * feat(detail pages): render browse nav * feat(detail pages): style browse nav, style improvements * feat(detail pages): test redirect * feat(detail pages): client side redirect * feat(homepage): set title * 💅 * feat(detail pages): incorporate design changes * feat(detail pages): hide browse headlines * feat(detail pages): label lists * feat(footer): add aria label * feat(detail pages): redice heading level in md * feat(detail pages): spacing in browse nav * feat(detail pages): reduce line height * feat(detail pages): set max width w/o breaking homepage * feat(detail pages): replace in-definition definition links * 🧹 * feat(detail pages): recover spacing utility * 🧹 * chore(packages): update ava * config: specify nvm version * 💅 * 💅
2020-03-09 23:47:06 +01:00
<section class="definition-content">
<section class="definition-content__content">
{{ content | safe }}
</section>
{%- if alt_words -%}
<section class="definition-content__content">
<h2 id="alt-words">Alt Words</h2>
{{ renderAltWords(alt_words, ["alt-words"]) }}
📄 Add Detail Pages for Definitions (#75) * fix: untrack definitions in dist * feat(detail pages): update item link * feat(detail pages): add layout * feat(detail pages): render whole definition content * feat(detail pages): remove definitons from homepage * 🧹 def list component * feat(layout): render site footer in all pages * feat(detail pages): rename definition root class && move css into partials * chore: abstract further css into own files * feat(detail pages): update headling level of definition content * feat(styles): set box sizing * feat(styles): add margin bottom utility * feat(styles): selection * feat(components): sub page header own component * feat(detail pages): add sections * feat(style): mian headline * feat(page layout): rename page content grid * feat(page layout): add wide content class * feat(detail pages): set document title * feat(detail pages): set uniform document title for docs and definitions * feat(page title): add comment * feat(detail pages): add meta description * feat(detail pages): wrap def header in article tag * chore: set up ava * feat(filters): move permalink function into file, add test * chore: rename _temp to _util, remove creation script * feat(detail pages): helper function to find additional definitions * chore: move helpers to single directory * feat(detail pages): create shortcode for further definition navigation * feat(detail pages): fix find defs function * feat(detail pages): shortcode for browse nav markup * chore: fix collection mock data * feat(detail pages): render browse nav * feat(detail pages): style browse nav, style improvements * feat(detail pages): test redirect * feat(detail pages): client side redirect * feat(homepage): set title * 💅 * feat(detail pages): incorporate design changes * feat(detail pages): hide browse headlines * feat(detail pages): label lists * feat(footer): add aria label * feat(detail pages): redice heading level in md * feat(detail pages): spacing in browse nav * feat(detail pages): reduce line height * feat(detail pages): set max width w/o breaking homepage * feat(detail pages): replace in-definition definition links * 🧹 * feat(detail pages): recover spacing utility * 🧹 * chore(packages): update ava * config: specify nvm version * 💅 * 💅
2020-03-09 23:47:06 +01:00
</section>
{% endif %}
{%- if reading -%}
<section class="definition-content__content">
<h2 id="further-reading">Further Reading</h2>
<ul class="list-semicolon" aria-labelledby="further-reading">
{% for link in reading %}
<li>
<a href="{{link.href}}">{{ link.text }}</a>
</li>
{% endfor %}
</ul>
</section>
{% endif %}
</section>