Все посты хранятся в папке _posts, они обязательно должны иметь Front Matter. Они могут быть написаны на различных языках разметки, но «из коробки» оступны Markdown и HTML.

Как уже отмечалось ранее, чтобы создать новый пост, необходимо создать файл в папке _posts в формате YYYY-MM-DD-post-name.MARKUPTYPE. Сразу после Front Matter идет содержимое поста на заданном языке. Зачастую необходимо вставить в пост различные изображения, видео, ссылки на скачивание и так далее. Рекомендуется создать в корне сайта специальную директорию, например assets, в которую складывать все ресурсы. Так как путь до сайта может быть сконфигурирован в конфигах с помощью опции baseurl, то рекомендуется использовать фильтр absolute_url


![My avatar]({{ "/assets/ava.jpg" | absolute_url }})

Список всех постов хранится в массиве site.posts.


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

Список всех постов по категориям хранится в ассоциативном массиве site.categories[CATEGORY]. Можно взять только часть поста, которая хранится в свойстве post.excerpt. Обрезок будет состоять из текста включительно до excerpt_separator, который можно задать в Front Matter или _config.yml.


---
excerpt_separator: <!--ex-->
---
Some post
<!--ex-->
Out of excerpt

Jekyll имеет встроенную поддержку подсветки синтаксиса. Для этого используется Liquid-тег highlight.

  
{% highlight php %}
<?php

class Number
{
    /**
     * @var int
     */
    public $number;
}
{% endhighlight %}
  

Вывод:

<?php

class Number
{
    /**
     * @var int
     */
    public $number;
}

Отложенные посты хранятся в _drafts, по сути - это посты без даты. Чтобы посмотреть как сайт будет выглядеть с этими постами можно использовать опцию --drafts при сборке.