005. JeKyll 환경 - (1) 명령어 옵션과 플래그

환경 - (1) 명령어 옵션과 플래그

본 카테고리는 정적 블로그 생성도구인 Jekyll에 관하여 작성하는 곳이다.

공식 사이트의 내용을 좀 더 풀어쓰고 스크린샷을 첨부하여 좀 더 상세히 기록하고자 한다.

참고 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 사이트 생성을 위한 시간대를 설정
RubyTZ 환경변수 설정
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

참고 classifier-reborn 플러그인

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)를 사용하자.