我有一个Jekyll blog,其中主页是一堆帖子的链接,但我还想要包含项目的gh页面页面的链接,我希望列表按日期排序。现在,我只是手动将其插入页面顶部。
<ul class="posts">
<li>
<span class="post-date">Jul 8, 2015</span>
<a class="post-link" href="/QuisCustodiet/">The Most Influential Works, According to TvTropes</a>
</li>
{% for post in site.posts %}
<li>
<span class="post-date">{{ post.date | date: "%b %-d, %Y" }}</span>
<a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
这看起来还不错,但是当我再发一篇文章时,它会在一两周后中断。有没有办法创建另一个“帖子”并将其以一种保持排序的方式插入到site.posts列表中?还有一些其他更好的做法,我不知道吗?
答案 0 :(得分:1)
如果我理解您的问题,您希望在您的帖子列表中有一些“特殊项目帖子”,这些帖子只是指向另一个特定项目站点的链接,但是有一个日期,因此可以与其他帖子一起排序。 / p>
以下是我提出的建议:
你在_posts /中创建一个空帖子,前面的内容如下:
---
layout: post
title: "Project Example"
customlink: http://www.example.org
date: 2015-07-12 12:50:25
---
customlink
属性用于指向项目页面的链接。在您的html中,列出您的所有帖子,您创建一个if语句来检查属性并正确处理它。像这样举例如:
<ul>
{% for post in site.posts %}
<li>
{% if post.customlink %}
<a href="{{ post.customlink }}">{{ post.title }}</a>
{% else %}
<a href="{{ post.url }}">{{ post.title }}</a>
{% endif %}
</li>
{% endfor %}
</ul>
您的项目帖子被视为您的其他帖子,并按日期排序,但其链接会将用户引导至您的项目页面。
Jekyll仍会为此帖创建html,并像特定路径下的所有其他帖子一样提供服务。为了防止出现这种情况,您可以在帖子前面添加一个空的permalink
属性,例如permalink: ""
,您的帖子将位于您博客的根目录下。 Jekyll仍然会在_site
文件夹中为此帖子创建一个“.html”文件。
您需要手动为每个外部项目创建帖子,但我不知道更好的解决方案。