選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 

64 行
3.3 KiB

  1. {{ $currentNode := . }}
  2. {{ range $p := .Site.RegularPages }}
  3. {{ $pageFilePath := printf "/%s" $p.File }}
  4. {{ $pageDir := "" }}
  5. {{ with $p.File }}
  6. {{ $pageDir = (substr .Dir 0 -1)}}
  7. {{ end }}
  8. {{ range $triad := (index $currentNode.Site.Data.sandpointsnamegraph "triads") }}
  9. {{ with intersect $triad (slice $pageDir) }}
  10. {{ $t := index . 0 }}
  11. {{ if eq $t (index $triad 0) }}
  12. {{ $.Scratch.SetInMap $pageFilePath "depth" "core" }}
  13. {{ $.Scratch.SetInMap $pageFilePath "child_depth" "mantle" }}
  14. {{ $.Scratch.SetInMap $pageFilePath "plural" (index $triad 1)}}
  15. {{ $.Scratch.SetInMap $pageFilePath "has" (slice (index $triad 2) (index $triad 3))}}
  16. {{ range index $p.Params (printf "has_%s" (index $triad 3)) }}
  17. {{ $childPath := printf "/%s/%s" (index $triad 2) . }}
  18. {{ with $.Scratch.Get $childPath }}
  19. {{ if isset . "is_in" }}
  20. {{ $isin := index . "is_in" | append ($.GetPage $pageFilePath) }}
  21. {{ $.Scratch.SetInMap $childPath "is_in" $isin }}
  22. {{ else }}
  23. {{ $.Scratch.SetInMap $childPath "is_in" (slice ($.GetPage $pageFilePath)) }}
  24. {{ end }}
  25. {{ else }}
  26. {{ $.Scratch.SetInMap $childPath "is_in" (slice ($.GetPage $pageFilePath)) }}
  27. {{ end }}
  28. {{ end }}
  29. {{ else if eq $t (index $triad 2) }}
  30. {{ $.Scratch.SetInMap $pageFilePath "depth" "mantle" }}
  31. {{ $.Scratch.SetInMap $pageFilePath "child_depth" "crust" }}
  32. {{ $.Scratch.SetInMap $pageFilePath "plural" (index $triad 3)}}
  33. {{ $.Scratch.SetInMap $pageFilePath "has" (slice (index $triad 4) (index $triad 5))}}
  34. {{ range index $p.Params (printf "has_%s" (index $triad 5)) }}
  35. {{ $childPath := printf "/%s/%s" (index $triad 4) . }}
  36. {{ with $.Scratch.Get $childPath }}
  37. {{ if isset . "is_in" }}
  38. {{ $isin := index . "is_in" | append ($.GetPage $pageFilePath) }}
  39. {{ $.Scratch.SetInMap $childPath "is_in" $isin }}
  40. {{ else }}
  41. {{ $.Scratch.SetInMap $childPath "is_in" (slice ($.GetPage $pageFilePath)) }}
  42. {{ end }}
  43. {{ else }}
  44. {{ $.Scratch.SetInMap $childPath "is_in" (slice ($.GetPage $pageFilePath)) }}
  45. {{ end }}
  46. {{ end }}
  47. {{ else if eq $t (index $triad 4) }}
  48. {{ $.Scratch.SetInMap $pageFilePath "depth" "crust" }}
  49. {{ $.Scratch.SetInMap $pageFilePath "mantle_has" (index $triad 5) }}
  50. {{ $.Scratch.SetInMap $pageFilePath "plural" (index $triad 5)}}
  51. {{ $.Scratch.SetInMap $pageFilePath "in" (slice (index $triad 2) (index $triad 3))}}
  52. {{ end }}
  53. {{ $.Scratch.SetInMap $pageFilePath "core" (index $triad 0) }}
  54. {{ $.Scratch.SetInMap $pageFilePath "mantle" (index $triad 2) }}
  55. {{ $.Scratch.SetInMap $pageFilePath "crust" (index $triad 4) }}
  56. {{ end }}
  57. {{ end }}
  58. {{ end }}
  59. {{ return $.Scratch }}