당신의 첫 번째 플러그인
플러그인을 사용해 자신이 원하는 바에 따라 Jekyll 의 작동방식을 확장할 수 있습니다. 여섯 종류의 Jekyll 플러그인이 있습니다.
생성기
생성기는 사이트의 내용을 생성합니다. 예시:
- jekyll-feed 는 블로그 포스트의 Atom 피드를 생성합니다.
- jekyll-archives 는 블로그 카테고리와 태그에 대한 아카이브 페이지를 생성합니다.
- jekyll-sitemap 은 사이트맵을 생성합니다.
변환기
변환기는 마크업 언어를 다른 형식으로 변환합니다. 예시:
- jekyll-textile-converter 는 Textile 을 HTML 로 변환합니다.
- jekyll-coffeescript 는 Coffeescript 를 자바스크립트로 변환합니다.
- jekyll-opal 은 루비를 자바스크립트로 변환합니다.
명령어
명령어는 jekyll
실행 파일의 기능을 하위 명령어
형태로 확장합니다. 예:
- jekyll-compose 는 포스트나 페이지, 초안을 생성하는 하위 명령어를 추가합니다.
태그
태그는 사용자 Liquid 태그를 생성합니다. 예:
- jekyll-youtube 은 유튜브 비디오를 임베드합니다.
- jekyll-asset-path-plugin 은 에셋 파일에 대한 상대 URL 을 출력합니다.
- jekyll-swfobject 는 SWF 오브젝트를 임베드합니다.
필터
필터는 사용자 Liquid 필터를 생성합니다. 예:
- jekyll-time-ago - 두 날짜의 차이를 말로 표현.
- jekyll-toc - 목차를 생성한다.
- jekyll-email-protect - 스팸봇으로부터 이메일을 보호.
훅
훅은 사이트 생성 절차를 세밀하게 통제할 수 있게 해줍니다.
플래그
플러그인을 만들 때는 다음 두 플래그를 알아두어야 합니다:
플래그 | 설명 |
---|---|
|
이 플러그인이 임의의 코드가 실행되는 것이 금지된 환경에서도 안전하게
실행될 수 있다는 것을 알려주는 이진값 플래그이다. GitHub Pages 는
이 플래그를 사용해서 실행해도 안전한 Core 플러그인을 골라낸다.
플러그인이 임의의 코드 실행이 없는 환경에서 사용되어야 한다면, 이
플래그를 |
|
플러그인을 읽어들이는 순서를 결정하는 플래그이다. 사용할 수 있는
값은 |
앞서 설명한 플러그인 예제를 사용하려면, 다음과 같이 플래그를 설정해야 합니다:
module Jekyll
class UpcaseConverter < Converter
safe true
priority :low
...
end
end
Best Practices
이 설명서는 플러그인 작성 방법에 대한 설명을 담고 있습니다. 그리고 플러그인의 구조를 관리하는데에 도움이 될 만한 모범 사례도 담고 있습니다.
플러그인에 젬을 사용할 것을 권장합니다. 젬은 종속성 관리와 사이트 코드로부터의 분리에 도움이 되며, 다른 프로젝트들에도 기능을 공유할 수 있게 해줍니다. 젬 작성에 관한 팁은 루비 젬 설명서 또는 jekyll-feed 와 같은 기존 플러그인의 소스코드를 참고하세요.