Javascript Jekyll博客显示类别下的帖子

Javascript Jekyll博客显示类别下的帖子,javascript,jekyll,Javascript,Jekyll,我想显示来自某个类别的帖子。例如,转到url将列出所有将“编程”作为其类别的帖子 我的一般博客索引如下所示 {% for post in site.posts %} <div class="post-box"> <div class="post-title"> <a href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>

我想显示来自某个类别的帖子。例如,转到url将列出所有将“编程”作为其类别的帖子

我的一般博客索引如下所示

  {% for post in site.posts %}
    <div class="post-box">
      <div class="post-title">
        <a href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
      </div>
      <span class="post-date">{{ post.date | date: "%b %-d, %Y" }}</span>
      <p class="post-excerpt">{{ post.excerpt }}</p>
      <div>
        {% for category in post.categories %}
          <a href="#">#{{ category }}</a>
        {% endfor %}
      </div>
    </div>
  {% endfor %}
{%for site.posts%}
{post.date | date:“%b%-d,%Y”}

{{post.extract}

{post.categories%中的类别为%s} {%endfor%} {%endfor%}
如果Jekyll没有自动为每个类别提供特定的url,我将不得不根据给定的url动态更改可用的帖子。我当然可以为每个类别创建一个专用目录,然后在其中创建
index.html
,但肯定有更好的方法

如果有一种方法可以使用javascript将site.posts%}中的post动态更改为
{%post%}
部分,将其更改为
{%post in某些类别的post%}
。任何帮助都会很好。

这正是我们正在做的。

您可以使用插件(为此,请参阅)…但是如果您想在上托管您的站点,您不能使用它,因为

因此,如果您不能使用插件,那么除了手动为每个类别创建页面之外,别无选择。
我不是JavaScript大师,但我很确定不可能用JavaScript动态更改类别,因为Jekyll页面只编译一次,不能在运行时动态更改

但是,为每个类别创建一个新的类别页面并不像看上去那样费力

我在这里发表了一篇博客文章,解释如何做:

短版本:
(我在这里使用的是
标记
而不是
类别
,但两者的工作原理完全相同)

  • 创建一个特殊的
    /\u layouts/tagpage.html

    ---
    layout: default
    ---
    
    <h1>{{ page.tag }}</h1>
    
    <ul>
    {% for post in site.tags[page.tag] %}
      <li>
        {{ post.date | date: "%B %d, %Y" }}: <a href="{{ post.url }}">{{ post.title }}</a>
      </li>
    {% endfor %}
    </ul>
    
    ---
    layout: tagpage
    tag: jekyll
    ---
    
  • 当然,我可以为每个类别创建一个专用目录,然后在其中创建index.html,但必须有更好的方法

    这是一个很好的方法,根本不需要做太多的工作,而且在gh页面上可以完美地工作。这正是我在自己的网站上所做的,因为我更喜欢在目录结构中按类别保存我的.md帖子,所以我只需要:

    /blog/
        /_posts/20015-01-01-my-awesome-post.md
        index.html
    
    /labs/
        /_posts/20015-01-01-my-technical-post.md
        index.html
    
    我发现维护最好不要有1001个帖子都在_posts/我得到了我想要的非常永久的结构,而不需要在每个帖子前面输入类别