У меня очень простой макет:
#_layouts/default.html
{% include header.html %}
{{ content }}
{% include footer.html %}
Первая страница, на которой показаны все сообщения (без комментариев):
#index.html
---
title: Schmexy Title
---
<section id="fresh-off-the-press">
{% for post in site.posts %}
<article class="post">
<header>
<p class="post-date">{{ post.date | date: '%b %d, %Y' }}</p>
<h1 class="post-heading"><a href="{{ post.url }}" class="post-permalink">{{ post.title }}</a></h1>
</header>
{{ post.content | split:'<!-- body -->' | last }}
</article>
{% endfor %}
</section>
И простой формат статьи:
#_posts/2015-02-25.superduper.md
---
title: SuperDuperHeadline
category: newsflash
---
[SuperDuperHeadline][1]
===================
<!-- body -->
After a hassle-free launch, [Jekyll] has kept me up all night.
[1]: {{ page.url }}
[Jekyll]: http://jekyllrb.com
Использование комментария, чтобы jekyll не отображал дважды заголовок статьи, кажется очень хакерским.
Я пробовал просто удалить заголовок и текст
[SuperDuperHeadline][1]
===================
<!-- body -->
который отлично работает с index.html, но когда я нажимаю на ссылку заголовка, чтобы перейти к статье, она затем отображается без заголовка, поскольку Jekyll выводит только html-преобразование разметки внутри макета по умолчанию.
Итак, я попытался использовать подшаблон для отображения отдельного сообщения, изменив заголовок статьи, чтобы использовать _layouts / post.html
#_posts/2015-02-25.superduper.md
---
title: SuperDuperHeadline
category: newsflash
layout: post
---
с новым макетом, очень похожим на старый макет (но с возможностью отображения комментариев)
#_layouts/post.html
---
layout: default
---
<article class="post">
<header>
<p class="post-date">{{ page.date | date: '%b %d, %Y' }}</p>
<h1 class="post-heading"><a href="{{ page.url }}" class="post-permalink">{{ page.title }}</a></h1>
</header>
{{ page.content | markdownify | split:'<!-- body -->' | last }}
<!--
<section class="comments">
<header><h1 class="comments-heading">Comments</h1></header>
<article class="comment">
<footer><p>Posted by: Commenter 1</p></footer>
<p>Comment 1</p>
</article>
<article class="comment">
<footer><p>Posted by: Commenter 2</p></footer>
<p>Comment 2</p>
</article>
</section>
-->
This sub-template needed the further hack of piping everything through markdownify before using the body hack to separate the header from the contents.
Все это кажется очень ... ну, хакерским. Я, должно быть, делаю что-то не так
Как лучше всего структурировать макеты и публикации для блога? Почему в подшаблоне не используется уценка?
importantly though the post when clicked through is not marked up in the article format.
? Вы имеете в виду, что что-то с сгенерированным HTML в моем ответе не похоже на то, что вы хотели, или вы пытались адаптировать мой ответ к своему коду, и он ведет себя иначе, чем в моем ответе? Если второе, не могли бы вы показать еще код? Может быть, весь ваш сайт находится в общедоступном репозитории GitHub, где я могу его увидеть? 24.03.2015