You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 lines
4.0 KiB

  1. {{ $s := partialCached "scratch.html" . }}
  2. {{ $currentNode := . }}
  3. {{ $currentDir := "" }}
  4. {{ with .File }}
  5. {{ $currentDir = .Dir }}
  6. {{ end }}
  7. {{ $currentFile := (printf "/%s" .File) }}
  8. {{ $scratch := $s.Get $currentFile }}
  9. {{ $sandnamePlural := (slice) }}
  10. <div class="{{ $scratch.depth | default "crust" }}title"><span class="supt">{{ substr $currentDir 0 -1 }}⁄{{ substr .Title 0 1 }}</span>{{ substr .Title 1 }}</div></div>
  11. <div class="grid">
  12. <div class="leftcolumn">
  13. {{ if ne (trim .Page.TableOfContents "\n") "<nav id=\"TableOfContents\"></nav>" }}
  14. {{ .Page.TableOfContents }}
  15. {{ end }}
  16. </div>
  17. <div class="rightcolumn">
  18. {{ $closeDivs := false }}
  19. {{ range $k, $v := $.Site.Data.sandpointsnamegraph }}
  20. {{ $sandnamePlural = $sandnamePlural | append $v }}
  21. {{ end }}
  22. {{ $paramsKeys := (slice) }}
  23. {{ range $k, $v := $currentNode.Params }}
  24. {{ $paramsKeys = $paramsKeys | append $k }}
  25. {{ end }}
  26. {{ $mentions := intersect $paramsKeys $sandnamePlural }}
  27. {{ range $mention := $mentions }}
  28. {{ range $k, $m := index $currentNode.Params $mention }}
  29. {{ $mentionLink := printf "/%s/%s" (substr $mention 0 -1) $m }}
  30. {{- with $.GetPage $mentionLink -}}
  31. {{- with not $k -}}
  32. {{ $closeDivs = true }}
  33. <div class="has hasauthors">
  34. <div class="hassup">{{ with (index $currentNode.Params $mention) }}{{ if gt (len (index $currentNode.Params $mention)) 1 }}{{ $mention }}{{ else }}{{ substr $mention 0 -1 }}{{ end }}{{ end }}⁄</div>
  35. <div class="afterhas">
  36. {{- end -}}
  37. <div class="crust">
  38. <a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a>
  39. </div>
  40. {{- end -}}
  41. {{ end }}
  42. {{ end }}
  43. {{- with $closeDivs -}}</div></div>{{ end }}
  44. {{ if in .Page.Site.Params.sandpointsMentionedIn (substr $currentDir 0 -1) }}
  45. <div class="has hasmentionedin">
  46. {{ with $scratch.backlinks }}
  47. <div class="hassup">mentioned in⁄</div>
  48. {{ end }}
  49. <div class="afterhas">
  50. {{ range $scratch.backlinks }}
  51. <div class="{{ $scratch.child_depth }}">
  52. <a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a>
  53. </div>
  54. {{ end }}
  55. </div></div>
  56. {{ end }}
  57. {{ if and (not (eq $scratch.depth "crust")) $scratch.has_children }}
  58. <div class="has hashas">
  59. {{ with $scratch.has }}
  60. <div class="hassup">has {{ $scratch.has }}⁄</div>
  61. {{ end }}
  62. <div class="afterhas">
  63. {{ range $scratch.has_children }}
  64. <div class="{{ $scratch.child_depth }}">
  65. <a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a>
  66. </div>
  67. {{ end }}
  68. </div></div>
  69. {{ end }}
  70. {{ if eq $scratch.depth "crust" }}
  71. <div class="has hasin">
  72. <div class="hassup">in {{ index $scratch.in 1 }}⁄</div>
  73. <div class="afterhas">
  74. {{ range $scratch.is_in }}
  75. <div class="{{ substr $currentDir 0 -1 }}">
  76. <a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a>
  77. </div>
  78. {{ end }}
  79. </div></div>
  80. {{ end }}
  81. </div>
  82. </div>
  83. {{ with .Page.Params.abstract }}<div class="abstract"><span class="supt">abstract⁄</span>{{ . | $.Page.RenderString | htmlUnescape | safeHTML }}</div>{{ end }}
  84. {{- $vld := false -}}{{- range $k, $v := .Page.Params.keywords -}}{{- if eq $k 0 -}}{{- $vld = true -}}<div class="keywords"><span class="sup">keywords⁄</span>{{- $v -}}{{- else -}},&nbsp;{{- $v -}}{{- end -}}{{- end -}}{{- with $vld -}}</div>{{- end -}}
  85. {{ $var := printf "repo={\"frontmatter\": %s, \"content\": %s, \"path\": \"%s\", \"relpermalink\": \"%s\" }" (jsonify .Params) (jsonify .RawContent) .File.Path .RelPermalink | resources.FromString (printf "js/repo/%s.js" .File.UniqueID) }}
  86. {{ $dummy := $var.Permalink }}