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

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

Q: Нужен ли мне сервер с Node.js? A: Нет. После сборки сайт состоит только из статических файлов — HTML, CSS, JS. Достаточно nginx на Ubuntu VPS.

Q: Можно ли использовать GitHub Pages вместо VPS? A: Да, GitHub Pages поддерживается как альтернативный target деплоя. Но VPS рекомендуется как основной вариант для полного контроля над nginx, SSL и кешированием.

Q: Что если мне нужно редактировать контент без гита? A: Вы можете редактировать Markdown-файлы прямо в веб-интерфейсе GitHub. После коммита в main сайт пересобирается автоматически.

Q: Как добавить изображения в статьи? A: Используйте PixInLink URL в формате https://pixinlink.ru/api/v1/{width}x{height}/{prompt-slug}. Изображения генерируются при первом запросе и кешируются CDN.

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

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