Хьюго: как отобразить на странице раздела список подразделов

Это будет простой вопрос, но я уже потратил много времени и не могу найти однозначного ответа. Вот текущее состояние моего блога: https://brucou.github.io/

В Projects у меня следующая структура каталогов:

Projects
  Component combinators
  Trees and forests
  Circuitry

На странице моего проекта (/projects/) я хочу отобразить список соответствующих подпапок, то есть Component combinators, Trees and forests и т. Д. С соответствующими постоянными ссылками.

У меня есть этот код в /layouts/projects/list.html

<ul>
  {{ template "section-tree-nav" .Site.Home }}
</ul>
{{ define "section-tree-nav" }}
  {{ range .Sections}}
    <li>{{ .Title }}
        <ul>
            {{ range .Pages }}
            <li><a href="{{ .RelPermalink}}">{{ .Title }}</a></li>
            {{ end }}
            <ul>
                {{ template "section-tree-nav" . }}
            </ul>
        </ul>
    </li>
  {{ end }}
{{ end }}

В настоящее время этот код отображается на странице проектов в дереве каталогов, например:

Posts
  Reactive programming : a component-based approach
  A componentization model for cyclejs
  Componentization against complexity
  User interfaces as reactive systems
Projects
  Component combinators

У меня вопрос:

  • как отобразить только содержимое каталога Projects? или в принципе как сделать if на заголовке? содержание? каталога проектов?

То есть я хочу, чтобы на странице проектов отображалось только это:

  Component combinators
  Trees and forests

person user3743222    schedule 20.12.2017    source источник


Ответы (1)


Решил это так:

{{ partial "header" . }}

<article>
    <header>
        {{ partial "title" . }}
        {{ with .Content }}{{.}}{{ end }}
    </header>

    {{ if (eq $.Parent.Title "Projects") }}
      <ul class="no-bullet">
          {{ range .Paginator.Pages }}
          {{ partial "li" . }}
          {{ end }}
      </ul>
      {{ partial "paginator" . }}
    {{ else }}
      {{ range (where .Site.Pages "Section" "projects") }}
        <ul class="no-bullet">
            {{ range .Sections }}
            <li>
                <span><time datetime="{{.Date}}">{{ .Date.Format .Site.Params.DateFmt }}</time></span>
                <a href="{{ .Permalink }}">{{ .Title }}</a>
            </li>
            {{ end }}
        </ul>
      {{ end }}
    {{ end }}

</article>
{{ partial "footer" . }}


{{/* keep the / right next to the parenthesis */}}
{{/* printf "%#v" $.CurrentSection.Title */}}
{{/* printf "%#v" (eq $.Parent.Title "Projects") */}}

В основном мы разветвляемся на уровне иерархии. Если на верхнем уровне, мы отображаем каталоги (хранящиеся в .Sections), если нет, мы отображаем страницы.

person user3743222    schedule 25.12.2017