Публикации
Ведение блога интегрировано в Jekyll. Вы пишете записи блога в виде текстовых файлов, а Jekyll предоставляет всё необходимое, чтобы превратить их в блог.
Папка Публикаций
В папке _posts хранятся записи вашего блога. Обычно записи пишутся в формате Markdown, также поддерживается HTML.
Создание записей
Для создания записи добавьте файл в директорию _posts со следующим форматом:
YEAR-MONTH-DAY-title.MARKUP
Где YEAR — четырёхзначное число, MONTH и DAY — двузначные числа, а MARKUP — расширение файла, определяющее используемый формат. Например, следующие имена файлов являются допустимыми:
2011-12-31-new-years-eve-is-awesome.md 2012-09-12-how-to-write-a-blog.md
Все файлы записей блога должны начинаться с метаданных, которые обычно используются для установки макета или других метаданных. Для простого примера это может быть пусто:
--- layout: post title: "Welcome to Jekyll!" --- # Welcome **Hello world**, this is my first Jekyll blog post. I hope you like it!
Профессиональный совет™: Ссылка на другие записи
Используйте тег
post_url, чтобы ссылаться на другие записи, не беспокоясь о разрывах ссылок при изменении стиля постоянной ссылки сайта.
Обратите внимание на кодировки символов
Обработчики содержимого могут изменять определенные символы, чтобы сделать их более привлекательными. Например, расширение
smartв Redcarpet преобразует стандартные ASCII кавычки в фигурные, Unicode кавычки. Для правильного отображения этих символов в браузере, определите значение мета-тега charset, включив<meta charset="utf-8">в<head>вашего макета.
Включение изображений и ресурсов
В какой-то момент вам захочется включить изображения, загружаемые файлы или другие цифровые активы вместе с текстовым контентом. Одним из распространённых решений является создание папки в корне каталога проекта, например, assets, куда помещаются изображения, файлы или другие ресурсы. Затем из любой записи можно ссылаться на них, используя корень сайта в качестве пути к активу. Лучший способ зависит от конфигурации домена (поддомена) и пути вашего сайта, но вот несколько простых примеров в Markdown:
Включение актива изображения в запись:
... which is shown in the screenshot below: 
Ссылка на PDF для скачивания читателями:
... you can [get the PDF](/assets/mydoc.pdf) directly.
Отображение списка записей
Создание индекса записей на другой странице должно быть простым благодаря Liquid и его тегам. Вот простой пример того, как создать список ссылок на записи вашего блога:
<ul>
{% for post in site.posts %}
<li>
<a href="{{ post.url }}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
Вы имеете полный контроль над тем, как (и где) отображать записи и как структурировать свой сайт. Если вы хотите узнать больше, ознакомьтесь с работой шаблонов с Jekyll.
Обратите внимание, что переменная post существует только внутри цикла for выше. Если вам нужно получить доступ к переменным текущей отображаемой страницы/записи (переменные записи/страницы, содержащей цикл for ), используйте переменную page.
Теги и Категории
Jekyll имеет первоклассную поддержку тегов и категорий в записях блога.
Теги
Теги записи определяются в метаданных записи, используя либо ключ tag для единственного значения, либо tags для нескольких значений.
Так как Jekyll ожидает несколько значений, сопоставленных с ключом tags, он автоматически разделит строковое значение, если оно содержит пробелы. Например, в то время как метаданные tag: classic hollywood будут обработаны как единый элемент "classic hollywood", метаданные tags: classic hollywood будут обработаны как массив элементов ["classic", "hollywood"].
Независимо от выбранного ключа в метаданных, Jekyll сохраняет метаданные, сопоставленные с множественным ключом, который доступен для шаблонов Liquid.
Все зарегистрированные на сайте теги доступны шаблонам Liquid через site.tags. Итерация по site.tags на странице вернёт другой массив с двумя элементами, где первый — имя тега, а второй — массив записей с этим тегом.
{% for tag in site.tags %}
<h3>{{ tag[0] }}</h3>
<ul>
{% for post in tag[1] %}
<li><a href="{{ post.url }}">{{ post.title }}</a></li>
{% endfor %}
</ul>
{% endfor %}
Категории
Категории записи работают аналогично тегам:
- Они могут быть определены в метаданных, используя ключи
categoryилиcategories(следуя той же логике, что и теги) - Все зарегистрированные на сайте категории доступны шаблонам Liquid через
site.categories, по которым можно итерироваться (аналогично циклу для тегов выше).
Однако, сходство между категориями и тегами заканчивается на этом.
В отличие от тегов, категории записей также могут быть определены по пути файла записи. Любая директория выше _post будет считаться категорией. Например, если запись находится по пути movies/horror/_posts/2019-05-21-bride-of-chucky.markdown, то movies и horror автоматически регистрируются как категории для этой записи.
Если в метаданных записи также определены категории, они просто добавляются к существующему списку, если их там нет.
Главное отличие между категориями и тегами заключается в том, что категории записи могут быть включены в сгенерированный URL для записи, а теги — нет.
Поэтому, в зависимости от наличия метаданных category: classic hollywood или categories: classic hollywood, пример записи выше будет иметь URL movies/horror/classic%20hollywood/2019/05/21/bride-of-chucky.html или movies/horror/classic/hollywood/2019/05/21/bride-of-chucky.html соответственно.
Выдержки из записей
Вы можете получить фрагмент содержимого записи, используя переменную excerpt для записи. По умолчанию это первый абзац содержимого записи, но его можно настроить, установив переменную excerpt_separator в метаданных или _config.yml.
--- excerpt_separator: <!--more--> --- Excerpt with multiple paragraphs Here's another paragraph in the excerpt. <!--more--> Out-of-excerpt
Вот пример вывода списка записей блога с выдержками:
<ul>
{% for post in site.posts %}
<li>
<a href="{{ post.url }}">{{ post.title }}</a>
{{ post.excerpt }}
</li>
{% endfor %}
</ul>
Черновики
Черновики — это записи без даты в имени файла. Это записи, над которыми вы все ещё работаете и пока не хотите публиковать. Для начала работы с черновиками создайте папку _drafts в корне вашего сайта и создайте свой первый черновик:
. ├── _drafts │ └── a-draft-post.md ...
Чтобы предварительно просмотреть свой сайт с черновиками, запустите jekyll serve или jekyll build со значением --drafts . Каждому будет назначено значение времени изменения файла черновика для его даты, и, таким образом, вы увидите текущие черновики как самые последние записи.
© 2020 Jekyll Core Team and contributors
Licensed under the MIT license.
https://jekyllrb.com/docs/posts/