Większość stron Jekyll działa na GitHub Pages, które buduje je za Ciebie, ale tylko z wtyczkami dozwolonymi przez GitHub i tylko z repozytorium. Samodzielne budowanie Jekylla znosi oba ograniczenia: uruchom bundle exec jekyll build, a gotowa strona znajdzie się w _site/. Potem npx lobsite publikuje ją pod adresem *.lobsite.app z HTTPS, z formularzami, których GitHub Pages nie ma.
Jak to działa
- Zbuduj stronę przez
JEKYLL_ENV=production bundle exec jekyll build. Jekyll zapisze ją w_site/. - Uruchom
npx lobsitew folderze strony. Znajdzie_site/i go wdroży. Pierwsze wdrożenie nie wymaga konta i trwa 6 godzin. - Zachowaj ją linkiem do przejęcia, na darmowym koncie. Potem te same dwa polecenia aktualizują ten sam adres.
Przeprowadzka z GitHub Pages
- Działa każda wtyczka. GitHub Pages uruchamia tylko wtyczki z gemu
github-pages. Gdy budujesz sam, działa wszystko z TwojegoGemfile, także wtyczki odrzucane przez GitHub Pages. baseurlna stronie projektu w GitHub Pages to często/repo-name. W Lobsite strona jest serwowana od początku swojego adresu, więc ustawbaseurl: ""w_config.yml, aurlna swój adres*.lobsite.app.- Gem
github-pagesmożesz zamienić wGemfilena zwykłyjekyll, wtedy to Ty wybierasz wersję Jekylla, a nie GitHub. - Repozytorium nie jest potrzebne. Strona nadal może być w Gicie, ale wdrożenie nie zależy od pusha.
Przekierowania, formularze i kanały
jekyll-redirect-from tworzy strony HTML, które przekierowują przez JavaScript lub meta refresh. W Lobsite możesz zamiast tego użyć prawdziwych przekierowań 301 w lobsite.toml, które wyszukiwarki traktują jako przeniesienie; Generator przekierowań je napisze. Formularze wysyłające do /_lobsite/forms/contact zbierają zgłoszenia z filtrem spamu, gdy strona jest na koncie, bez Formspree ani innej usługi. Kanały z jekyll-feed i mapy strony z jekyll-sitemap to pliki w _site/ i są serwowane bez zmian.
Pliki są przechowywane według hasha. Ponowne wdrożenie niezmienionej strony wgrywa 0 bajtów.
Podgląd przed publikacją. Wycofanie jednym kliknięciem, razem z przekierowaniami.
Skieruj formularz na /_lobsite/forms/contact. Filtr spamu w zestawie.
Każda strona dostaje adres *.lobsite.app z HTTPS od pierwszego wdrożenia.
Przekierowania, nagłówki i formularze są w lobsite.toml i wędrują z każdym wdrożeniem.
Wdrożenie bez konta działa przez 6 godzin. Link do przejęcia pozwala je zatrzymać, za darmo.
Porównanie hostingów dla Jekylla
| Lobsite | GitHub Pages | Netlify | |
|---|---|---|---|
| Buduje Jekylla za Ciebie | Nie: wdrażasz _site/ |
Tak | Tak |
| Wtyczki | Dowolne | Zestaw github-pages albo dowolne z GitHub Actions |
Dowolne |
| Wymaga repozytorium | Nie | Tak | Dla wdrożeń z Gita |
| Konto przed pierwszym wdrożeniem | Nie: 6 godzin online, potem zachowaj za darmo | Tak | Tak |
| Formularze bez backendu | Tak, gdy strona jest na koncie | Nie | Tak |
| Własna domena | Tak, za darmo | Tak, za darmo | Tak, za darmo |
GitHub Pages jest darmowe z własną domeną i to dobre miejsce dla strony Jekyll, która mieści się w jego zasadach. Lobsite jest na wypadek, gdy chcesz dowolnych wtyczek, prawdziwych przekierowań lub formularzy i wdrożenia jednym poleceniem z własnego komputera.
Najczęstsze pytania
Czy mogę używać wtyczek Jekylla, na które GitHub Pages nie pozwala?
Tak. Budujesz stronę sam, więc działa każda wtyczka z Twojego Gemfile. Lobsite hostuje tylko wynik w _site/.
Po przeprowadzce z GitHub Pages na mojej stronie Jekyll brakuje CSS. Dlaczego?
baseurl prawdopodobnie nadal wskazuje nazwę repozytorium, więc linki prowadzą do /repo-name/assets/.... Ustaw baseurl: "" w _config.yml, zbuduj ponownie i wdróż.
Czy na komputerze, z którego wdrażam, potrzebuję Ruby?
Ruby jest potrzebne do budowania Jekylla, jak zawsze. Do wdrożenia potrzebny jest Node.js dla npx lobsite; bez niego upuść _site/ w polu powyżej.
Czy mogę trzymać stronę Jekyll w repozytorium GitHub?
Tak. Zostaw kod źródłowy tam, gdzie jest, i wdrażaj ze swojego komputera. Wdrażanie z GitHub Actions wymaga tokenu CI, który jest w płatnym planie, dostępnym wkrótce.