forked from duniayetu/www_duniayetu
66 lines
2.2 KiB
HTML
66 lines
2.2 KiB
HTML
|
<!-- admonition shortcode for adding admonition in md-->
|
||
|
|
||
|
{% set classes = "" %}
|
||
|
|
||
|
{% set first_line = body | split(pat="\n") | first %}
|
||
|
{% set parsed_first_line = first_line | split(pat=" ") %}
|
||
|
{% set admonition = parsed_first_line | first %}
|
||
|
{% set style = "" %}
|
||
|
|
||
|
{% set content = body | split(pat="\n") | slice(start=2) | join(sep="\n") %}
|
||
|
|
||
|
<!-- sets admonition type depending on qualifiers and modifiers
|
||
|
hides content if doesn't adhere to admonition formatting -->
|
||
|
{% if admonition == "!!!" %}
|
||
|
{% set classes = "admonition" %}
|
||
|
{% elif admonition == "???" %}
|
||
|
{% set style = "collapsible closed" %}
|
||
|
{% set classes = "admonition" %}
|
||
|
{% elif admonition == "???+" %}
|
||
|
{% set style = "collapsible open" %}
|
||
|
{% set classes = "admonition" %}
|
||
|
{% else %}
|
||
|
{% set classes = "hidden" %}
|
||
|
{% endif %}
|
||
|
|
||
|
{% if "inline end" in first_line %}
|
||
|
{% set classes = classes ~ " inline end" %}
|
||
|
{% set parsed_first_line = parsed_first_line | slice(end=-2)%}
|
||
|
{% elif "inline" in first_line %}
|
||
|
{% set classes = classes ~ " inline" %}
|
||
|
{% set parsed_first_line = parsed_first_line | slice(end=-1)%}
|
||
|
{% endif %}
|
||
|
|
||
|
{% if classes != "hidden"%}
|
||
|
{% if parsed_first_line[1] %}
|
||
|
{% set classes = classes ~ " " ~ parsed_first_line[1] %}
|
||
|
{% endif %}
|
||
|
{% if parsed_first_line[2] %}
|
||
|
{% if not parsed_first_line[2] == '""' %}
|
||
|
{% set title = parsed_first_line | slice(start=2) | join(sep=" ") %}
|
||
|
{% endif %}
|
||
|
{% else %}
|
||
|
{% if parsed_first_line[1] %}
|
||
|
{% set title = parsed_first_line[1] | title %}
|
||
|
{% endif %}
|
||
|
{% endif %}
|
||
|
{% endif %}
|
||
|
|
||
|
|
||
|
{% if "collapsible" in style %}
|
||
|
<details class="{{classes}}"
|
||
|
{% if "open" in style %} {{ "open='open'" }} {% endif %}>
|
||
|
{% if title %}
|
||
|
<summary class="admonition-title">{{ title | trim_start_matches(pat='"') | trim_end_matches(pat='"') }}</summary>
|
||
|
<p>{{ content }}</p>
|
||
|
{% endif %}
|
||
|
</details>
|
||
|
{% else %}
|
||
|
<div class="{{classes}}">
|
||
|
{% if title %}
|
||
|
<div class="admonition-title">{{ title | trim_start_matches(pat='"') | trim_end_matches(pat='"') }}</div>
|
||
|
{% endif %}
|
||
|
<p>{{ content }}</p>
|
||
|
</div>
|
||
|
{% endif %}
|