40 lines
1.6 KiB
HTML
40 lines
1.6 KiB
HTML
{{/*
|
|
Usage:
|
|
{{< bullet-list class="mb-8 space-y-2 list-disc list-inside" itemClass="text-base" >}}
|
|
- Premier point
|
|
- Deuxieme point avec **markdown**
|
|
{{< /bullet-list >}}
|
|
|
|
With check icon style:
|
|
{{< bullet-list class="mb-8 space-y-4 flex-grow" icon="check" >}}
|
|
- Suivre les **beneficiaires**
|
|
- Structurer les **accompagnements**
|
|
{{< /bullet-list >}}
|
|
*/}}
|
|
|
|
{{ $listClass := .Get "class" | default "mb-8 space-y-2 list-disc list-inside" }}
|
|
{{ $itemClass := .Get "itemClass" | default "" }}
|
|
{{ $icon := .Get "icon" | default "" }}
|
|
{{ $content := .Inner | strings.TrimSpace }}
|
|
{{ $lines := split $content "\n" }}
|
|
|
|
<ul class="{{ $listClass }}">
|
|
{{ range $lines }}
|
|
{{ $line := . | strings.TrimSpace }}
|
|
{{ if ne $line "" }}
|
|
{{ $text := $line | replaceRE "^[-*]\\s+" "" }}
|
|
{{ $rendered := $.Page.RenderString (dict "display" "inline") $text }}
|
|
{{ if eq $icon "check" }}
|
|
{{ $effectiveItemClass := $itemClass | default "flex items-center justify-center flex-nowrap" }}
|
|
<li class="{{ $effectiveItemClass }}">
|
|
<svg class="w-5 h-5 flex-shrink-0 text-green-500 mr-2" fill="currentColor" viewBox="0 0 20 20" style="width: 20px; height: 20px;">
|
|
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
<span>{{ $rendered | safeHTML }}</span>
|
|
</li>
|
|
{{ else }}
|
|
<li{{ with $itemClass }} class="{{ . }}"{{ end }}>{{ $rendered | safeHTML }}</li>
|
|
{{ end }}
|
|
{{ end }}
|
|
{{ end }}
|
|
</ul> |