添加帖子到Jekyll索引页面,没有.md文件

时间:2016-05-13 21:14:03

标签: ruby jekyll

我想写一个生成器插件来添加一些类似帖子的项目到我的博客。这些项目应该出现在博客索引中,但它们没有与之关联的页面(您无法点击它们)。

我知道我需要像

这样的东西
SELECT tblStatus.ClientID, Max(tblStatus.Date) AS Date
FROM tblStatus
WHERE tblStatus.Status=
    (
    SELECT MIN(Status) 
    FROM tblStatus Status
    WHERE ClientID=tblStatus.ClientID
    )
GROUP BY tblStatus.ClientID

但我不明白的是如何实现我的class QuoteGenerator < Generator safe true def generate(site) # add a single post site.posts << QuotePost.new(site, site.source, "Blub") end end 子类。我发现其他插件(如this one to embed Flickr photos)将他们想要的数据写入markdown + YAML文件,然后引用此文件:

Post

但是,我首先不需要插件。我可以自己生成markdown文件(使用外部脚本)。

我想做的是在Post子类中设置几个变量,并在博客索引的模板中使用它们。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您所描述的案例与Post无关,因为通常的帖子都是基于文件的。收藏可能是合适的,但同样 - 你不清楚如何获得内容。

我建议两个主要选择:

  1. 使用_data /设置对象列表,如果您可以通过静态JSON / CSV / etc文件定义它们(或生成一次,以分离外部数据生成器和jekyll可视化),则每个项目都具有所需的属性)。

  2. 如果您必须通过代码定义数据,请使用:pre_render hook和插件 -

  3.   

    你的钩子也会收到一个有效载荷哈希作为第二个参数,它允许你完全控制渲染时可用的变量

    将数据放在site.data变量中可以让您遍历项目,渲染内容或包含模板等等。还有一些插件可以根据网站的数据生成新页面。

    正确的答案取决于您获取内容的方式,您需要的标记以及如何使用这些内容。