A maioria dos sites Jekyll fica no GitHub Pages, que faz o build por você, mas só com os plugins que o GitHub permite e só a partir de um repositório. Fazer o build do Jekyll você mesmo acaba com os dois limites: rode bundle exec jekyll build e o site pronto fica em _site/. Depois, npx lobsite o coloca no ar num endereço *.lobsite.app com HTTPS, com formulários que o GitHub Pages não tem.
Como funciona
- Faça o build do site com
JEKYLL_ENV=production bundle exec jekyll build. O Jekyll o escreve em_site/. - Rode
npx lobsitena pasta do site. Ele encontra_site/e publica. O primeiro deploy não precisa de conta e dura 6 horas. - Mantenha-o com o link de resgate, numa conta gratuita. Depois disso, os mesmos dois comandos atualizam o mesmo endereço.
Saindo do GitHub Pages
- Qualquer plugin funciona. O GitHub Pages só roda os plugins da gem
github-pages. Quando você faz o build, tudo o que está no seuGemfileroda, inclusive o que o GitHub Pages recusa. baseurlcostuma ser/repo-namenum site de projeto do GitHub Pages. No Lobsite o site é servido a partir da raiz do endereço, então definabaseurl: ""no_config.ymleurlcomo o seu endereço*.lobsite.app.- A gem
github-pagespode ser trocada porjekyllpuro no seuGemfile, e você escolhe a versão do Jekyll em vez do GitHub. - Não precisa de repositório. O site pode continuar no Git, mas o deploy não depende de um push.
Redirecionamentos, formulários e feeds
O jekyll-redirect-from cria páginas HTML que redirecionam com JavaScript ou meta refresh. No Lobsite você pode usar redirecionamentos 301 de verdade no lobsite.toml, que os buscadores tratam como mudança de endereço; o Gerador de redirecionamentos os escreve para você. Formulários que enviam para /_lobsite/forms/contact recebem os envios com filtro de spam quando o site está numa conta, sem Formspree nem outro serviço. Feeds do jekyll-feed e sitemaps do jekyll-sitemap são arquivos em _site/ e são servidos como estão.
Os arquivos são guardados pelo hash. Refazer o deploy de um site sem mudanças envia 0 bytes.
Veja a prévia antes de ir ao ar. Volte atrás com um clique, redirecionamentos inclusos.
Aponte um formulário para /_lobsite/forms/contact. Filtro de spam incluso.
Todo site ganha um endereço *.lobsite.app com HTTPS desde o primeiro deploy.
Redirecionamentos, cabeçalhos e formulários ficam no lobsite.toml e acompanham cada deploy.
Um deploy sem conta fica no ar por 6 horas. O link de resgate o mantém, de graça.
Hospedagens para Jekyll comparadas
| Lobsite | GitHub Pages | Netlify | |
|---|---|---|---|
| Faz o build do Jekyll por você | Não: você publica _site/ |
Sim | Sim |
| Plugins | Qualquer um | O conjunto github-pages, ou qualquer um com GitHub Actions |
Qualquer um |
| Exige um repositório | Não | Sim | Para deploys via Git |
| Conta antes do primeiro deploy | Não: no ar por 6 horas, depois mantenha grátis | Sim | Sim |
| Formulários sem backend | Sim, quando o site está numa conta | Não | Sim |
| Domínio próprio | Sim, grátis | Sim, grátis | Sim, grátis |
O GitHub Pages é grátis com domínio próprio e é uma ótima casa para um site Jekyll que cabe nas regras dele. O Lobsite é para quando você quer qualquer plugin, redirecionamentos de verdade ou formulários, e um deploy que é um comando a partir da sua máquina.
Perguntas frequentes
Posso usar plugins do Jekyll que o GitHub Pages não permite?
Sim. Você faz o build do site, então todo plugin do seu Gemfile roda. O Lobsite só hospeda o resultado em _site/.
O CSS do meu site Jekyll sumiu depois de sair do GitHub Pages. Por quê?
Provavelmente baseurl ainda está com o nome do repositório, então os links apontam para /repo-name/assets/.... Defina baseurl: "" no _config.yml, faça o build de novo e publique.
Preciso de Ruby na máquina que faz o deploy?
Você precisa de Ruby para fazer o build do Jekyll, como sempre. O deploy precisa de Node.js para o npx lobsite; sem ele, solte _site/ na caixa acima.
Posso manter meu site Jekyll num repositório do GitHub?
Sim. Deixe o código-fonte onde está e publique da sua máquina. Publicar a partir do GitHub Actions exige um token de CI, que vem com o plano pago, em breve.