Цикл сообщений jekyll не работает на домашней странице. Показ кода как есть

Я хочу показывать последние сообщения на моей странице bolg.html. Поэтому я использовал синтаксис Liquid

Но когда я использовал жидкость, показанную ниже, и запускал локально, страница показывает код как есть, и он не извлекает сообщения из моей папки _posts.

Синтаксис жидкости приведен ниже:

жидкий синтаксис

и тогда вывод будет таким, как указано ниже

вывод

Помогите мне, пожалуйста. Также я использую шаблон под названием Triangle из начальной загрузки. и я размещаюсь на github.


person hxri    schedule 21.11.2015    source источник
comment
У вас есть жидкость, установленная локально? Если вы этого не сделаете, вам нужно будет сделать это, установив его через командную строку gem install liquid, как описано здесь   -  person Virtua Creative    schedule 21.11.2015
comment
по-прежнему не работает.   -  person hxri    schedule 21.11.2015
comment
Странно... Я получше рассмотрю ваш код и сравним его с моим позже, и если я найду что-то полезное, я вернусь к вам.   -  person Virtua Creative    schedule 21.11.2015
comment
Вообще-то, я тут подумал, как у тебя дела jekyll serve? Попробуйте запустить его с помощью этой команды: bundle exec jekyll serve --safe --watch --baseurl "" и посмотрите, не появится ли ошибка. Это самый безопасный способ проверить, как GitHub будет отображать ваш сайт Jekyll.   -  person Virtua Creative    schedule 21.11.2015
comment
Разместите код в виде текста, пожалуйста. И если у вас есть URL-адрес репозитория, еще лучше попытаться вам помочь.   -  person David Jacquel    schedule 21.11.2015


Ответы (4)


Кажется, я знаю, что не так. Ваш цикл не работает, потому что вы сказали {% for blogpost in site.posts%}, а затем вызываете цикл с помощью post, а не blogpost. Попробуйте изменить цикл for на:

{% for post in site.posts %} 

и вы должны быть в порядке!

Если этот ответ правильный или полезный, пожалуйста, отметьте его! Спасибо! ;)

person Virtua Creative    schedule 21.11.2015
comment
Это не имеет значения. Но я изменил сообщение в блоге на сообщение, и у меня все еще есть проблема. - person hxri; 21.11.2015
comment
Не могли бы вы опубликовать здесь свой код в виде текста, чтобы я мог скопировать его и вставить в документ, чтобы запустить некоторые тесты? Кроме того, можете ли вы включить свои посты в передний план yaml? - person Virtua Creative; 21.11.2015

Это может быть немного поздно, но у меня была похожая проблема.

У меня изначально это было в моем default.html

---
page.title: My Blog
---
<!DOCTYPE html>
<html>
    <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>{{ page.title }} | My Blog - Musings of a Software Developer from Norwich</title>
    <link rel="stylesheet" href="{{'/assets/main.css' | prepend: site.baseurl}}">
</head>   
<body>
    {% include nav.html %}

    <div class="content">
        {{ page.content }}
    </div>
    <script src="{{'/node_modules/jquery/dist/jquery.min.js' | prepend: site.baseurl}}"></script>
    <script src="{{'/node_modules/popper.js/dist/popper.min.js' | prepend: site.baseurl}}"></script>
    <script src="{{'/node_modules/bootstrap/dist/js/bootstrap.min.js' | prepend: site.baseurl}}"></script>
</body>

</html>

и в моем blog.html у меня было

---
title: Blog
layout: default
---

<h1>Latest Posts</h1>

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

Отвечать

Я заметил, что когда я удалял раскладку из фронтматера, то цикл работал правильно, поэтому я вставил свою раскладку обратно, и она перестала работать. Затем при более близком сравнении с другим сайтом, который я делал, я заметил, что в моем макете у меня было {{ page.content }}. Итак, я обновил это, чтобы просто быть {{ content }}, и вуаля, я получил свою тему, и она зацикливается на сообщениях в блоге, как я тоже этого хотел. Надеюсь, это может помочь кому-то в будущем

person Chris    schedule 09.12.2018

Я действительно опаздываю на вечеринку, но лучше поздно, чем никогда, а?

Глядя на опубликованные вами скриншоты, кажется, что вы используете {{ page.content }} в своем шаблоне макета, поскольку жидкие теги, похоже, не отображаются так, как вы ожидаете. Может быть, вам нужно вместо этого использовать {{ content }}, чтобы ваш контент правильно отображался перед выводом на страницу?

person Joel Murphy    schedule 06.12.2019

Я решил это, удалив index.html в корневом каталоге и создав index.md. После этого все заработало как положено!

person DigitalCodon    schedule 02.05.2020