Skip to content

Глава 4. Подключение VitePress

Мне хотелось не просто написать программу для перевода иероглифов, но также написать интресную и полезную историю и про иероглифы и про технологии. Убить, так сказать, сразу двух зайцев. Даже трех - еще и научиться понимать женскую логику египетские иероглифы (небольшой спойлер - этот заяц выжил).

При этом, мне не хотелось писать статью - во-первых, есть слишком большое кол-во мелких деталей, которые в статье будут лишние. Хотелось вести нечто-то вроде блога, описывать для себя и для безмерно благодарных потомков весь непростой процесс создания этого приложения. Во-вторых, статья обычно бывает посвящена одной линии - в ней сложно будет уместить вместе и иероглифы и web-технологии, а вот в блоге - запросто.

И раз уж имеется желание вести одновременно и блог и разработку, то стоит это делать в одном репозитории. А опубликовать можно будет на github.pages. И хотя там есть свой встроенный генератор статических сайтов jekyll, но мне не хотелось добавлять в проект Ruby, я решил выбрать что-нибудь более тайпскриптовое, а именно VitePress.

Не будем добавлять VitePress как отдельный проект Nx, просто заведем папку docs, добавим зависимости и запустим инициализую -

bash
$ npm i -D vitepress
$ npx vitepress init

Еще осталась небольшая проблема - VitePress создает директорию .vitepress/cash и складывает туда свои файлы, в том числе package.json, а это ломает сборку Nx. Поэтому стоит добавить директорию docs в .nxignore.

Ну вот, я могу вести разработку и блог одновременно -

bash
$ npx nx dev docs

Автогенерация сайдбара

Для автоматической генерации оглавления и переходов вперед-назад добавил плагин vitepress-sidebar

bash
$ npm i -D vitepress-sidebar

и прописал настройки в файле .vitepress/config.mts.

Деплой на github pages

Процесс деплоя детально описан на официальном сайте. Правда есть еще пара тонкостей

  • во-первых, задать бранч в настройках приложения - https://github.com/[name]/[project]/settings/pages
  • во-вторых, нужно прописать базовый путь