Зачем так делать
- сайт состоит из обычных файлов: быстро открывается и дёшево хостится;
- новая страница — это запись в файле данных, а не ручная вёрстка;
- общие части (шапка, подвал, разметка для поисковиков) меняются в одном месте.
Из чего состоит
- Файл с данными: список страниц с заголовком, описанием и текстом.
- Функция
page(), которая оборачивает содержимое в общий шаблон:<head>, шапку, подвал. - Цикл, который для каждой записи создаёт папку и
index.html. - Генерация
sitemap.xml,robots.txtиllms.txtпо списку страниц. - Одна команда:
python3 build.pyсобирает всё в папкуdist.
Что ещё важно
Экранируй пользовательский текст (html.escape), чтобы случайный символ не сломал страницу. Для чистых адресов вида /page/ создавай папка/index.html. Результат выкладывай на хостинг для статики, например Vercel.
Частые вопросы
Нужен ли Node.js?
Нет. Скрипт на чистом Python собирает сайт без установки пакетов.