당신의 첫 번째 플러그인

플러그인을 사용해 자신이 원하는 바에 따라 Jekyll 의 작동방식을 확장할 수 있습니다. 여섯 종류의 Jekyll 플러그인이 있습니다.

생성기

생성기는 사이트의 내용을 생성합니다. 예시:

  • jekyll-feed 는 블로그 포스트의 Atom 피드를 생성합니다.
  • jekyll-archives 는 블로그 카테고리와 태그에 대한 아카이브 페이지를 생성합니다.
  • jekyll-sitemap 은 사이트맵을 생성합니다.

변환기

변환기는 마크업 언어를 다른 형식으로 변환합니다. 예시:

명령어

명령어jekyll 실행 파일의 기능을 하위 명령어 형태로 확장합니다. 예:

  • jekyll-compose 는 포스트나 페이지, 초안을 생성하는 하위 명령어를 추가합니다.

태그

태그는 사용자 Liquid 태그를 생성합니다. 예:

필터

필터는 사용자 Liquid 필터를 생성합니다. 예:

은 사이트 생성 절차를 세밀하게 통제할 수 있게 해줍니다.

플래그

플러그인을 만들 때는 다음 두 플래그를 알아두어야 합니다:

플래그 설명

safe

이 플러그인이 임의의 코드가 실행되는 것이 금지된 환경에서도 안전하게 실행될 수 있다는 것을 알려주는 이진값 플래그이다. GitHub Pages 는 이 플래그를 사용해서 실행해도 안전한 Core 플러그인을 골라낸다. 플러그인이 임의의 코드 실행이 없는 환경에서 사용되어야 한다면, 이 플래그를 true 로 설정한다. GitHub Pages 는 그래도 당신의 플러그인을 사용하지 않을 것이지만, Jekyll 프로젝트에 포함시키려는 경우에는 이게 최선이 방법이다.

priority

플러그인을 읽어들이는 순서를 결정하는 플래그이다. 사용할 수 있는 값은 :lowest:low, :normal, :high, :highest 이다. 우선순위가 높은 플러그인이 먼저 적용되고, 우선순위가 낮은 플러그인이 나중에 적용된다.

앞서 설명한 플러그인 예제를 사용하려면, 다음과 같이 플래그를 설정해야 합니다:

module Jekyll
  class UpcaseConverter < Converter
    safe true
    priority :low
    ...
  end
end

Best Practices

이 설명서는 플러그인 작성 방법에 대한 설명을 담고 있습니다. 그리고 플러그인의 구조를 관리하는데에 도움이 될 만한 모범 사례도 담고 있습니다.

플러그인에 을 사용할 것을 권장합니다. 젬은 종속성 관리와 사이트 코드로부터의 분리에 도움이 되며, 다른 프로젝트들에도 기능을 공유할 수 있게 해줍니다. 젬 작성에 관한 팁은 루비 젬 설명서 또는 jekyll-feed 와 같은 기존 플러그인의 소스코드를 참고하세요.