@Mr-Governor
Губернирую

Как хранить сайт на гитхабе?

Не знаю как грамотно сформулировать, но есть некоторые сайты которые предлагают внести правки в статьи/страницы сделав пулл реквест в их гитхаб.
Интересует как работает такая концепция и как реализовать такое самостоятельно?
То есть что бы страницы хранились в гит-репозитории и при обновлении соответственно обновлялась страница.

Не много слышал про CI/CD, но не уверен что это то что нужно.

Пример сайта который позволяет редактировать свои статьи пулл-реквестом: https://doka.guide/
  • Вопрос задан
  • 1889 просмотров
Решения вопроса 7
Get-Web
@Get-Web
Front-End Developer
Видео от Вадима Макеева, одного из участников проекта Дока: https://www.youtube.com/watch?v=hevU4NdIsoU
Ответ написан
Комментировать
paran0id
@paran0id
Умный, но ленивый
Можно задействовать https://www.netlify.com - там даже на бесплатном тарифе это работает.
Ответ написан
Alex_mos
@Alex_mos
Google всему голова
Сайт «Доки» работает на базе Eleventy. При помощи Nunjucks-темплейтов Eleventy превращает статьи в формате Markdown в HTML-страницы.

Проект собирается с помощью GitHub Actions и хостится на сервере, читайте подробнее про деплой


У них вроде в репозиторий все расписано, если брать конкретно сайт doka.

Если нужно разместить сайт на GitHub то в интернете много информации по этому вопросу
Ответ написан
Комментировать
delphinpro
@delphinpro
frontend developer
Технически и самому сделать просто.
Пишется небольшой скрипт, который будет скачивать репозиторий и обновлять статьи.
На гитхабе может быть настроен хук, который буде дергать этот скрипт при определенных событиях в репе. Или вручную периодически его запускать. Или по крону.
Статьи могут заливаться в базу из полученных файлов репозитория, а может быть просто сделан markdown парсер, который будет на лету отображать страницы скаченного репо.
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега Веб-разработка
♬♬
github pages

  1. создать репо с названием username.github.io, где username – точное имя вашего аккаунта или организации, в которой это репо
  2. в нём создать index.html
  3. запушить в основную ветку main
  4. открыть https://username.github.io


Потом можно настроить и свой домен на этот сайт.

Единственная неприятность, если сайт требует билда скриптов и прочего, в итоге придётся коммитить и скомпилированные файлы.
Ответ написан
Комментировать
@JRBRO
Тоже искал в свое время как это сделать, в итоге выбрал netlify.

Но тут вы можете почитать
Ответ написан
Комментировать
xenon
@xenon
Too drunk to fsck
Хостить такие статические сайты можно на разных хостингах: github pages, gitlab pages (да, у них же хостите и гит-репозиторий и у них же сайт), netlify, cloudflare pages.

Общая схема: если хостинг там же, где и репозиторий, то обычно через CI/CD делается. Если снаружи (например, репозиторий на гитхабе, а хостинг на cloudflare), то при обновлении репозитория дергается хук и хостинг выкачивает новые странички себе.

Возможно вам будет интересно почитать про концепцию JAMstack, это как бы "старые" статические сайты (которые быстро загружаются из CDN, не рендерятся на сервере), как из 90-ых, но со всеми фичами из XXI века через javascript API. Вот авто-обновление контента на хостинге из репозитория - это часть JAMstack.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы