{{ define "main" }} {{ $emoji := cond (.Page.Params.showlinkemoji | default true) (emojify ":link: ") "" -}} => / {{ emojify ":link:" }} Return to homepage {{ if (.Page.Params.pageinfo | default true) }}{{ partial "pageinfo" . }} {{ end -}} # {{ .Name | safeHTML }} {{ $content := .RawContent }} {{- $scratch := newScratch }} {{- $chunks := findRE `(?s)(.*?)(?:(?:\n|^)\x60{3}.*?\n\x60{3}(?:\n|$)|$)` $content }} {{- range $chunks }} {{- $before_chunk := (. | replaceRE `(?s)(.*?)(?:(?:(?:\n|^)\x60{3}.*?\n\x60{3}(?:\n|$))|$)` "$1") }} {{- $cur_chunk := $before_chunk }} {{- $scratch.Set "refs" (findRE `\[.+?\]\(.+?\)` $cur_chunk) }} {{- $refs := $scratch.Get "refs" }} {{- if ($.Page.Params.makerefs | default true) }} {{- range $ref_index, $ref_val := $refs }} {{- $ref_num := add $ref_index 1 }} {{- $ref_text := $ref_val | replaceRE `\[(.+?)\]\((.+?)\)` "$1" }} {{- $cur_chunk = replace $cur_chunk $ref_val (print $ref_text "[" $ref_num "]") 1 }} {{- end }} {{- else }} {{- $cur_chunk = $cur_chunk | replaceRE `(?m)\[(.+?)\]\((.+?)\)` (print "=> $2 " $emoji "$1") }} {{- end }} {{- $cur_chunk = $cur_chunk | replaceRE `(?m)^####{1,3}` "###" }} {{- $cur_chunk = $cur_chunk | replaceRE `(?s)\*{3}(.*?)\*{3}|\*{2}(.*?)\*{2}|\*{1}(.*?)\*{1}` "$1$2$3" }} {{- $cur_chunk = $cur_chunk | replaceRE `(?m)^- ` "* " }} {{- $cur_chunk = $cur_chunk | emojify }} {{- $content = replace $content $before_chunk $cur_chunk 1 }} {{- end }} {{- $content | safeHTML }} {{- $refs := $scratch.Get "refs" }} {{- if and (.Page.Params.makerefs | default true) $refs }} ## Links {{- range $ref_index, $ref_val := $refs }} {{- $ref_num := add $ref_index 1 }} {{- $ref_text := $ref_val | replaceRE `\[(.+?)\]\((.+?)\)` "$1" }} {{- $ref_link := $ref_val | replaceRE `\[(.+?)\]\((.+?)\)` "$2" }} {{ print "=> " $ref_link " " $emoji $ref_num ": " $ref_text | safeHTML }} {{- end }} {{- end }} {{- end }}