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

如何在Liquid(Jekyll)中获取页面的url,jekyll,liquid,github-pages,Jekyll,Liquid,Github Pages,我正在用Github页面(Jekyll)编写文档,我想在一个页面中链接到另一个页面。我试图使用{%page\u 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/

我正在用Github页面(Jekyll)编写文档,我想在一个页面中链接到另一个页面。我试图使用
{%page\u 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
的页面url:

{% page_url page2 %}
{% page_url docs/page2 %}
{% page_url /docs/page2/ %}
{% page_url /docs/page2.md/ %}
所有这些都不起作用,我仍然得到
液体异常


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

您应该使用“{%post\u url%}”标记,例如:

{% post_url 2010-07-21-name-of-post %}
Jekyll文档中的更多详细信息:

使用通用链接标签: {%link\u collection/name-of-document.md%}

比如
{%link docs/page2.md%}

您可以尝试在
\u config.yml
文件中设置
docs:your site url
,然后使用与“page2”连接的
site.docs
来获取页面的url。这太难看了,tho,你确定里面没有你需要的东西吗?