-
Notifications
You must be signed in to change notification settings - Fork 0
Написание контента
- ВАЖНАЯ ИНФОРМАЦИЯ
- Как заполнить информацию о себе
- Как писать посты
- Как оформить страницу проекта
- Вставка картинок
- Одиночные
- Галерея
- Вставка ссылок
- Вставка кода
- Особое форматирование
- Добавление данных в конфиги
- Полезные ссылки
В этом разделе я постараюсь коротко описать как работать с Jekyll, а именно: обязательные вещи, как делать вставки, назначать переменные и использовать переменные.
В конце раздела будет список полезных ссылок, их можно читать по мере необходимости.
В каждом маркдаун файле (с расширением .md
) в самом начале ОБЯЗАТЕЛЬНО
пишется
---
---
Это называется front matter
и без неё ваш файл не сгенерируется в страницу на
сайте. front matter
также используется для задания параметров страницы и
локальных переменных.
Я приведу информацию коротко и упрощённо, за деталями сюда
В общем виде обращение к переменным делается так: {{ VARIABLE }}
Переменные можно объявить следующими способами:
-
В тексте
-
assign
тэг
{% assign VARIABLE = "My string" %}
-
capture
блок
{% capture VARIABLE %} Some string I want to capture {% endcapture %}
-
yaml
блок
{% yaml VARIABLE %} - KEY1: foo - KEY2: bar {% endyaml %}
-
-
front matter
--- VARIABLE: - KEY1: foo - KEY2: bar ---
У сайта есть _config.yml
файл, а также _data
директория, в которых собраны
важные данные. Например путь к лого сайта, данные об участниках, ссылки на соцсети и т.д.
Эти данные Jekyll позволяет использовать при написании контента и я настоятельно рекомендую их просмотреть и пользоваться, т.к. это позволит исправлять ссылки не меняя кучу контентных файлов.
К переменным из конфига, например description
, обращение происходит так:
{{ site.description }}
. Если хочется обратиться к переменным в _data
, например
получить ссылку на телеграм, то так: {{ site.data.social.telegram.link }}
(т.е.
у сайта есть папка _data
, в которой лежит social.yml
файл, в котором
задана переменная telegram
и у неё есть параметр link
).
О том как добавлять данные в эти конфиги здесь.
Это переменные доступные только на вашей странице и к ним я отношу:
-
Данные страницы - переменная
page
, для всех страниц автогенерируется.В ней доступны имя файла, путь до файла, ссылка на страницу на сайте для этого файла и т.д.
-
Переменные, определённые во
front matter
. Это переменные которые вы назначаете сами в заголовке. -
Переменные, обявленные через блоки (
assign
,capture
...)
Вся информация об участниках лаборатории лежит в _data/member.yml
и содержит следующую структуру:
memberid: # Уникальный идентификатор, используется для указания в authors или team проекта
name: Василий Петрович # Указывается в постах и проектах, как и в карточке участника
active: true # Состоит ли сейчас участник в лаборатории
avatar: assets/images/members/vasyan.jpg
links: # Любые ссылки, которые хочется указать.
email: # Идентификатор ссылки (если надо обратиться)
link: mailto:[email protected] # сама ссылка
text: Почта # Необязательное поле, что показывать вместо голой ссылки
site:
link: https:/vasyan.bl/
telegram:
link: https://t.me/vasyan
text: Telegram
description: | # Описание себя любимого
Главный мехатроник
Также в вашем описании появится список проектов, в которых вы на данный момент участвуете. Для этого нужно вписать свой memberid
в поле team
в файле проекта. А если указать memberid
в authors
(или author
) поста, то ваше имя отобразится в списке авторов в заголовке.
Ограничений по пунктам нет, однако лучше проверять как это в конечном итоге выглядит.
Все проекты лежат в папке projects
. Чтобы создать страницу проекта сначала создайте папку по названию проекта БЕЗ ПРОБЕЛОВ И СПЕЦ СИМВОЛОВ, т.е. чтобы это название можно было использовать как адрес. Например project-name
.
Затем создайте файл index.md
и в самом его начале ОБЯЗАТЕЛЬНО вставьте следующее:
---
pagination: # Сервисная инфа для отображения постов проекта
enabled: true #
category: project-name # category ДОЛЖНА совпадать с именем папки проекта
title: Project Name # пишите как угодно, используется в заголовках и т.д.
cover: site.logo # пока не используется, но типа обложка проекта
status: active # может быть одним из трёх: active | finish | frozen
team: # участники, работающие над проектом
- bedlamzd
- mexatronik
---
После этого пишите как в обычном markdown файле о проекте. Тут следует указать цели проекта, в чём его суть. Также на этой странице будут отображаться посты, связанные с этим проектом.
На данный момент у проекта может быть одно из трёх состояний:
- active - проект развивается и над ним ведётся работа
- finish - проект доведёт до логического конца или окончательно закрыт
- frozen - проект заморожен, работа над ним может возобновиться
На сайте посты могут относиться к проектам или же быть глобальными. В посте вы рассказываете, что хотите (скорее всего это какие то новости).