HUGO

特定のカテゴリー 一覧の記述方法

現在Novelaというテーマを使用しています。

config.yamlでタクソノミーとして登録している"categories"について、記事であるmdファイルに現在"hugo"、“mac”、"windows"とカテゴリーを割り振っているのですが、URL: /categories/mac/などを開くと、/parttials/articles/list.htmlが表示されてしまいます。(ホームページと一緒のhtmlが出力されます。)

mdファイルで、Titleやdiscriptionなどは変更できるのですが、カテゴリーのそれぞれの一覧だけ表示できません。このテーマのホームページは、全ての記事を最新日時で出力しています。

下のファイルは、list.htmlの中身です。(この中身は、テーマNovelaのホームのHTMLとまったく同じ物です。)
この中身をcategories: hugoなら、hugoのカテゴリーの記事のみ表示させるよう変更したいです。

公式など見てはいますが、詰まってしまいました。
どうか助言だけでも、いただけないでしょうか?

<section class="section nartrow">
    <div id="articlesList" class="articles-list-container show-details">
        {{ $posts := partialCached "func/GetArticles" . "articles" }}
        {{ $paginator := .Paginate $posts }}
        {{ $biggerFirst := true }}
        {{ $biggerPlaced := false }}
        {{ range $index, $article := $paginator.Pages }}
            {{ $counter := mod $index 2 }}
            {{ if not $counter }}
                <div class="post-row">
            {{ end }}
            <a href="{{ $article.RelPermalink }}" class="article-link"
            {{ if and (eq ($biggerFirst) true) (eq ($biggerPlaced) false) }}
              {{ if eq $counter 0 }}
                id="article-link-bigger"
                {{ $biggerPlaced = true }}
              {{ end }}
            {{ else if and (not $biggerFirst) (not $biggerPlaced) }}
              {{ if ne $counter 0 }}
                id="article-link-bigger"
                {{ $biggerPlaced = true }}
              {{ end }}
            {{ end }}>
              <div class="article-data-outer">
                <div class="image-container">
                  <img src="{{ $article.Params.hero }}" class="article-image" />
                </div>
                <div class="article-data">
                  <h3 class="article-category">
                    {{ $article.Params.categories }}
                  </h3>
                  <h2 class="article-title">
                    {{ $article.Params.secondtitle }}
                  </h2>
                  <p class="article-excerpt">
                    {{ $article.Params.excerpt }}
                  </p>
                  <div class="article-col">
                  <div class="article-metadata">
                    {{ $article.Date.Format "2006.01.02" }}{{ if $article.Params.timetoread }} • {{ $article.Params.timetoread }} min read{{ end }}
                  </div>
                </div>
              </div>
              </div>
            </a>
            {{ $counter := mod (add $index 1) 2 }}
            {{ $len := (where .Pages "Type" "posts") }}
            {{ if or (eq $counter 0) (eq (add $index 1) $len) }}
                </div>
                {{ $biggerPlaced = false }}
                {{ if $biggerFirst }}
                  {{ $biggerFirst = false }}
                {{ else }}
                  {{ $biggerFirst = true }}
                {{ end }}
            {{ end }}
        {{ end }}
    </div>
    {{ partial "paginator/paginator.html" . }}
</section>

帰ったらまたお返事するのでお待ち下さい。

1 Like

Novela テーマがもともとタグやカテゴリをサポートしていないので難しいですね。やるとすれば、カテゴリをセクションとして扱って、セクションの一覧を出力するのがいいかもしれません。

すぐに実行可能な代替案として「 author をカテゴリとして扱う」ことができるとも思いましたがダメですか?

あと、テーマのリポジトリでも Issue を立てて聞いてみてください。もしかしたらテーマ作者のロードマップにカテゴリ・タグ一覧の実装がかるもしれません。

わざわざコメントありがとうございました!
やはりサポートしてませんよね。

issueで聞いてみようと思います。
もし、お手数でなければ、authorをカテゴリとして扱う場合の記述の仕方を教えて頂ければありがたいです!

例えばこんな感じで。hugo v0.55.6 で試しています。

カテゴリやタグをサポートしている他のテーマを探してみるのもアリだと思います。

わざわざありがとうございます。
帰ったら、実践してみようと思います!
他のテーマも検討してみます。

本当にありがとうございました! :grinning:

1 Like