대부분의 Jekyll 사이트는 GitHub Pages에 있습니다. 빌드를 대신해 주지만 GitHub가 허용하는 플러그인만, 저장소에서만 가능합니다. Jekyll을 직접 빌드하면 두 제한이 모두 사라집니다. bundle exec jekyll build를 실행하면 완성된 사이트가 _site/에 있습니다. 그런 다음 npx lobsite로 HTTPS가 적용된 *.lobsite.app 주소에 공개하며, GitHub Pages에 없는 폼도 사용할 수 있습니다.
작동 방식
JEKYLL_ENV=production bundle exec jekyll build로 사이트를 빌드하세요. Jekyll이_site/에 작성합니다.- 사이트 폴더에서
npx lobsite를 실행하세요._site/를 찾아 배포합니다. 첫 배포는 계정이 필요 없으며 6시간 동안 유지됩니다. - 가져오기 링크로 무료 계정에 사이트를 유지하세요. 그 후 같은 두 명령어로 같은 주소가 업데이트됩니다.
GitHub Pages에서 옮기기
- 모든 플러그인이 작동합니다. GitHub Pages는
github-pagesgem의 플러그인만 실행합니다. 직접 빌드하면 GitHub Pages가 거부하는 것을 포함해Gemfile의 모든 것이 실행됩니다. - **
baseurl**은 GitHub Pages 프로젝트 사이트에서 보통/repo-name입니다. Lobsite에서는 사이트가 주소의 최상위에서 제공되므로_config.yml에서baseurl: ""로 설정하고,url을*.lobsite.app주소로 설정하세요. github-pagesgem은Gemfile에서 일반jekyll로 바꿀 수 있어 Jekyll 버전을 GitHub가 아닌 내가 선택합니다.- 저장소가 필요 없습니다. 사이트는 계속 Git에 둘 수 있지만, 배포는 push에 의존하지 않습니다.
리디렉션, 폼, 피드
jekyll-redirect-from은 JavaScript나 메타 새로고침으로 리디렉션하는 HTML 페이지를 만듭니다. Lobsite에서는 대신 lobsite.toml에서 실제 301 리디렉션을 사용할 수 있으며, 검색 엔진은 이를 이전으로 처리합니다. 리디렉션 생성기가 작성해 줍니다. /_lobsite/forms/contact로 전송하는 폼은 사이트가 계정에 있으면 스팸 필터링과 함께 제출을 받으며, Formspree 같은 서비스가 필요 없습니다. jekyll-feed의 피드와 jekyll-sitemap의 사이트맵은 _site/의 파일이며 그대로 제공됩니다.
파일은 해시로 저장됩니다. 변경되지 않은 사이트를 다시 배포하면 0바이트가 업로드됩니다.
공개 전에 미리 보세요. 리디렉션까지 포함해 클릭 한 번으로 롤백합니다.
폼의 대상을 /_lobsite/forms/contact로 지정하세요. 스팸 필터링이 포함됩니다.
모든 사이트는 첫 배포부터 HTTPS가 적용된 *.lobsite.app 주소를 받습니다.
리디렉션, 헤더, 폼은 lobsite.toml에 있으며 각 배포와 함께 이동합니다.
계정 없는 배포는 6시간 동안 공개됩니다. 가져오기 링크로 무료로 유지할 수 있습니다.
Jekyll 호스트 비교
| Lobsite | GitHub Pages | Netlify | |
|---|---|---|---|
| Jekyll 빌드 | 아니요: _site/ 배포 |
예 | 예 |
| 플러그인 | 모두 | github-pages 세트, 또는 GitHub Actions로 모두 |
모두 |
| 저장소 필요 | 아니요 | 예 | Git 배포 시 |
| 첫 배포 전 계정 | 불필요: 6시간 공개 후 무료로 유지 | 필요 | 필요 |
| 백엔드 없는 폼 | 예, 사이트가 계정에 있으면 | 아니요 | 예 |
| 커스텀 도메인 | 예, 무료 | 예, 무료 | 예, 무료 |
GitHub Pages는 커스텀 도메인도 무료이며 규칙에 맞는 Jekyll 사이트에 좋은 선택입니다. Lobsite는 모든 플러그인, 실제 리디렉션이나 폼, 내 컴퓨터에서 명령어 하나로 하는 배포를 원할 때 적합합니다.
자주 묻는 질문
GitHub Pages가 허용하지 않는 Jekyll 플러그인을 사용할 수 있나요?
네. 사이트를 직접 빌드하므로 Gemfile의 모든 플러그인이 실행됩니다. Lobsite는 _site/의 결과만 호스팅합니다.
GitHub Pages에서 옮긴 후 Jekyll 사이트의 CSS가 사라졌습니다. 왜 그런가요?
baseurl이 아직 저장소 이름으로 설정되어 있어 링크가 /repo-name/assets/...를 가리킬 수 있습니다. _config.yml에서 baseurl: ""로 설정하고, 다시 빌드하여 배포하세요.
배포하는 컴퓨터에 Ruby가 필요한가요?
Jekyll을 빌드하려면 언제나처럼 Ruby가 필요합니다. 배포에는 npx lobsite를 위한 Node.js가 필요하며, 없으면 위 상자에 _site/를 끌어다 놓으세요.
Jekyll 사이트를 GitHub 저장소에 계속 둘 수 있나요?
네. 소스는 그대로 두고 내 컴퓨터에서 배포하세요. GitHub Actions에서 배포하려면 곧 제공될 유료 플랜에 포함된 CI 토큰이 필요합니다.