Emile Bangma
2022-07-31 728d8529ec1a782752abd9254fbc4cae11b8468a
layouts/partials/textprocessing.html
@@ -55,4 +55,37 @@
{{/* Add jumpable anchors */}}
{{ $content = $content | replaceRE "(<h[1-9] id=\"([^\"]+)\">)(.+)(</h[1-9]>)" `<a href="#${2}">${1}<span class="hanchor" ariaLabel="Anchor"># </span>${3}${4}</a>` }}
{{/* Callouts */}}
{{if $.Site.Data.config.enableCallouts}}
  {{ $content = $content | replaceRE "<blockquote>" "<blockquote class=callout>" }}
  {{ $blockquoteclasses := findRE `\[!.+\]` $content }}
  {{ $blockquoteclasses1 := findRE "<blockquote.*?>(.|\n)*?</blockquote>" $content }}
  {{ $blockquotetags := findRE `blockquote class=callout` $content }}
  {{ $counter := 0 }}
  {{ $counter1 := 0 }}
  {{ $finder := index $blockquoteclasses1 $counter }}
  {{range $blockquotetags}}
    {{ $finder = index $blockquoteclasses1 $counter }}
    {{ if (in $finder "[!") }}
      {{ $inner := index $blockquoteclasses $counter1 }}
      {{ if (in $finder "]-") }}
        {{ $inner = $inner | replaceRE `\[!([a-zA-Z]+)\]` `callout-collapsible callout-collapsed ${1}`}}
      {{ else if (in $finder "]+") }}
        {{ $inner = $inner | replaceRE `\[!([a-zA-Z]+)\]` `callout-collapsible ${1}`}}
      {{ else}}
        {{ $inner = $inner | replaceRE `\[!([a-zA-Z]+)\]` `${1}` }}
      {{ end }}
      {{ $inner = printf "blockquote class=\"%s-callout\"" $inner}}
      {{ $content = replace $content . $inner 1}}
      {{ $counter1 = add $counter1 1 }}
    {{ else }}
      {{ $inner := print "blockquote" }}
      {{ $content = replace $content . $inner 1}}
    {{ end }}
    {{ $counter = add $counter 1 }}
  {{end}}
  {{ $content = $content | replaceRE `\[![a-zA-Z]+\][-\+]?` "" }}
  {{ $content = $content | replaceRE "blockquote class=callout" "blockquote" }}
{{end}}
{{ $content | safeHTML }}