Сообщения, которые не отображаются правильно в блоге jekyll (несколько сайтов) - только почтовый индекс - PullRequest
0 голосов
/ 03 июля 2018

У меня есть личный сайт, созданный с помощью jekyll и размещенный на страницах Github. Я пытаюсь добавить блог на этом сайте. Для этого я создал страницу blog.md и следовал инструкциям с этого сайта: https://www.garron.me/en/blog/multi-blog-site-jekyll.html. Идея состоит в том, что если я зайду на http://<mydomain>.com, он перейдет на мой личный сайт, а если я зайду на http://<mydomain>.com/blog он перейдет на другой сайт, также настроенный с помощью jekyll.

Моя файловая структура отличается от предложенной в ссылке выше. Это так:

/personalwebsite
   config.yml
   index.md
   (other personal website pages).md
   blog.md
   /_site
   /_layouts
   /_posts    

Моя index.md страница полностью настроена, и я написал свой собственный макет для этого сайта. Это статический сайт, и все в _posts игнорируется им. Моя страница blog.md также находится в корневой папке и изменяется в соответствии с _config.yml. Я пытаюсь использовать для этого темы Github Jekyll. Тема загружается, но вместо отображения сообщений отображается код: enter image description here

Вот как blog.md выглядит:

---
layout: blog
title: the blog
permalink: blog
---

{% raw %}
{% for post in site.posts %}
   {% if post.categories contains 'blog' %}
   <div class="post">
       <h3 class="title"><a href="{{ post.url }}">{{ post.title }}</a></h3>
    <p class="meta">Date: {{ post.date }}</p>
    <div class="entry">
        {{ post.content | strip_html | truncatewords: 100 }}
    </div>
</div>
{% endif %}
{% endfor %}
{% endraw %}

А вот как выглядит сообщение:

---
layout: post
title: New test
category: blog
---

This is a test post

Если я удаляю {% raw %} детали в blog.md, сообщения отображаются следующим образом: enter image description here

Я уже проверил, что мои сообщения находятся в нужном месте, заполнен параметр category, даты и имена файлов сообщений правильно отформатированы. Что я делаю неправильно? Jekyll не показывает никаких сообщений об ошибках, кроме предупреждения метаданных Github:

GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data

1 Ответ

0 голосов
/ 04 июля 2018

blog.md - это файл уценки.

В уценке отступ в четыре пробела представляет код или предварительно отформатированный текст. Kramdown обернет этот код в тег <pre>, в результате чего вы действительно увидите на своем сайте.

Если вы удалите отступ (или оставите его под 4 пробелами), ваша проблема будет решена.

{% for post in site.posts %}
{% if post.categories contains 'blog' %}
<div class="post">
 <h3 class="title"><a href="{{ post.url }}">{{ post.title }}</a></h3>
 <p class="meta">Date: {{ post.date }}</p>
 <div class="entry">
  {{ post.content | strip_html | truncatewords: 100 }}
 </div>
</div>
{% endif %}
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...