GitHub CMS: хостинг сайта через GitHub репозиторий

GitHub как CMS — это способ вести сайт без базы данных и бэкенда: контент хранится в репозитории, а сборка и деплой происходят автоматически при каждом push. Ниже — как это устроено и с чего начать.

GitHub CMS позволяет хранить контент сайта в Markdown-файлах прямо в репозитории GitHub. При пуше в main ветку GitHub Actions собирает статический сайт через Vue 3 + Vite SSG и деплоит его на VPS. Никаких баз данных, никаких ежемесячных платежей за SaaS-платформы.

Ключевые факты

  • Контент хранится в content/blog/YYYY-MM-DD-slug.md — обычные текстовые файлы с YAML frontmatter.
  • Сборка происходит через vite-ssg — на выходе статические HTML/CSS/JS файлы.
  • SEO из коробки: sitemap.xml, robots.txt, Open Graph, Twitter Cards, JSON-LD.
  • Изображения генерируются через PixInLink по публичному URL.
  • Деплой на VPS через rsync по SSH — полный контроль над сервером.

FAQ

Начать работу

  1. Клонируйте репозиторий githubcms
  2. Создайте файл .env с VITE_SITE_URL=https://yourdomain.com
  3. Настройте GitHub Secrets для деплоя
  4. Создайте первую статью в content/blog/
  5. Сделайте push — сайт соберётся автоматически