15

有没有办法让一个 Jekyll 网站拥有多个博客?我目前想在一个站点中有两个博客。

4

4 回答 4

29

我是页面http://www.garron.me/blog/multi-blog-site-jekyll.html的作者

考虑到您需要单独的档案页面,以及每个博客的最新帖子。只需使用这样的东西:

创建一个文件 archives-blog-1.html 并填写:

{% for post in site.posts %}
  {% if post.categories contains 'blog1' %}
    <div class="post">
        <h3 class="title"><a href="{{ post.url }}">{{ post.title }}</a></h3>
        <p class="meta">Date: {{ post.date }}</p>
    </div>
  {% endif %}
{% endfor %}

这将为您提供 blog1 中所有帖子的列表,您可以对 blog2 执行相同的操作。该页面可以是您想要的任何地方。

对于最新的帖子,您可以使用相同的代码,但包含在:

{% for post in site.posts limit:5 %}
....
{% endfor %}

这会给你持续 5 个帖子......我正在使用这个

{% for post in site.posts limit:5 %}

  <div class="post">
    <ul>
      <li><a href="{{ post.url }}">{{ post.title | truncate:200 }} </a><small>{{ post.date }}</small>
         {% if post.summary %}
            <p class="entry">{{ post.summary }}</p>
         {% endif %}
      </li>
    </ul>
  </div>
{% endfor %}

在我的索引页面中。http://www.garron.me/index.html ...在子标题下(来自博客)我不限于任何类别,所以所有博客的帖子都会出现在那里,你可以限制{% if post.categories contains 'blog1' %}

希望它可以帮助你。

于 2013-01-29T12:51:33.823 回答
13

到目前为止,有一个比任何答案都更简单的解决方案。

文件夹结构:

- blog1/ - _posts/ - blog2/ - _posts/

然后在 blog1 的 index.html 中,使用site.categories.blog1而不是site.posts.

请参阅https://jekyllrb.com/docs/variables/中的“site.categories”和“page.categories”文档

于 2017-02-13T03:20:16.400 回答
0

我使用两个独立的 Jekyll 安装在同一个域上运行两个博客;如果您的博客将存在于单独的根目录中(我的位于/and /photos/),那么我会推荐这种方法。我还描述了如何合并两个博客的 sitemap.xml 文件

于 2013-02-16T19:11:06.250 回答
0

您最好的选择是查看数据文件功能。您可以将.markdown文件放在您的单独文件夹中,source并在发布时链接到它们。这确实意味着为了发表一篇文章,您需要编写一个数据文件条目,但是您可以托管任意数量的“博客”,每个博客都有自己的文件夹。帖子将自动将它们所在的文件夹作为 url。我将这种方法用于我自己的个人博客和作品集。

要么,或者您可能想查看收藏:http: //jekyllrb.com/docs/collections/

于 2016-03-18T21:28:40.040 回答