有没有办法让一个 Jekyll 网站拥有多个博客?我目前想在一个站点中有两个博客。
4 回答
我是页面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' %}
希望它可以帮助你。
到目前为止,有一个比任何答案都更简单的解决方案。
文件夹结构:
- blog1/
- _posts/
- blog2/
- _posts/
然后在 blog1 的 index.html 中,使用site.categories.blog1
而不是site.posts
.
请参阅https://jekyllrb.com/docs/variables/中的“site.categories”和“page.categories”文档
我使用两个独立的 Jekyll 安装在同一个域上运行两个博客;如果您的博客将存在于单独的根目录中(我的位于/
and /photos/
),那么我会推荐这种方法。我还描述了如何合并两个博客的 sitemap.xml 文件。
您最好的选择是查看数据文件功能。您可以将.markdown
文件放在您的单独文件夹中,source
并在发布时链接到它们。这确实意味着为了发表一篇文章,您需要编写一个数据文件条目,但是您可以托管任意数量的“博客”,每个博客都有自己的文件夹。帖子将自动将它们所在的文件夹作为 url。我将这种方法用于我自己的个人博客和作品集。
要么,或者您可能想查看收藏:http: //jekyllrb.com/docs/collections/