하위 모듈을 사용하여 보조 Jekyll 웹 사이트를 포함하는 방법
경고
이 기사에서 설명하는 기술은 Ruby/bundler를 실행하고 Jekyll 사이트를 구축할 수 있는 HTTP 서버를 소유하고 있다고 가정합니다.
이 기술은 GitHub 페이지에서 사용할 수 없습니다.
문제
몇 달 동안 Jekylling을 한 후 로컬에서 사이트를 구축하고
scp
, rsync
등으로 업로드하는 것이 지루하다는 것을 알았습니다. 내 사이트가 서버에 구축되기를 원했기 때문에 그렇게 했습니다.그런 다음 웹 사이트의 "루트 디렉토리"에서 블로그를 호스팅하는 다른 웹 사이트가 있고 그 내부의 다른 Jekyll 사이트에서 다른 Jekyll 사이트를 제공한다는 것을 깨달았습니다.
구체적으로, 내 개발 블로그가 있었고 하위 디렉토리에 제품 페이지도 있었고 해당 페이지는
_data
디렉토리 등을 활용했습니다. 두 블로그를 서로 다른 리포지토리로 격리하여 별도로 소스를 제어할 수 있다면 덜 혼란스러울 것입니다.https://example.com/ # A Jekyll site (A)
|- /2022/06/20 # Root level blog for site (A)
|- /another_product # Separate Jekyll site (B)
저는 Jekyll 구성을 만지작거리고 성공했습니다. 여기에서 여러분과 공유하겠습니다.
TL; DR
source: ["src"] # The source directory you have created.
cd submodule_site
JEKYLL_ENV=production bundle exec jekyll build
cd ..
cd $PROJECT_ROOT/_site
ln -s ../submodule_site/_site submodule_site # This will be a part of your actual link!
keep_files: ["submodule_site"]
먼저 먼저
이와 같은 작업을 수행할 때 다른 Jekyll 웹사이트를 하위 모듈로 포함하면 Jekyll이 혼동될 수 있으므로 웹사이트 소스를 원하는 디렉토리로 옮기는 것을 고려해야 합니다.
이는 기본적으로 프로젝트 루트에 있는 대부분의 항목이 블로그의 소스로 간주되기 때문입니다. 그런 곳에 또 다른 Jekyll 프로젝트가 있으면 모든 것이 망가질 수 있습니다.
이 작업을 수행하는 방법에 대한 내 다른 게시물을 참조하십시오.
"소스" Jekyll 구성을 사용하여 배포 실수 방지
C. 플러그 ・ 5월 22일 ・ 1분 읽기
#jekyll
#ruby
지킬은 깨끗한 플레이를 원한다
하위 모듈 사이트의 출력 디렉토리에 대한 심볼릭 링크를 소스 디렉토리(기본적으로 프로젝트 루트)에 넣으면 어떤 이유로 빌드 시 모든 것이 폭발합니다.
이제 우리가 할 수 있는 유일한 일은 하위 모듈 사이트의 출력 디렉터리에 대한 심볼릭 링크를 루트 사이트의 출력 디렉터리로 만드는 것입니다.
cd root_site/_site
ln -s ../submodule_site/_site submodule_site
그러나 빌드할 때마다
_site
디렉토리의 모든 항목이 지워지므로 작동하지 않습니다.그러나 이 동작을 중지하는 구성 키가 있습니다.
keep_files 키
구성 옵션 | Jekyll • 단순한 블로그 인식 정적 사이트
아래 표에는 Jekyll에 사용 가능한 설정과 이를 제어하는 다양한 옵션(구성 파일에 지정됨) 및 플래그(명령줄에 지정됨)가 나열되어 있습니다.
jekyllrb.com
keep_files
키를 사용하여 빌드를 정리하기 전에 특정 파일/디렉토리를 남겨두도록 Jekyll에 알릴 수 있습니다. 이 키는 심볼릭 링크에도 적용됩니다!keep_files: ["submodule_site"]
구축할 시간
하위 모듈 사이트와 루트 사이트를 모두 구축하면
_site
디렉토리에 작업 사이트가 생성됩니다. 루트 사이트의 출력 디렉터리를 웹 루트에 심볼릭 링크하여 웹 사이트를 제공할 수 있습니다!
Reference
이 문제에 관하여(하위 모듈을 사용하여 보조 Jekyll 웹 사이트를 포함하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/clpsplug/how-to-include-secondary-jekyll-website-using-submodule-41co텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)