Это репозиторий-хранилище русскоязычных фронтенд-митапов/-конференций.
Один эвент - один файл хранимый по пути ~/events/{event organizer}/{date} {event name}.yaml (например ~/events/WSD/2019-12-07 WSD 2019 - Минск.yaml).
Содержимое файла:
type Event = {
name: string
date: Date | [start: Date, end: Date]
videos?: string
talks: Talk[]
}name- название эвентаdate- дата проведения. Если занимает больше одного дня, то записывается массив с датой начала и датой окончанияvideos- необязательная ссылка на видеотрансляцию или плейлистtalks- список докладов, в некоторых случаях может быть пустым.
Модель доклада:
type Talk = {
name: string
altName?: string
speaker: string
video?: string
presentation?: string
code?: string
text?: string
lang?: string
tags?: string[]
}name- название докладаaltName- иногда спикер читает один и тот же (или с лёгкими вариациями) доклад на разных митапах и меняет его название. Для того чтобы такие доклады группировались в один на странице спикера, можно для более свежих докладов указатьaltNameодинаковым сnameсамого раннего доклада.speaker- "Имя Фамилия" спикера. Если неизвестно, то допустимо указать "Unknown"video- необязательная ссылка на видеоpresentation- необязательная ссылка на презентациюcode- необязательная ссылка на примеры кода, используемые в докладеtext- необязательная ссылка на текстовую версию докладаlang- устаревшее поле. Заполняется только если язык доклада отличается от русского. Ранее в репозиторий были добавлены видео на английском и украинском языках. Я склонен оставить этот репозиторий для хранения только русскоязычных докладов, поэтому этот тег в будущем будет удалён.tags- устаревшее поле. Ранее хотелось докладам давать некие теги, по которым можно было бы фильтровать доклады. Но при файловой системе хранения сложно гарантировать консистентность таких тегов и задумка сошла на нет. Существующиеtagsпока остались, новые не добавляются.
- Руками или кодом сгенерировать
*.yamlфайлы - Закоммитить и запушить изменения
- Вы великолепны!
- Удостовериться что установлена достаточно свежая версия Node.js
- Выполнить
corepack enableв корне репозитория - Установить зависимости:
yarn install - Установить git-хуки:
yarn prepare
Теперь при пуше изменений выполнится препуш-хук, который сгенерирует *.md файлы.
Сгенерировать файлы можно и вручную выполнив node scripts/index.js.