Большинство сайтов на Jekyll живут на GitHub Pages, который собирает их за вас, но только с разрешёнными GitHub плагинами и только из репозитория. Если собирать Jekyll самому, оба ограничения исчезают: выполните bundle exec jekyll build, и готовый сайт окажется в _site/. Затем npx lobsite опубликует его по адресу *.lobsite.app с HTTPS и с формами, которых нет у GitHub Pages.
Как это работает
- Соберите сайт командой
JEKYLL_ENV=production bundle exec jekyll build. Jekyll запишет его в_site/. - Выполните
npx lobsiteв папке сайта. Он найдёт_site/и задеплоит её. Первый деплой не требует аккаунта и живёт 6 часов. - Сохраните сайт по ссылке для получения в бесплатном аккаунте. После этого те же две команды обновляют тот же адрес.
Переезд с GitHub Pages
- Работает любой плагин. GitHub Pages запускает только плагины из гема
github-pages. Когда вы собираете сами, работает всё из вашегоGemfile, включая то, что GitHub Pages отклоняет. baseurlна сайте проекта в GitHub Pages часто равен/repo-name. В Lobsite сайт отдаётся от корня своего адреса, поэтому укажитеbaseurl: ""в_config.yml, аurl— ваш адрес*.lobsite.app.- Гем
github-pagesможно заменить вGemfileна обычныйjekyll— тогда версию Jekyll выбираете вы, а не GitHub. - Репозиторий не нужен. Сайт может по-прежнему жить в Git, но деплой не зависит от push.
Перенаправления, формы и ленты
jekyll-redirect-from создаёт HTML-страницы, которые перенаправляют через JavaScript или meta refresh. В Lobsite вместо этого можно использовать настоящие перенаправления 301 в lobsite.toml, которые поисковики считают переездом; Генератор перенаправлений напишет их за вас. Формы, отправляющие данные на /_lobsite/forms/contact, собирают заявки с фильтром спама, когда сайт в аккаунте, без Formspree и других сервисов. Ленты из jekyll-feed и карты сайта из jekyll-sitemap — это файлы в _site/, и они отдаются как есть.
Файлы хранятся по хешу. Повторный деплой неизменённого сайта загружает 0 байт.
Предпросмотр до публикации. Откат в один клик — вместе с перенаправлениями.
Направьте форму на /_lobsite/forms/contact. Фильтр спама включён.
Каждый сайт получает адрес *.lobsite.app с HTTPS с первого деплоя.
Перенаправления, заголовки и формы хранятся в lobsite.toml и переезжают с каждым деплоем.
Деплой без аккаунта работает 6 часов. Ссылка для получения сохранит его бесплатно.
Сравнение хостингов для Jekyll
| Lobsite | GitHub Pages | Netlify | |
|---|---|---|---|
| Собирает Jekyll за вас | Нет: вы деплоите _site/ |
Да | Да |
| Плагины | Любые | Набор github-pages или любые через GitHub Actions |
Любые |
| Нужен репозиторий | Нет | Да | Для деплоя из Git |
| Аккаунт до первого деплоя | Нет: 6 часов онлайн, затем сохраните бесплатно | Да | Да |
| Формы без бэкенда | Да, когда сайт в аккаунте | Нет | Да |
| Свой домен | Да, бесплатно | Да, бесплатно | Да, бесплатно |
GitHub Pages бесплатен со своим доменом и хорошо подходит сайту на Jekyll, который укладывается в его правила. Lobsite — для случаев, когда нужны любые плагины, настоящие перенаправления или формы и деплой одной командой со своего компьютера.
Частые вопросы
Можно ли использовать плагины Jekyll, которые GitHub Pages не разрешает?
Да. Вы собираете сайт сами, поэтому работает каждый плагин из вашего Gemfile. Lobsite только размещает результат из _site/.
После переезда с GitHub Pages у моего сайта на Jekyll пропал CSS. Почему?
Скорее всего, в baseurl всё ещё указано имя репозитория, и ссылки ведут на /repo-name/assets/.... Укажите baseurl: "" в _config.yml, пересоберите и задеплойте.
Нужен ли Ruby на компьютере, с которого идёт деплой?
Ruby нужен для сборки Jekyll, как всегда. Для деплоя нужен Node.js ради npx lobsite; без него перетащите _site/ в поле выше.
Можно ли хранить сайт на Jekyll в репозитории GitHub?
Да. Оставьте исходники на месте и деплойте со своего компьютера. Для деплоя из GitHub Actions нужен CI-токен, который входит в платный тариф, — он скоро появится.