@@ -37,21 +37,32 @@ jobs:
3737
3838 - name : Build
3939 run : |
40- # Переименовываем index-html.md в index.md перед сборкой
41- cp lessons/index-html.md lessons/index.md.bak
42- cp lessons/index.md lessons/index.md.local
43- cp lessons/index-html.md lessons/index.md
40+ set -euo pipefail
4441
45- # Собираем статический сайт
46- npx reveal-md lessons/ --static dist --static-dirs=plugins
42+ # 1) Собираем главную страницу (индекс) из lessons/index.md
43+ npx reveal-md lessons/index.md \
44+ --static dist \
45+ --static-dirs ".reveal-md,lessons,plugins"
4746
48- # Восстанавливаем оригинальный index.md для локальной разработки
49- mv lessons/index.md.local lessons/index.md
50-
51- # Копируем дополнительные файлы
52- rsync -a -r lessons/ dist/
53- cp -r plugins dist/_assets/
54- cp -r .reveal-md dist/_assets/
47+ # 2) Собираем КАЖДЫЙ урок: lessons/**/lesson.md -> dist/<lessonXX>/lesson.html
48+ # Генерируем в корневую папку по имени урока и переименовываем index.html -> lesson.html
49+ shopt -s globstar nullglob
50+ for f in lessons/**/lesson.md; do
51+ lesson_dirname="$(dirname "$f")" # lessons/lessonXX
52+ lesson_name="$(basename "$lesson_dirname")" # lessonXX
53+ outdir="dist/${lesson_name}"
54+ mkdir -p "$outdir"
55+ npx reveal-md "$f" \
56+ --static "$outdir" \
57+ --static-dirs ".reveal-md,lessons,plugins"
58+ if [ -f "$outdir/index.html" ]; then
59+ mv "$outdir/index.html" "$outdir/lesson.html"
60+ fi
61+ # Копируем папку images урока рядом с lesson.html, если она есть
62+ if [ -d "${lesson_dirname}/images" ]; then
63+ cp -r "${lesson_dirname}/images" "$outdir/"
64+ fi
65+ done
5566
5667 - name : Setup Pages
5768 uses : actions/configure-pages@v3
0 commit comments