Использование жидких тегов для связи узлов - PullRequest
0 голосов
/ 14 декабря 2011

У меня есть сеть узлов, некоторые из которых связаны друг с другом. Я использую Jekyll для создания веб-сайта и надеялся использовать жидкие теги для отображения этих отношений.

Итак, я пытался это сделать следующим образом.

A , который относится к категории 1 , относится к B B , относящийся к категории 2 , относится к A и C

Когда я захожу на страницу для A, я бы хотел, чтобы B был указан как связанный.

Я определил фронт YAML следующим образом:

title: A
category: 1
tags:
- B.html

title: B
category: 2
tags:
- A.html
- C.html

Мой жидкий шаблон выглядит так:

<h2>{{ page.title }} <span class="label important">{{ page.category }}</span></h2>
<p>Last edited: {{ post.date | date_to_string }}</p>
<p><em>{{ content }}</em></p>

<h4>Related</h4>
<ul>
 {% for post in site.tag.{{ post.url }} %}
 <li><a href="{{ post.url }}">{{ post.title }}</a></li>
 {% endfor %}
</ul>

Мне кажется, это должно работать. На самом деле это не так.

Предложения приветствуются!

Также , соответствующие страницы Github здесь: https://raw.github.com/salmonhabitat/salmonhabitat.github.com/master/_posts/2011-12-12-bycatch.md

https://raw.github.com/salmonhabitat/salmonhabitat.github.com/master/_posts/2011-12-12-accidental.md

https://github.com/salmonhabitat/salmonhabitat.github.com/blob/master/_layouts/post.html

То, что я намеревался случиться, было для 'Случайной травмы', чтобы появиться под 'Связанными узлами' Морского прилова '...

1 Ответ

1 голос
/ 15 декабря 2011

Первая проблема заключается в том, что сообщения в основном "слепы" по отношению к другим сообщениям в jekyll.Невозможно URL (или заголовок) одного поста из другого поста в jekyll, только с идентификатором первого.Ваш site.tag.{{ post.url }}, хотя и творческий, не будет работать :).

Во-первых, ваш передовой вопрос должен быть (к сожалению) немного более сложным, чтобы выполнить это:

title: A
category: 1
related_posts:
- title: B
  href: /2010/01/01/B.html
- title: C
  href: /2011/11/11/C.html

Обратите внимание, что я изменил название с «тегов» на «related_posts».Я чувствую, что так будет понятнее.

Теперь вы можете попробовать этот код:

<h2>{{ post.title }} <span class="label important">{{ post.category }}</span></h2>
<p>Last edited: {{ post.date | date_to_string }}</p>
<p><em>{{ content }}</em></p>

{% if post.related_posts %}
  <h4>Related</h4>
  <ul>
  {% for related_post in post.related_posts %}
    <li><a href="{{ related_post.href }}">{{ related_post.title }}</a></li>
  {% endfor %}
  </ul>
{% endif %}

Хотя это немного более многословно, чем ваша версия, у нее есть преимущество - вы можете указать свойсобственный заголовок в связанных постах, без необходимости использовать B или C.

Дайте мне знать, если у вас есть проблемы с этим, и удачи!

...