SpectreOfReflections/_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/customizations/SpectreOfReflections/layouts/print/single.html

159 lines
6.2 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{{- define "singlebody" -}}
{{ $cssTemplate := `.css-_rplc_-h2 {
counter-reset: css-_rplc_-h3;
}
.css-_rplc_-h3 {
counter-reset: css-_rplc_-h4;
}
.css-_rplc_-h4 {
counter-reset: css-_rplc_-h5;
}
.css-_rplc_-h5 {
counter-reset: css-_rplc_-h6;
}
.css-_rplc_-h2:before {
color: rgba(0, 0, 0, 0.4);
counter-increment: css-_rplc_-h2 1;
content: counter(css-_rplc_-h2) ". ";
}
.css-_rplc_-h3:before {
color: rgba(0, 0, 0, 0.4);
counter-increment: css-_rplc_-h3 1;
content: counter(css-_rplc_-h2) "." counter(css-_rplc_-h3) ". ";
}
.css-_rplc_-h4:before {
color: rgba(0, 0, 0, 0.4);
counter-increment: css-_rplc_-h4 1;
content: counter(css-_rplc_-h2) "." counter(css-_rplc_-h3) "." counter(css-_rplc_-h4) ". ";
}
.css-_rplc_-h5:before {
color: rgba(0, 0, 0, 0.4);
counter-increment: css-_rplc_-h5 1;
content: counter(css-_rplc_-h2) "." counter(css-_rplc_-h3) "." counter(css-_rplc_-h4) "." counter(css-_rplc_-h5) ". ";
}
.css-_rplc_-h6:before {
color: rgba(0, 0, 0, 0.4);
counter-increment: css-_rplc_-h6 1;
content: counter(css-_rplc_-h2) "." counter(css-_rplc_-h3) "." counter(css-_rplc_-h4) "." counter(css-_rplc_-h5) "."
counter(css-_rplc_-h6) ". ";
}
.css-_rplc_-h2.nocount:before,
.css-_rplc_-h3.nocount:before,
.css-_rplc_-h4.nocount:before,
.css-_rplc_-h5.nocount:before,
.css-_rplc_-h6.nocount:before {
content: "";
counter-increment: none;
}` }}
{{ $cssOutput := "" }}
{{ $cssHashes := "" }}
{{ $s := partialCached "scratch.html" . }}
{{ $p := $.GetPage .Params.print }}
{{ $scratch := $s.Get (printf "/%s" $p.File) }}
{{ $currentDir := "" }}
{{ with .File }}
{{ $currentDir = .Dir }}
{{ end }}
<div class="print0">{{ partial "printsinglebody.html" $p }}</div>
<div class="content">{{ $p.Content }}</div>
{{ $cssOutput = printf "%s\n%s" $cssOutput (replace $cssTemplate "_rplc_" $p.File.UniqueID) }}
{{ $cssHashes = printf "%s css-%s-h2" $cssHashes $p.File.UniqueID }}
{{ range $scratch.has_children }}
<div class="crustpage">
{{ if not (.Scratch.Get "alreadyRendered") }}
{{ $addS := 0 }}
{{ with .Params.editors }}
{{ $addS = len . }}
{{ end }}
{{ range $n, $authorFile := .Params.editors }}
{{ $author := $.GetPage (printf "/editor/%s" $authorFile) }}
{{ if eq $n 0 }}
<div class="runningAuthors"><span class="sup">editor{{ with (gt $addS 1) }}s{{ end }}</span><a href="#ph-{{ $author.File.UniqueID }}">{{ $author.Title }}</a>
{{ else }}
, <a href="#ph-{{ $author.File.UniqueID }}">{{ $author.Title }}</a>
{{ end }}
{{ end }}
{{ with .Params.editors }}</div>{{ end }}
{{ $tit := .Title }}
{{ if gt (len .Title) 54 }}
{{ $tit = printf "%s…" (substr .Title 0 50) }}
{{ end }}
<div class="runningTitle"><span class="sup">{{ index $scratch.crust 0 }}</span><a href="#ph-{{ .File.UniqueID }}">{{ $tit }}</a></div>
{{ partial "printsinglebody.html" . }}
{{ .Content }}
{{ .Scratch.Set "alreadyRendered" true }}
{{ $cssOutput = printf "%s\n%s" $cssOutput (replace $cssTemplate "_rplc_" .File.UniqueID) }}
{{ $cssHashes = printf "%s css-%s-h2" $cssHashes .File.UniqueID }}
{{end}}
{{ $kid := $s.Get (printf "/%s" .File) }}
{{ range $kid.has_children }}
{{ if not (.Scratch.Get "alreadyRendered") }}
<div class="crustpage">
{{ $addS := 0 }}
{{ with .Params.editors }}
{{ $addS = len . }}
{{ end }}
{{ range $n, $authorFile := .Params.editors }}
{{ $author := $.GetPage (printf "/editor/%s" $authorFile) }}
{{ if eq $n 0 }}
<div class="runningAuthors"><span class="sup">editor{{ with (gt $addS 1) }}s{{ end }}</span><a href="#ph-{{ $author.File.UniqueID }}">{{ $author.Title }}</a>
{{ else }}
, <a href="#ph-{{ $author.File.UniqueID }}">{{ $author.Title }}</a>
{{ end }}
{{ end }}
{{ with .Params.editors }}</div>{{ end }}
{{ $tit := .Title }}
{{ if gt (len .Title) 54 }}
{{ $tit = printf "%s…" (substr .Title 0 50) }}
{{ end }}
<div class="runningTitle"><span class="sup">{{ index $scratch.crust 0 }}</span><a href="#ph-{{ .File.UniqueID }}">{{ $tit }}</a></div>
{{ partial "printsinglebody.html" . }}
{{ .Content }}
{{ $k := $s.Get (printf "/%s" .File) }}
{{ if gt (len $k.is_in) 0 }}
<div class="backlinks"><span class="supt">is in</span>{{- range $i, $v := $k.is_in -}}{{ if ne $i 0 }}, {{ end }}<a href="#ph-{{ .File.UniqueID }}">{{ .Title }}</a>{{- end -}}</div>
{{ end }}
{{ .Scratch.Set "alreadyRendered" true }}
{{ $cssOutput = printf "%s\n%s" $cssOutput (replace $cssTemplate "_rplc_" .File.UniqueID) }}
{{ $cssHashes = printf "%s css-%s-h2" $cssHashes .File.UniqueID }}
{{ end }}
{{end}}
{{ end }}
{{ range where $.Site.RegularPages "Section" "in" (slice "author" "editor") }}
<div class="authorpage">
<div class="runningTitle runningAuthors"><span class="sup">{{ index $scratch.mantle 0 }}</span><a href="#ph-{{ $p.File.UniqueID }}">{{ $p.Title }}</a></div>
<div id="ph-{{ .File.UniqueID }}" class="{{ $scratch.depth | default "crust" }}title"><span class="supt">{{ substr .File.Dir 0 -1 }}</span>{{ .Title }}</div>
{{ .Content }}
{{ if in .Page.Site.Params.sandpointsMentionedIn (substr .File.Dir 0 -1) }}
{{ $ss := $s.Get (printf "/%s" .File) }}
{{ with $ss }}
<div class="backlinks"><span class="supt">mentioned in</span>{{- range $i, $v := $ss.backlinks -}}{{ if ne $i 0 }}, {{ end }}<a href="#ph-{{ .File.UniqueID }}">{{ .Title }}</a>{{- end -}}</div>
{{ end }}
{{ end }}
{{ end }}
{{ $cssOutput = printf "body {counter-reset: %s;}\n%s" $cssHashes $cssOutput }}
{{ $var := $cssOutput | resources.FromString "css/dyn.css" }}
{{ $dummy := $var.Permalink }}
{{- end -}}