前提・実現したいこと
1.フォルダの中にある記事も一緒に記事一覧で表示させたい
2.セクション内にある記事で使われているカテゴリのリストを表示したい
(以下をご参照ください)
現状・問題点
静的サイトジェネレーターHUGOを触り始めた初心者です。
1.について
セクションの中にフォルダを作り(カテゴリAとします)、その中にさらにフォルダを作り(post1とします)記事を作成すると、記事一覧に表示されなくなります。
現状は、カテゴリAが記事タイトルとして表示され、サイト名/section1/categoryA
にリンクが飛ぶようになっています。
上の階層に移動させると表示されるのですが、カテゴリごとでファイルを管理したいので何か解決方法はありますでしょうか?
ブランチバンドル、リーフバンドルが関係しているのでしょうか?
勉強不足で申し訳ありません。既出でしたらURLだけでもご提示いただけると幸いです。
2.について
セクション内にある記事で使われているカテゴリだけのリストを表示する方法も探しています。
現状は、【All・カテゴリA・カテゴリB・カテゴリC・カテゴリD】になっていますが、
これを
section1のページ…【All・カテゴリA・カテゴリB】
section2のページ…【All・カテゴリC・カテゴリD】
にしたいということです。
※Allはsection○のトップページに飛ぶようにしています。
発生している問題・エラーメッセージ
実験中のためindex.md
だったり、_index.md
だったりバラバラです。
サイト名/ ├ archetypes/ ├ content/ │ ├ section1/ │ │ ├ categoryA/ //カテゴリ名が記事のタイトルとして表示される │ │ │ ├ post │ │ │ │ └ index.md //記事が表示されない │ │ │ │ │ │ │ └ _index.md │ │ │ │ │ ├ categoryB/ //カテゴリが表示されない │ │ │ ├ _index.md │ │ │ └ post2.md //記事が表示されない │ │ │ │ │ ├ _index.md │ │ └ post3.md //表示される │ │ │ ├ section2/ │ │ ├ categoryC/ //カテゴリ名が記事のタイトルとして表示される │ │ │ ├ index.md │ │ │ └ post4.md //記事が表示されない │ │ │ │ │ ├ categoryD/ //カテゴリが表示されない │ │ │ ├ _index.md │ │ │ └ post5.md //記事が表示されない │ │ │ │ │ ├ _index.md │ │ └ post6.md //表示される ├ layouts/ │ └ _default │ ├ list.html │ └ post.html
該当のソースコード
html
1<!-- layouts/_default/list.html --> 2 3{{ define "main" }} 4 {{ partial "page-title.html" . }} 5 <!-- blog(section1) --> 6 <section class="section"> 7 <div class="container"> 8 <ul> 9 {{ with .CurrentSection }} 10 <li><a href="{{ .RelPermalink }}">All</a></li> 11 {{- end }} 12 {{- range $taxonomyName, $taxonomy := .Site.Taxonomies }} 13 {{- range ($.Site.GetPage "taxonomyTerm" $taxonomyName).Pages }} 14 <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li> 15 {{- end }} 16 {{- end }} 17 </ul> 18 <div class="row"> 19 {{ range .Paginator.Pages }} 20 {{ .Render "post" }} 21 {{ end }} 22 </div> 23 {{ template "_internal/pagination.html" . }} 24 </div> 25 </section> 26 <!-- /blog(section1) --> 27{{ end }} 28 29 30<!-- layouts/_default/post.html --> 31 32<div class="col-lg-4 col-sm-6 mb-4"> 33 <article class="card shadow"> 34 <img class="rounded card-img-top" src="{{.Params.Image | relURL}}" alt="{{.Title }}"> 35 <div class="card-body"> 36 <h4 class="card-title"><a class="text-dark" href="{{.RelPermalink}}">{{.Title }}</a> 37 </h4> 38 <p class="cars-text">{{.Summary}}…</p> 39 <a href="{{.RelPermalink}}" class="btn btn-xs btn-primary">Read More</a> 40 </div> 41 </article> 42</div>
試したこと
1.について
上記で記載しました通り、現状は、カテゴリAが記事タイトルとして表示され、サイト名/section1/categoryA
にリンクが飛ぶようになっています。その先のリンクはありません。
最下層のindex.md
を_index.md
に変更するとカテゴリごと表示されなくなります。
2.について
HTML
1<!-- layouts/_default/list.html --> 2 3 {{- range $taxonomyName, $taxonomy := .Site.Taxonomies }} 4 {{- range ($.Site.GetPage "taxonomyTerm" $taxonomyName).Pages }} 5 <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li> 6 {{- end }} 7 {{- end }}
この部分が怪しいと思っています。
.Site.Taxonomies
はサイト全体で使用しているタクソノミーを取得しているという認識で合っていますか?
.Site.GetPage
でセクション内の記事を取得出来るということは分かったのですが、セクション内のタクソノミーだけをを取得する方法が分かりません。
補足情報(FW/ツールのバージョンなど)
こちらのテンプレートを使用しています。
Kross hugo
このデモサイトのポートフォリオページのカテゴリタブのようなものを、ブログのほうでも実現したいということです。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。