Как я собрал сайт-открытку и не заплатил ни рубля

12 июля 2026 1 мин чтения
cloudflarepythonинфраструктура

Мне нужен был сайт, который можно показать вместо резюме: пара проектов с инструкциями, несколько статей и фотографии с хакатонов. Условия — бесплатно и без возни с серверами.

Почему не готовый движок#

Сначала я честно попробовал большой фреймворк. Через полчаса в проекте было триста мегабайт node_modules, а сайт всё ещё показывал приветственную заглушку. Для открытки это перебор.

Что получилось в итоге#

Генератор на чистом Python: читает markdown из content/, кладёт готовый HTML в dist/.

site = load_site(root)
for post in site["posts"]:
    write(dist / "posts" / post["slug"] / "index.html", render_post(site, post))

Сборка занимает меньше секунды, зависимостей нет вообще — значит, нечему ломаться при обновлении.

Развёртывание#

  1. Залить репозиторий на GitHub.
  2. В Cloudflare Pages нажать «Connect to Git».
  3. Указать команду сборки и папку вывода.

Дальше каждый git push сам обновляет сайт. Cloudflare раздаёт статику через свою сеть, бесплатный тариф не ограничивает трафик.

Совет

Локально всё поднимается одной командой: python build.py serve — и правки видно сразу, без пересборки руками.

Итоги#

ЧтоРаньшеСтало
Размер проекта300 МБ400 КБ
Время сборки~20 с~0,3 с
Стоимость5 $/мес0

Оказалось, что для личного сайта хватает markdown, чуть-чуть HTML и одной идеи: не усложнять.