如何在Liquid(Jekyll)中获取页面的URL

时间:2013-11-25 17:54:08

标签: jekyll liquid github-pages

我正在使用Github页面(Jekyll)编写文档,并且在一个页面中我希望链接到另一个页面。我尝试使用{% page_url post-name %},但没有运气。当我运行bundle exec jekyll serve时,我得到了这个例外:

Liquid Exception: no implicit conversion of nil into String in docs/page1.md

我的帖子位于子目录docs中,我的文档结构如下:

CNAME
_config.yml
_includes/
_layouts/
_site/
css/
docs/
   page1.md
   page2.md
   page3.md
imgs/
js/
index.md

配置文件包含:

safe: true
lsi: false
pygments: true
markdown: kramdown

docs/子目录中的所有页面都包含YAML块:

---
layout: docs
title: Page Two
permalink: /docs/page2/
---

现在,我尝试获取此page2的页面网址:

{% page_url page2 %}
{% page_url docs/page2 %}
{% page_url /docs/page2/ %}
{% page_url /docs/page2.md/ %}

这些都不起作用,我仍然得到Liquid Exception

那么在子目录中获取页面url的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

你应该使用`{%post_url%}'标签,例如:

{% post_url 2010-07-21-name-of-post %}

Jekyll的文档中的更多详细信息:http://jekyllrb.com/docs/templates/#post-url

答案 1 :(得分:3)

使用通用链接标记: {%link _collection / name-of-document.md%}

所以,像 {%link docs / page2.md%}