2013-07-18 2 views
6

Я использую Jekyll для публикации блогов. Когда я пишу «{% ...%}» в моих файлах разметки, кажется, что «{% ...%}» будет анализироваться Liquid. Но иногда это не то, что я хочу, и может вызывать ошибки. Итак, как правильно включить тексты типа «{% ...%}» в моем сообщении (файл .md)?Как включить «{%%}» в файл уценки при использовании jekyll?

Я проверил документы Liquid и узнал, что могу использовать тег блока {% raw %} ... {% end raw %}, чтобы включить в него необработанный текст. Однако я не думаю, что это хорошая идея. Потому что если файл разметки не был проанализирован Liquid (например, в некоторой среде, отличной от Jekyll), это оставит неиспользованный {% raw%} в моем тексте.

Исправьте меня, если я скажу что-то не так.

P.S .: Я использую страницы GitHub для хостинга, и они отключают плагины.

ответ

6

Одна вещь, чтобы помнить о Джекила и GitHub страниц является то, что вы можете всегда построить свой сайт локально (запустив jekyll build), совершить его в репо и GitHub служить его оттуда. Таким образом, вы можете использовать (или создавать) плагин, который позволит вам иметь то, что вы хотите. : P

С другой стороны, я думаю, что на самом деле слишком много проблем, чтобы не использовать {% raw %}. Если - и только если - вы собираетесь использовать эти файлы разметки где-то в другом месте, вы можете передать их через скрипт (или команду sed) и сметать эти теги.

+0

Наконец, я решил использовать '{% raw%}' в сообщении. И, как вы сказали, если я буду использовать файлы разметки где-то в другом месте, я изменю их. Благодарю вас, @agarie. – shengbinmeng

1

Вы можете использовать объекты HTML { и } для { и }. Не самый аккуратный, но он не использует {% raw %} или полагается на плагины.

+0

это умный трюк! Спасибо! – shengbinmeng

+0

Обратите внимание, что это не будет работать внутри кодового блока markown (оно отображает '{' вместо отображения открытой скобки). – IQAndreas

0

Я был в состоянии получить эту работу, используя следующий код:

{% capture sidebar %}{% include sidebar.md %}{% endcapture %} 
{{ sidebar | markdownify }} 

It выше фрагмент кода я в том числе боковой панели, что я написал в Markdown.

ссылка: Оригинал GitHub comment, где я получил эту идею.

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