jekyll 로컬 개발 중에 site.url을 localhost로 변경하십시오.
내 jekyll 블로그 템플릿에는 다음과 같은 리소스 및 페이지에 대한 링크가 있습니다.
{{ site.url }}/my-page.html
이것은 배포에서 잘 작동하지만 jekyll serve
개발 중에 실행 하면 모든 링크가 개발 페이지 대신 라이브 페이지를 가리 킵니다.
my-site-url/my-page.html
# But I want this in development
localhost:4000/my-page.html
지킬 {{ site.url }}
이 개발 에서 다른 것을 사용하도록 만드는 방법이 있습니까?
이것은 서로 다른 Jekyll 환경 간의 공통적 인 문제입니다.
몇 가지 설명
우리는 이해할 필요 site.url
하고 site.baseurl
어느 상황에서 우리가 필요합니다. 이러한 변수는 동일한 용도로 사용되지 않습니다.
site.url
기본적으로이 변수는 canonical
헤더 및 RSS link
. 또한이 피드를 관리하는 소프트웨어가 리소스의 URL을 알지 못하므로 xml 피드에서 사이트 리소스를 가리키는 데 사용됩니다.
이 변수는 외부 시스템에만 필요합니다.
site.baseurl
이 변수는 Jekyll 사이트의 루트 폴더를 나타냅니다. 기본적으로 ""
(빈 문자열)로 설정됩니다 . 즉, Jekyll 사이트가 http://example.com
.
에 지킬 사이트의 삶을 경우 http://example.com/blog
, 당신은 설정해야 site.baseurl
에 /blog
( 슬래시주의 ). 이렇게하면 자산 (css, js)이 올바르게로드됩니다.
자산이 어떻게로드되는지 확인하십시오.
<link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.baseurl }}">
또한 다음과 같습니다.
<link rel="stylesheet" href="{{ site.baseurl }}/css/main.css">
다른 환경에서 작업
이제 사이트를 로컬에서 테스트하고 프로덕션에 배포해야합니다. 때때로는 baseurl
다른과는 jekyll build
그 환경 중 하나에 상자 밖으로 작동하지 않을 수 있습니다.
여기에 두 가지 해결책이 있습니다.
사용하다 jekyll serve
사이트가 github 저장소에 있고 https://username.github.io/myProject
.
당신은 설정 (가) 수 baseurl
에 /myProject
. 를 사용하여 로컬에서 사이트를 테스트 jekyll serve
하면 사이트가http://127.0.0.1:4000/myProject/
여러 구성 파일 사용
어떤 이유로 든을 사용할 수없는 경우 jekyll serve
두 환경 및 jekyll build
배포 위치에 따라 구성 파일을 설정할 수 있습니다 .
로컬 사이트가에서 제공되고 http://localhost
프로덕션 사이트가 에서 제공된다고 가정 해 보겠습니다 https://username.github.io/myProject
.
우리는 떠나 _config.yml
함께 url: https://username.github.io
하고baseurl: /myProject
우리는 _config_dev.yml
오직 url: https://localhost
그리고baseurl: ""
이제 로컬에서 테스트합니다.
jekyll build --config _config.yml,_config_dev.yml
또는
jekyll build --config _config.yml,_config_dev.yml --watch
프로덕션에 푸시되면 jekyll build
명령은 기본값 인 _config.yml
.
'program story' 카테고리의 다른 글
자바 스크립트 정규식 : 첫 번째 및 마지막 슬래시 제거 (0) | 2020.10.28 |
---|---|
cmake`file (GLOB…)`패턴에서 단일 파일을 제외하려면 어떻게해야합니까? (0) | 2020.10.27 |
Ant에서 상대 경로를 절대 경로로 어떻게 변환합니까? (0) | 2020.10.27 |
Stream.allMatch ()가 빈 스트림에 대해 true를 반환하는 이유는 무엇입니까? (0) | 2020.10.27 |
정신적으로 Lisp / Clojure 코드를 읽는 방법 (0) | 2020.10.27 |