過去数時間、他のすばらしい Jekyll チュートリアル サイトとともに、stackoverflow の深さを精査しましたが、この特定の問題に対する解決策をまだ見つけていません。=[
site.tags または site.categories を使用する代わりに、カテゴリ「ブログ」の下に「サブカテゴリ」という名前の独自のカスタム ラベルを作成しました。目標は、それぞれの投稿数を取得することです。私が見つけたチュートリアルは、カテゴリとタグの両方で完全に機能しましたが、カスタムフロントマターではありません.
私のサブカテゴリのいくつかは、次のように書かれています。
[design]
[gaming]
[design, gaming]
サブカテゴリを含む投稿があることを認識すると、投稿数を 1 増やすコードを探しています。私はプラグインを使用していないため、サブカテゴリの完全なリストは実際には data .yml ファイルに個別にリストされています (投稿の開始に加えて)。
これは、これを書くための私の多くの哀れな試みの1つです:
<ul class="blog__sidebar__subcategories m-t-s">
{% for subcategory in site.data.subcategories %}
<a class="blog__sidebar__subcategories__item" href="{{ site.baseurl }}/blog/{{ subcategory.class }}">
<li>{{ subcategory.class }}
{% assign counter = '0' %}
{% assign subcat_data == site.data.subcategories %}
{% for post in site.categories.blog %}
{% if subcat_data == post.subcategories %}
{% capture counter %}{{ counter | plus: '1' }}{% endcapture %}
{% endif %}
{% endfor %}
({{ counter }})
</li>
</a>
{% endfor %}
</ul>
私が見つけた問題には、出力が常に重複している、または「デザイン、ゲーム」が 1 つのエンティティとして吐き出されていることが含まれます。これにより、次のような結果になります。
design | 6
gamingdesign | 6
gaming | 6
gaming | 6
これが私の .yml ファイルの外観です (単純):
- class: design
- class: gaming
そして、投稿数を追加しようとする前の私のコード(うまくいきました!):
<ul class="blog__sidebar__subcategories m-t-s">
{% for subcategory in site.data.subcategories %}
<a class="blog__sidebar__subcategories__item" href="{{ site.baseurl }}/blog/{{ subcategory.class }}">
<li>{{ subcategory.class }}</li>
</a>
{% endfor %}
</ul>
また、スタックオーバーフローの社会的エチケットに誤って違反した場合はお知らせください。初投稿!百万ありがとう。