2013-11-25 11 views
3

Я пишу документацию с страницами Github (Jekyll), и на одной странице я хочу сделать ссылку на другую. Я попытался использовать {% page_url post-name %}, но не повезло. Когда я бегу bundle exec jekyll serve я получаю это исключение:Как получить url страницы в Liquid (Jekyll)

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/ 
--- 

И теперь, я пытаюсь получить URL страницы этого page2:

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

Ничего из этого не работает, я все еще получаю Liquid Exception.

Итак, каков правильный способ получить URL-адрес страницы в подкаталоге?

+0

Вы можете попробовать установить 'Документы вашего сайт url' в вашем' _ config.yml', а затем используйте 'site.docs', объединенные с« page2 », чтобы получить URL страницы. Это очень уродливо, тo - вы уверены, что в [jekyll variables] (http://jekyllrb.com/docs/variables/) нет ничего, что вы могли бы использовать? – agarie

ответ

2

используют общую ссылку тег: {% ссылка _collection/name-of-document.md%}

так, что-то вроде {% ссылка Docs/page2.md%}

Смежные вопросы