Это репозиторий-хранилище русскоязычных фронтенд-митапов/-конференций.
Один эвент - один файл хранимый по пути ~/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
.