Статическая русскоязычная база знаний TokenBel: руководства, справочные материалы и статистика рынка белорусских токенов. Сайт собирается Hugo и публикуется на https://wiki.tokenbel.info/.
- Docker;
- GNU Make;
- Git;
- Node.js и npm (для Tailwind CSS 4 build dependencies).
Hugo запускается в Docker-образе hugomods/hugo:0.164.0, поэтому локальная версия Hugo не требуется и совпадает с версией сборки.
Установите pinned Node.js-зависимости, включая Tailwind CSS 4:
npm ciЗапустите live-reload сервер:
make devОткройте http://localhost:1313/. Порт можно изменить: make dev PORT=8080.
Для production-подобного запуска соберите статический сайт:
make buildСобранный сайт появится в public/. Эта директория — build artifact и не коммитится. Деплой настраивается отдельно.
Доступные команды:
make help показать команды
make version вывести версию Hugo
make css-build пересобрать committed CSS output и minified CSS
make css-watch следить за input.css и обновлять output.css
make dev запустить live-reload сервер с draft/future страницами
make build собрать production-сайт в public/
make check проверить актуальность CSS и основной HTML-вывод
make cloudflare-build выполнить pinned production build для Cloudflare
make deploy-dry-run проверить Cloudflare deploy без публикации
make deploy опубликовать Worker и static assets
make clean удалить артефакты сборки
make serve — алиас для make dev. Переменная HUGO_IMAGE позволяет переопределить Docker-образ, а HUGO_VERSION — версию Hugo.
Production deployment uses Cloudflare Workers Static Assets.
- Production branch:
main - Worker:
tokenbel-wiki - Production domain:
wiki.tokenbel.info - Build:
./build.sh - Deploy:
make deploy(ornpm run deploy)
Подробные настройки Workers Builds, staging, custom domain и rollback описаны в docs/deployment.md. Подключение production domain выполняется только после отдельно подтверждённой staging-проверки.
content/— Markdown-контент и front matter;content/<section>/_index.md— landing page раздела;layouts/— локальные Hugo-шаблоны и partials, без внешней темы;static/css/input.css— Tailwind CSS 4 source;static/css/output.cssиstatic/css/tailwind.min.css— committed CLI output для development и production;static/— статические файлы, копируемые Hugo без обработки.
Создайте content/<section>/_index.md с title, description, weight и одним из значений icon: news, chart, guide, document, info. Главная страница автоматически показывает разделы из site.Sections, сортируя их по weight.
Используйте leaf bundle, чтобы Markdown и вложения находились рядом:
content/guides/ytm/
├── index.md
├── chart.webp
└── example.xlsx
В front matter статьи можно задать стабильный URL и прежние адреса при миграции BookStack:
url: "/books/rukovodstvo-polzovatelia/page/doxodnost-k-pogaseniiu-ytm/"
aliases:
- "/link/42/"make version
make checkДля CSS-сборки требуются pinned Node.js-зависимости из package-lock.json; внешняя Hugo-тема не используется. Standalone @tailwindcss/cli собирает static/css/input.css в committed output.css и minified tailwind.min.css — Hugo только копирует их в public/.
После изменения Tailwind classes в шаблонах или input.css выполните:
make css-build
make checkДля production-подобной сборки используйте:
./build.sh