{{ $filetreeLevel := 0 }} {{ define "_filetreeLevelUpOpen" }} {{ if gt .Level $filetreeLevel }} {{ $filetreeLevel = $filetreeLevel + 1 }} {{ template "_filetreeLevelUpOpen" . }} {{ end }} {{ end }} {{ define "_filetreeCloseAll" }} {{ if lt 0 $filetreeLevel }} {{ $filetreeLevel = $filetreeLevel - 1 }} {{ template "_filetreeCloseAll" . }} {{ end }} {{ end }} {{ define "_filetreeLevelDownOpen" }} {{ if lt .Level $filetreeLevel }} {{ $filetreeLevel = $filetreeLevel - 1 }} {{ template "_filetreeLevelDownOpen" . }} {{ end }} {{ end }} {{ define "_filetreeRecurse" }} {{ range . }} {{ template "_filetreeLevelUpOpen" . }} {{ template "_filetreeLevelDownOpen" . }} {{ .Title }} {{ end }} {{ template "_filetreeLevelDownOpen" . }} {{ end }} {{ define "_filetree" }} input = {{ . }} {{ template "_filetreeRecurse" .Tree }} {{ end }}