Support Admonition callouts (#166) (closes #88)

This commit is contained in:
Emile Bangma 2022-07-31 02:29:26 +02:00 committed by GitHub
parent e142f37e8d
commit 728d8529ec
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 529 additions and 0 deletions

View file

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