2015-07-09 101 views
0

我有一个Jekyll blog其中主页面是一些链接到帖子,但是我也想在其中包含一个链接到项目的gh页面页面,我希望列表保持按日期排序。现在,我只是手动将其插入页面的顶部。在Jekyll博客上添加一个项目页面到site.posts

<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

小心解释downvote? –

+0

人们只会在这里投降 - 你很少会得到一个理由(根据我的经验,但我没有花太多时间在这里)。更多的话题,为什么*不*只是写一个关于你的项目的短文? –

+0

[这个问题](http://stackoverflow.com/a/8303885/1443496)是否引发你的想象? –

回答

1

如果我理解您的问题是正确的,您希望在帖子列表中包含一些“特殊项目帖子”,这些帖子只链接到另一个特定项目网站,但有一个日期,因此可以与其他帖子一起排序。

这里是我想出了:

您在_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”文件。

您需要为每个外部项目手动创建帖子,但我不知道更好的解决方案。

相关问题