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.com/{width}x{height}/{bg}/{fg}?prompt=.... Изображения генерируются при первом запросе и кешируются 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](https://github.com/hubcms-dot/githubcms) 2. Создайте файл `.env` с `VITE_SITE_URL=https://yourdomain.com` 3. Настройте GitHub Secrets для деплоя 4. Создайте первую статью в `content/blog/` 5. Сделайте push — сайт соберётся автоматически