34 lines
2.1 KiB
Text
34 lines
2.1 KiB
Text
{{ $scratch := newScratch -}}
|
|
{{ $content := .RawContent -}}
|
|
{{ $content := $content | replaceRE `#### ` "### " -}}
|
|
{{ $content := $content | replaceRE `\n- (.+?)` "\n* $1" -}}
|
|
{{ $content := $content | replaceRE `\n(\d+). (.+?)` "\n* $2" -}}
|
|
{{ $content := $content | replaceRE `\[\^(.+?)\]:?` "" -}}
|
|
{{ $content := $content | replaceRE `<br/??>` "\n" -}}
|
|
{{ $content := $content | replaceRE `<a .*href="(.+?)".*>(.+?)</a>` "[$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 -}}
|
|
{{ range .Pages }}
|
|
=> {{ .Permalink }} {{.Title}}
|
|
{{ end }}
|
|
{{ if $refs }}
|
|
## References
|
|
{{ $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 }}: {{ .Params.Subtitle }}{{ end }}{{ end }}{{ end -}}
|
|
|
|
=> / Back to the Index
|
|
|
|
=> {{ .Site.BaseURL }}/{{ replace (replace .RelPermalink "/gemini" "" 1) "index.gmi" "" }} View this article on the WWW
|