【问题标题】:Using `post_url` with a variable argument使用带有可变参数的 `post_url`
【发布时间】:2013-07-26 23:36:51
【问题描述】:

我的 Jekyll 网站上有一些相关的帖子,我想将它们相互链接。我只想在 yaml 前文中命名相关帖子,然后在我渲染帖子时,包含一些导航栏,以添加到其他帖子的链接。

例如:

title: This is Post One
layout: post
followup_post: 2013-02-02-two
---
Blah blah blah one.

然后在我的帖子布局中:

<h1>{{ page.title }}</h1>
{% if page.followup_post.size > 0 %}
    <a href="{% post_url page.followup_post %}">follow up</a>
{% endif %}
{{ content }}

但是,这不起作用,因为post_url 认为当我想给它一个变量名时我给它一个文字字符串。

如果帖子的名称在变量中,Jekyll 中是否有一种方法可以在不使用(GitHub 禁止)插件的情况下获取帖子的帖子 URL?

【问题讨论】:

  • 如果你使用永久链接,那是什么样的?
  • 我正在使用/:categories/:title/,但我认为这并不重要——当我尝试将变量名作为参数提供post_url 时,Jekyll 会出错。
  • 你可以尝试将其捕获在一个变量中,然后将其扔到post_url,即{% capture followup_url %} {{ page.followup_post }} {% endcapture %}

标签: jekyll liquid


【解决方案1】:

嗯,你可以做两件事:

1.) 遍历 site.posts 数组,直到找到匹配的 post 对象并使用它 或者 2.) 如果您有足够简单的永久链接,请自己创建帖子网址(例如,我使用简单的:title

【讨论】:

  • 啊,好吧,我会尝试循环浏览帖子,直到找到匹配的内容。好想法!我应该已经想到了;我已经解决了我的大部分 Jekyll 挑战,循环遍历每个帖子的次数超出了您的想象:)
猜你喜欢
  • 2015-11-15
  • 2016-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多