Skip to content

Написание контента

bedlamzd edited this page Nov 23, 2020 · 4 revisions

Написание контента

Содержание

  1. ВАЖНАЯ ИНФОРМАЦИЯ
  2. Как заполнить информацию о себе
  3. Как писать посты
  4. Как оформить страницу проекта
  5. Вставка картинок
    1. Одиночные
    2. Галерея
  6. Вставка ссылок
  7. Вставка кода
  8. Особое форматирование
  9. Добавление данных в конфиги
  10. Полезные ссылки

ВАЖНАЯ ИНФОРМАЦИЯ

В этом разделе я постараюсь коротко описать как работать с Jekyll, а именно: обязательные вещи, как делать вставки, назначать переменные и использовать переменные.

В конце раздела будет список полезных ссылок, их можно читать по мере необходимости.

Обязательно

В каждом маркдаун файле (с расширением .md) в самом начале ОБЯЗАТЕЛЬНО пишется

---
---

Это называется front matter и без неё ваш файл не сгенерируется в страницу на сайте. front matter также используется для задания параметров страницы и локальных переменных.

Подробнее

Переменные

Я приведу информацию коротко и упрощённо, за деталями сюда

Обращение к переменным

В общем виде обращение к переменным делается так: {{ VARIABLE }}

Объявление переменных

Переменные можно объявить следующими способами:

  1. В тексте

    1. assign тэг
    {% assign VARIABLE = "My string" %}
    1. capture блок
    {% capture VARIABLE %}
        Some string I want to capture
    {% endcapture %}
    1. yaml блок
    {% yaml VARIABLE %}
        - KEY1: foo
        - KEY2: bar
    {% endyaml %}
  2. 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). О том как добавлять данные в эти конфиги здесь.

Локальные переменные

Это переменные доступные только на вашей странице и к ним я отношу:

  1. Данные страницы - переменная page, для всех страниц автогенерируется.

    В ней доступны имя файла, путь до файла, ссылка на страницу на сайте для этого файла и т.д.

    Полный список

  2. Переменные, определённые во front matter. Это переменные которые вы назначаете сами в заголовке.

  3. Переменные, обявленные через блоки (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 - проект заморожен, работа над ним может возобновиться

Как писать посты

На сайте посты могут относиться к проектам или же быть глобальными. В посте вы рассказываете, что хотите (скорее всего это какие то новости).

Полезные ссылки

Jekyll документация

Jekyll CheatSheet

Переменные

front matter