=> / 💻 [runtimeterror $] # {{ .Title }}{{ $scratch := newScratch }} {{- if .Params.Date }} {{- $postDate := .Date.Format "2006-01-02" }} {{- $updateDate := .Lastmod.Format "2006-01-02" }} {{ $postDate }}{{ if ne $postDate $updateDate }} ~ {{ $updateDate }}{{ end }} {{- end }} {{/* The bulk of this regex magic is derived from https://brainbaking.com/post/2021/04/using-hugo-to-launch-a-gemini-capsule/ */}} {{ $content := .RawContent -}} {{ $content := $content | replaceRE `#### ` "### " -}} {{ $content := $content | replaceRE `\n- (.+?)` "\n* $1" -}} {{ $content := $content | replaceRE `\n(\d+). (.+?)` "\n* $2" -}} {{ $content := $content | replaceRE `\[\^(.+?)\]:.*\n?\n?` "" -}} {{ $content := $content | replaceRE `\[\^(.+?)\]` "" -}} {{ $content := $content | replaceRE `
` "\n" -}} {{ $content := $content | replaceRE `\{\{%\s\/?notice.*%\}\}` "***" -}} {{ $content := $content | replaceRE `((\/\/)|#)\s*torchlight!.*` "" -}} {{ $content := $content | replaceRE `` "" -}} {{ $content := $content | replaceRE `\/\/\s*\[tl!.*\]` "" -}} {{ $content := $content | replaceRE `#\s*\[tl!.*\]` "" -}} {{ $content := $content | replaceRE `(.+?)` "[$2]($1)" -}} {{ $content := $content | replaceRE `\sgemini://(\S*)` " [gemini://$1](gemini://$1)" -}} {{/* $content := $content | replaceRE "([^`])<.*?>([^`])" "$1$2" -*/}} {{ $content := $content | replaceRE `\n?\n!\[.*\]\((.+?) \"(.+?)\"\)` "\n\n=> $1 Image: $2" -}} {{ $content := $content | replaceRE `\n?\n!\[.*\]\((.+?)\)` "\n\n=> $1 Embedded Image: $1" -}} {{ $links := findRE `\n=> ` $content }}{{ $scratch.Set "ref" (add (len $links) 1) }} {{ $refs := findRE `\[.+?\]\(.+?\)` $content }} {{ $scratch.Set "content" $content }}{{ range $refs }}{{ $ref := $scratch.Get "ref" }}{{ $contentInLoop := $scratch.Get "content" }}{{ $url := (printf "%s #%d" . $ref) }}{{ $contentInLoop := replace $contentInLoop . $url -}}{{ $scratch.Set "content" $contentInLoop }}{{ $scratch.Set "ref" (add $ref 1) }}{{ end }}{{ $content := $scratch.Get "content" | replaceRE `\[(.+?)\]\((.+?)\) #(\d+)` "$1 [$3]" -}} {{ $content | safeHTML }} --- => mailto:blog@runtimeterror.dev 📧 Reply via email ## Bibliography {{ $scratch.Set "ref" (add (len $links) 1) }}{{ range $refs }}{{ $ref := $scratch.Get "ref" }}{{ $url := (printf "%s #%d" . $ref) }} => {{ $url | replaceRE `\[(.+?)\]\((.+?)\) #(\d+)` "$2 [$3] $1 ($2)" -}} {{ $scratch.Set "ref" (add $ref 1) }}{{ end}} {{ $related := first 3 (where (where .Site.RegularPages.ByDate.Reverse ".Params.tags" "intersect" .Params.tags) "Permalink" "!=" .Permalink) }} {{ if $related }} ## Related articles {{ range $related }} => {{ replace .RelPermalink "/gemini" "" 1}} {{ .Title }}{{ end }}{{ end }} --- => / Home => https://runtimeterror.dev{{ replace (replace .RelPermalink "/gemini" "" 1) "index.gmi" "" }} This article on the big web