Адаптивный тренажёр по материалам из корня репозитория. Содержит шесть тем, сессии по 20 вопросов, непрерывное покрытие темы и библиотеку исходных Markdown-файлов.
- Bun 1.2 или новее.
- Git — только для публикации на GitHub Pages.
cd web
bun install
bun run devОсновные команды:
bun run generate:materials # пересобрать каталог Markdown из корня
bun run validate:content # проверить 240 вопросов
bun run test
bun run lint
bun run check # все проверки и production build
bun run preview # проверить dist локальноscripts/generate-materials.mjs сканирует только корень репозитория и включает
в приложение все файлы .md и .markdown. Команда автоматически выполняется
перед production build. Редактировать src/generated/materials.json вручную не нужно.
- Отправьте изменения в основную ветку
master. - Откройте Settings → Pages.
- В поле Source выберите GitHub Actions.
- Сделайте push в
masterили запустите workflow Check and deploy GitHub Pages вручную. - После job
deployсайт будет доступен по адресуhttps://<owner>.github.io/<repository>/.
Workflow .github/workflows/deploy-pages.yml устанавливает зависимости,
запускает генерацию материалов, валидацию, lint, тесты и сборку, затем публикует
web/dist официальными GitHub Pages actions. Для pull request выполняются только проверки.
После настройки origin выполните:
cd web
bun run deploy:pagesСкрипт определит имя репозитория, соберёт приложение с правильным Vite base path
и опубликует dist через gh-pages. Он не изменяет git config.
Приложение использует HashRouter, поэтому GitHub Pages не нуждается в rewrite:
прямые ссылки вида /#/theory/README и их обновление работают без 404.html.
Если assets возвращают 404, проверьте VITE_BASE_PATH: для project page это
/<repository>/, для custom domain — /.
Для custom domain добавьте домен в Settings → Pages, настройте DNS и собирайте
с VITE_BASE_PATH=/. При необходимости добавьте файл web/public/CNAME.