환경 - (1) 명령어 옵션과 플래그
본 카테고리는 정적 블로그 생성도구인 Jekyll에 관하여 작성하는 곳이다.
공식 사이트의 내용을 좀 더 풀어쓰고 스크린샷을 첨부하여 좀 더 상세히 기록하고자 한다.
환경설정
Jekyll의 강력하고 유연한 환경설정 덕분에 우리는 꿈꾸는 모든 형태의 사이트를 제작할 수 있다.
이 환경설정은 두 가지 방법으로 지정할 수 있다.
첫 번째 방법은 최상위 폴더에 있는 _config.yml
파일을 활용하여 지정하는 방법
두 번째 방법은 터미널에서 Jekyll 관련 커맨드를 수행할 때 플래그(flag)로 지정하는 방법이다.
전역 환경설정
아래는 Jekyll에서 사용할 수 있는 환경설정과 옵션, 플래그이다.
여기서 옵션은 _config.yml
에 지정하는 것을 뜻하고 플래그는 터미널의 커맨드에서 사용할 수 있다.
옵션은 초록색, 플래그는 파란색으로 표시하겠다.
이름 | 설명 | 옵션 | 플래그 |
---|---|---|---|
Site Source |
Jekyll이 읽어들일 파일의 디렉토리 지정 | source: DIR | -s, –source DIR |
Site Destination |
Jekyll이 생성할 파일들의 경로 지정 | destination: DIR | -d, –destination DIR |
Safe | 사용자 정의 플러그인 비활성화 Symbolic Link 무시 |
safe: BOOL | –safe |
Exclude | 특정 파일이나 폴더를 제외하고 변환 Site Source를 기준으로 하며 기준에 속하지 않은 경로는 지정 불가 |
exclude: [DIR, FILE, …] | |
Include | 변환시 디렉토리와 파일의 강제 포함htaccess 처럼 . 으로 시작하는 기본적으로제외되는 파일도 포함 가능 |
include: [DIR, FILE, …] | |
Keep files | site destination을 초기화할 때 초기화하지않고 보존할 파일을 지정 Jekyll이 아닌 다른 빌드시스템이 생성한 파일들을 지정 |
keep_files : [DIR, FILE, …] | |
Time Zone | 사이트 생성을 위한 시간대를 설정Ruby 의 TZ 환경변수 설정IANA Time Zone DB 사용 Ex) America/New_York Time Zone Database |
timezone: TIMEZONE | |
Encoding | 파일의 인코딩을 지정Ruby 1.9 이상 지원ver 2.0.0 이상 기본값: utf-8 ver 2.0.0 미만 기본값: nil nil은 기본값 ASCII-8BIT 을 생성 |
encoding: ENCODING | |
Defaults | YAML Front Matter 변수의 기본값 설정 |
1 | ruby -e 'puts Encoding::list.join("\n")' |
위의 코드를 터미널에 입력하면 Ruby가 지원하는 인코딩 목록을 볼 수 있다.
주의 사이트를 재생성하면
<destination>
의 파일을 전부 삭제한다. keep_files 명령어를 이용하여 이를 방지할 수 있다.
빌드 명령어 옵션(Build Command Options)
아래는 Jekyll에서 사용할 수 있는 빌드 관련 명령어의 옵션, 플래그이다.
여기서 옵션은 _config.yml
에 지정하는 것을 뜻하고 플래그는 터미널의 커맨드에서 사용할 수 있다.
옵션은 초록색, 플래그는 파란색으로 표시하겠다.
이름 | 설명 | 옵션 | 플래그 |
---|---|---|---|
Regeneration | 파일이 수정되면 사이트를 자동 재생성 | -w, –[no-]watch | |
Configuration | 기본적인 환경설정 파일인 _config.yml 대신 다른 환경설정 파일 지정 |
–config FILE1[,FILE2,…] | |
Drafts | 임시로 게시물을 변환하여 렌더링 | show_drafts: BOOL | –drafts |
Environment | 빌드에서 특정 환경변수 값을 사용 | JEKYLL_ENV=production | |
Future | 게시물을 작성시간을 현재보다 이후로 설정 | future: BOOL | –future |
Unpublished | 게시되지 않은 포스트 렌더링 | unpublished: BOOL | –unpublished |
LSI | classifier-reborn 플러그인을 사용하여 포스트에 관련된 인덱스 생성 |
lsi: BOOL | –lsi |
Limit Posts | 포스트 수 제한 | limit_posts: NUM | –limit_posts NUM |
Force polling | 감시(Polling) 기능을 강제로 활성화 | –force_polling | |
Verbose output | 자세한 결과 출력 | -V, –verbose | |
Silence Output | 빌드 시 일반 메시지를 출력하지 않는다. | -q, –quiet | |
Incremental Build | 실험기능 수정된 페이지나 포스트만을 다시 빌드 사이트 규모가 커질 경우 성능 향상 특정한 상황에서는 사이트 생성에 문제가 생길 가능성 존재 |
incremental: BOOL | -I, –incremental |
Liquid Profiler | 퍼포먼스 저하 요소를 파악할 수 있는 Liquid Rendring Profile 생성 | profile: BOOL | –profile |
Serve 명령어 옵션
아래는 Jekyll에서 사용할 수 있는 Serve 관련 명령어의 옵션, 플래그이다.
아래의 Serve 전용 옵션 외에도 위에 있는 Build 명령어 옵션도 사용할 수 있다.
사이트 생성시 Build의 명령어에 대한 옵션을 먼저 수행한다.
여기서 옵션은 _config.yml
에 지정하는 것을 뜻하고 플래그는 터미널의 커맨드에서 사용할 수 있다.
옵션은 초록색, 플래그는 파란색으로 표시하겠다.
이름 | 설명 | 옵션 | 플래그 |
---|---|---|---|
Local Server Port | 지정한 포트 번호로 Listen 설정 | port: PORT | –port PORT |
Local Server Hostname | Listen의 호스트 이름 설정 | host: HOSTNAME | –host HOSTNAME |
Base URL | 기본 URL 설정 | baseurl: URL | –baseurl URL |
Detach | 터미널에서 서버 분리 | detach: BOOL | -B, –detach |
Skips the initial site build | 사이트 빌드를 무시하고 바로 서버 시작 | –skip-initial-build | |
X.509 (SSL) Private Key | SSL 개인 키 설정 | –ssl-key | |
X.509 (SSL) Certificate | SSL 공개 인증서 설정 | –ssl-cert |
주의
_config.yml
파일에 탭(tab)을 사용할 경우 오류가 발생하거나 Jekyll의 기본 설정으로 복구된다. 꼭 공백(Space)를 사용하자.