{%- macro admonition(title, theme, icon) -%}
{{ title }}:
{%- endmacro -%}
{%- set content = page.content | trim -%}
{#- Remove trailing slash on void elements -#}
{%- set content = content | replace('" />', '">') -%}
{#- Open external links in new tab -#}
{%- set content = content | replace('...
into this:
Abstract:', admonition('Abstract', 'info', 'clipboard-fill')) -%}
{%- set content = content | replace(' Bug:', admonition('Bug', 'danger', 'bug-fill')) -%}
{%- set content = content | replace(' Danger:', admonition('Danger', 'danger', 'lightning-fill')) -%}
{%- set content = content | replace(' Error:', admonition('Error', 'danger', 'x-circle-fill')) -%}
{%- set content = content | replace(' Example:', admonition('Example', 'info', 'flask-fill')) -%}
{%- set content = content | replace(' Failure:', admonition('Failure', 'danger', 'x-circle-fill')) -%}
{%- set content = content | replace(' Important:', admonition('Important', 'warning', 'exclamation-circle-fill')) -%}
{%- set content = content | replace(' Info:', admonition('Info', 'info', 'info-circle-fill')) -%}
{%- set content = content | replace(' Note:', admonition('Note', 'info', 'pencil-fill')) -%}
{%- set content = content | replace(' Question:', admonition('Question', 'info', 'question-circle-fill')) -%}
{%- set content = content | replace(' Success:', admonition('Success', 'success', 'check-circle-fill')) -%}
{%- set content = content | replace(' Tip:', admonition('Tip', 'info', 'fire')) -%}
{%- set content = content | replace(' To-do:', admonition('To-do', 'warning', 'check-square-fill')) -%}
{%- set content = content | replace(' Warning:', admonition('Warning', 'warning', 'exclamation-triangle-fill')) -%}
{#- Make tables responsive -#}
{%- set content = content | replace('...
so we're going to start by coverting this:
to this:
......
This is a hack and breaks semantics but it's the best zero-config solution we
have at this point to support both syntax highlighting and Mermaid diagrams.
-#}
{%- set content = content | replace('
', '') -%}
{%- set content = content | replace('', '
') -%}
{#- Convert admonitions -#}
{%- set content = content | replace('