diff options
Diffstat (limited to 'layouts/_default/single.gmi')
-rw-r--r-- | layouts/_default/single.gmi | 116 |
1 files changed, 58 insertions, 58 deletions
diff --git a/layouts/_default/single.gmi b/layouts/_default/single.gmi index 3f31051..ab94304 100644 --- a/layouts/_default/single.gmi +++ b/layouts/_default/single.gmi @@ -7,82 +7,82 @@ {{ end -}} # {{ .Name | safeHTML }} -{{ $content := .RawContent }} -{{- $scratch := newScratch }} +{{ $content := .RawContent -}} +{{ $scratch := newScratch -}} -{{- /* split text into chunks, with each chunk containing 3 parts: above, within, and below preformatted text */}} -{{- /* the regex matching below the preformatted text matches exactly once in the entire text */}} -{{- $chunks := findRESubmatch `(?sm)(?:(.+?)(^\x60{3}[^\x60].*?^\x60{3}$))|(.+$)` $content }} +{{/* split text into chunks, with each chunk containing 3 parts: above, within, and below preformatted text */ -}} +{{/* the regex matching below the preformatted text matches exactly once in the entire text */ -}} +{{ $chunks := findRESubmatch `(?sm)(?:(.+?)(^\x60{3}[^\x60].*?^\x60{3}$))|(.+$)` $content -}} -{{- $ref_index := 0 }} +{{ $ref_index := 0 -}} -{{- range $chunks }} - {{- $above_pre := index . 1 }} - {{- $pre := index . 2 }} - {{- $below_pre := index . 3 }} +{{ range $chunks -}} + {{ $above_pre := index . 1 -}} + {{ $pre := index . 2 -}} + {{ $below_pre := index . 3 -}} - {{- /* mux regex matches above and below preformatted text for rendering (the matches are mutually exclusive) */}} - {{- $rendered_text := print $above_pre $below_pre }} + {{/* mux regex matches above and below preformatted text for rendering (the matches are mutually exclusive) */ -}} + {{ $rendered_text := print $above_pre $below_pre -}} - {{- if ($.Page.Params.makerefs | default true) }} + {{ if ($.Page.Params.makerefs | default true) -}} - {{- /* find all the links within a chunk */}} - {{- $chunk_refs := findRESubmatch `!?\[\s*(.+?)\s*\]\(\s*(.+?)(?:\s+"(.+?)")?\s*\)` $rendered_text }} + {{/* find all the links within a chunk */ -}} + {{ $chunk_refs := findRESubmatch `!?\[\s*(.+?)\s*\]\(\s*(.+?)(?:\s+"(.+?)")?\s*\)` $rendered_text -}} - {{- $scratch.Add "refs" $chunk_refs }} - {{- range $chunk_refs }} - {{- $ref_index = add $ref_index 1 }} - {{- $ref_text := index . 1 }} + {{ $scratch.Add "refs" $chunk_refs -}} + {{ range $chunk_refs -}} + {{ $ref_index = add $ref_index 1 -}} + {{ $ref_text := index . 1 -}} - {{- /*- replace link with reference numbers enclosed in brackets */}} - {{- $rendered_text = replace $rendered_text (index . 0) (print $ref_text "[" $ref_index "]") 1 }} + {{/*- replace link with reference numbers enclosed in brackets */ -}} + {{ $rendered_text = replace $rendered_text (index . 0) (print $ref_text "[" $ref_index "]") 1 -}} - {{- end }} - {{- else }} + {{ end -}} + {{ else -}} - {{- /* render all links directly */}} - {{- $rendered_text = $rendered_text | replaceRE `(?m)^!?\[\s*(.+?)\s*\]\(\s*(.+?)(?:\s+"(.+?)")?\s*\)$` (print "=> $2 " $emoji "$1") }} + {{/* render all links directly */ -}} + {{ $rendered_text = $rendered_text | replaceRE `(?m)^!?\[\s*(.+?)\s*\]\(\s*(.+?)(?:\s+"(.+?)")?\s*\)$` (print "=> $2 " $emoji "$1") -}} - {{- end }} + {{ end -}} - {{- /* trim extra heading symbols */}} - {{- $rendered_text = $rendered_text | replaceRE `(?m)^####{1,3}` "###" }} + {{/* trim extra heading symbols */ -}} + {{ $rendered_text = $rendered_text | replaceRE `(?m)^####{1,3}` "###" -}} - {{- /* remove bold and italics asterisk symbols */}} - {{- $rendered_text = $rendered_text | replaceRE `\*{3}(\S|\S.*?\S)\*{3}` "$1" }} - {{- $rendered_text = $rendered_text | replaceRE `\*{2}(\S|\S.*?\S)\*{2}` "$1" }} - {{- $rendered_text = $rendered_text | replaceRE `\*{1}(\S|\S.*?\S)\*{1}` "$1" }} + {{/* remove bold and italics asterisk symbols */ -}} + {{ $rendered_text = $rendered_text | replaceRE `\*{3}(\S|\S.*?\S)\*{3}` "$1" -}} + {{ $rendered_text = $rendered_text | replaceRE `\*{2}(\S|\S.*?\S)\*{2}` "$1" -}} + {{ $rendered_text = $rendered_text | replaceRE `\*{1}(\S|\S.*?\S)\*{1}` "$1" -}} - {{- /* convert alternative unordered lists symbols to asterisks */}} - {{- $rendered_text = $rendered_text | replaceRE `(?m)^[-+] ` "* " }} + {{/* convert alternative unordered lists symbols to asterisks */ -}} + {{ $rendered_text = $rendered_text | replaceRE `(?m)^[-+] ` "* " -}} - {{- $rendered_text = $rendered_text | emojify }} + {{ $rendered_text = $rendered_text | emojify -}} - {{- /* demux regex matches above and below preformatted text */}} - {{- if $above_pre }} - {{- $rendered_text | safeHTML }} - {{- $pre | safeHTML }} - {{- else }} - {{- $pre | safeHTML }} - {{- $rendered_text | safeHTML }} - {{- end }} + {{/* demux regex matches above and below preformatted text */ -}} + {{ if $above_pre -}} + {{ $rendered_text | safeHTML -}} + {{ $pre | safeHTML -}} + {{ else -}} + {{ $pre | safeHTML -}} + {{ $rendered_text | safeHTML -}} + {{ end -}} -{{- end }} +{{ end -}} -{{- $refs := $scratch.Get "refs" }} -{{- if and (.Page.Params.makerefs | default true) $refs }} -{{- $ref_index := 0 }} +{{ $refs := $scratch.Get "refs" -}} +{{ if and (.Page.Params.makerefs | default true) $refs -}} +{{ $ref_index := 0 }} -## {{ i18n "refs" }} - {{- range $refs }} - {{- $ref_index = add $ref_index 1 }} - {{- $ref_text := index . 1 }} - {{- $ref_link := index . 2 }} - {{- $ref_title := index . 3 }} +## {{ i18n "refs" -}} + {{ range $refs -}} + {{ $ref_index = add $ref_index 1 -}} + {{ $ref_text := index . 1 -}} + {{ $ref_link := index . 2 -}} + {{ $ref_title := index . 3 -}} -{{- /* render referenced links */}} -{{ print "=> " $ref_link (emojify " :link: ") $ref_index ": " (cond (ne (len $ref_title) 0) $ref_title $ref_text) | safeHTML }} +{{/* render referenced links */ -}} +{{ print "=> " $ref_link (emojify " :link: ") $ref_index ": " (cond (ne (len $ref_title) 0) $ref_title $ref_text) | safeHTML -}} - {{- end }} -{{- end }} -{{- end }}
\ No newline at end of file + {{ end -}} +{{ end -}} +{{ end }}
\ No newline at end of file |