杰基尔插件处理类别在GitHub上不起作用(Jekyll plugin to handle cate

2019-10-21 02:21发布

我复制的哲基尔插件生成使用官方源(分类页https://github.com/recurser/jekyll-plugins )到我Github上存储库,它不工作,我一直得到一个404页。 那如果我都在杰基尔服务器和它的工作原理_site目录我的本地机器上测试说。 有任何想法吗?

Answer 1:

GitHub的网页不支持大多数的插件。 他们不希望任何疯狂的事情的幕后。

以下是我做Github上的页面类别。 它不是完全自动的,因为它需要你想设置每个类别单独.html文件。 但它的工作原理,而不在Github网页上的任何插件或巫术。

建立在你的根目录下的文件categoryname.html。 例如, hardware.html的五金类。 在所有的网站帖子的运行for循环,并检查post.category

<div class="posts">
  {% for post in site.posts %}

    {% assign author = site.authors[post.author] %}
    {{ author.display_name }}

  {% if post.category == 'Hardware' %}
  <div class="post">
    <h1 class="post-title">
      <a href="{{ post.url }}">{{ post.title }}</a>
    </h1>
    {{ post.content }}
  </div>
  {% endif %}
  {% endfor %}
</div>

在您的文章,你可以使用YAML头的类别添加到帖子中。 如下面的代码:

---
layout: post
title: How We Built a Hardware Product
author: Author Name
category: Hardware
---

这应该这样做。 它会创建一个/hardware/页,其中将包括所有的帖子与五金类的。 请确保你是大小写敏感的你的YAML和类别名称( hardware != Hardware and category != Category )。



Answer 2:

另一种可能的解决方案:
如果你不希望在本地生成您的网站和创建的HTML文件推送到GitHub上(像大卫Jacquel在他的回答提出的建议),您可以创建与所有类别的一个页面

看看这个答案:
一个简单的方法,以支持在杰基尔博客标签
(注:我使用的标签,而不是类存在,但两者正好工作杰基尔相同的方式,据我所知,所以,你可以只是把我的代码并替换site.tags通过site.categories

我承认,每个类别一个页面看起来更好,但我的解决方案有它工作在Github页面(因为它只是香草液体,无插件)的优势。


编辑:

在此期间,我写了一篇博客文章如何使每个类别单独的页面,而无需使用插件:
每个标签/类别单独的页面与杰奇(无插件)



Answer 3:

Github pages only support a small number of Jekyll plugins.

If you want to use your plugins, you'll have to generate your site locally and push it on github pages. If you do this, add a .nojekyll file at the root of your repository to tell github to not process you files.



文章来源: Jekyll plugin to handle categories doesn't work on GitHub