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 %}
 | 
