{{- /* Серия: блок навигации по серии (как в Blowfish). Использование: в single.html перед .post-content: {{- partial "series_nav.html" . -}} Пост помечается во front-matter: series: ["Имя серии"] series_order: 1 Выводит блок «Серия: N из M» со ссылками на предыдущую/следующую часть. Если серий нет или пост не в серии — выводит пустоту. */ -}} {{- $series := .Params.series -}} {{- if $series -}} {{- range $series -}} {{- $seriesName := . -}} {{- /* термины хранятся с URL-слизом: дооснастить и urlize, и lower */ -}} {{- $slug := ($seriesName | urlize) -}} {{- $term := (site.GetPage (printf "/series/%s/" $slug)) | default (site.GetPage (printf "/series/%s/" ($seriesName | lower | urlize))) -}} {{- if not $term }}{{- $term = site.GetPage (printf "/series/%s" ($seriesName | lower)) -}}{{- end -}} {{- if $term -}} {{- $pages := (sort $term.Pages "Params.series_order" "asc") -}} {{- $current := $.Params.series_order -}} {{- $total := $pages | len -}} {{- $idx := 0 -}} {{- $prev := "" -}} {{- $next := "" -}} {{- range $i, $p := $pages -}} {{- if eq $current $p.Params.series_order -}} {{- $idx = add $i 1 -}} {{- $prev = (index $pages (sub $i 1)) | default "" -}} {{- $next = (index $pages (add $i 1)) | default "" -}} {{- end -}} {{- end -}}
Серия: {{ $seriesName }}
часть {{ $idx }} из {{ $total }}
{{- end -}} {{- end -}} {{- end -}}