태그 필터
표준 Liquid 태그를 모두 지원합니다. 사이트 빌드를 돕는 태그도 몇 개 Jekyll 에 기본내장되어 있습니다. 게다가 플러그인을 사용하면 자신만의 필터도 만들 수 있습니다.
조각파일
사이트의 여기저기에 반복적으로 사용하는 페이지 토막이 있다면, 조각파일로 이러한 작업을 관리하는 것이 최선의 선택입니다.
코드 구문 강조
Rouge 덕분에 Jekyll 은 100 개 이상의 언어에 대한 구문 강조 기능을 내장하고 있습니다. Jekyll 3 와 그 이상의 버전에서는 Rouge 가 기본 구문 강조기입니다.
Pygments 를 사용하는 것은 권장되지 않았었고 현재 Jekyll 4 에서는
지원되지 않습니다. 환경설정의 highlighter: pygments
는
이제 자동으로 루비로 작성된 Rough 를 사용하게 바뀌며
Pygments 용 스타일시트와 100% 호환됩니다.
</div>
구문 강조가 적용된 코드 블럭을 출력하려면, 코드 앞뒤에 다음과 같이 작성합니다:
{% highlight ruby %}
def foo
puts 'foo'
end
{% endhighlight %}
highlight
태그에 전달한 인자 (위 예시에서는 ruby
) 는
언어 식별자입니다. 각 언어에 해당하는 구문 강조용 식별자를
찾으려면, Rouge
위키에서 “short name” 을 살펴보세요.
Jekyll 은 코드 블록 안에서도 Liquid 필터를 처리합니다
만약 당신이 사용하려는 언어에 중괄호가 포함되어 있다면, 당신의
코드 앞 뒤를 {% raw %}
와
{% endraw %}
태그로 감싸야 할 것입니다.
Jekyll 4.0
부터, 머리말에 render_with_liquid: false
를 추가해 문서 전체의 Liquid 를 비활성화할 수 있습니다.
줄 번호
highlight
의 두 번째 파라메터인 linenos
는 선택사항입니다.
파라메터 linenos
를 추가하면 구문 강조된 코드에 줄 번호를
표시합니다. 예를 들어, 다음 코드 블록에는 각 줄에 줄 번호가
표시됩니다:
{% highlight ruby linenos %}
def foo
puts 'foo'
end
{% endhighlight %}
구문 강조용 스타일시트
구문 강조를 작동시키려면, 구문 강조용 스타일시트를 추가해야 합니다. Pygments 용 스타일시트를 Pygments 나 Rouge 에 사용할 수 있습니다. 예제 갤러리를 여기나 해당 저장소에서 볼 수 있습니다.
CSS 파일 (예를 들어 native.css
) 을 css 디렉토리에 복사하고
main.css
에 구문강조 스타일을 임포트합니다:
@import "native.css";
링크
Jekyll 4.0
부터, link
와 post_url
태그 앞에 site.baseurl
을 사용할 필요가 없습니다.
페이지에 연결하기
게시물, 페이지, 콜렉션 항목 또는 파일에 연결하기 위해, link
태그가 당신이 지정한 경로에 대해 올바른 고유주소 URL 을 생성할 것입니다. 예를 들어, mypage.html
에 연결하기 위해 link
태그를 사용하면, 당신이 고유주소 스타일에 파일 확장자를 포함하도록 또는 포함하지 않도록 변경하더라도, link
태그는 언제나 올바른 URL 을 생성할 것입니다.
link
태그를 사용할 때에는 반드시 파일을 실제 확장자를 명시해야 합니다. 여기 예시가 몇 개 있습니다:
{% link _collection/name-of-document.md %}
{% link _posts/2016-07-26-name-of-post.md %}
{% link news/index.html %}
{% link /assets/files/doc.pdf %}
다음과 같이 마크다운 안에서도 link
태그를 사용해 링크를 생성할 수 있습니다:
[Link to a document]({% link _collection/name-of-document.md %})
[Link to a post]({% link _posts/2016-07-26-name-of-post.md %})
[Link to a page]({% link news/index.html %})
[Link to a file]({% link /assets/files/doc.pdf %})
게시물, 페이지 또는 콜렉션의 경로는 현재 페이지로부터 다른 페이지로의 상대 경로가 아니라, 최상위 디렉토리(환경설정 파일이 있는 위치)에서 해당 파일에 대한 상대 경로로 결정됩니다.
예를 들어, page_a.md
(pages/folder1/folder2
에 저장되어 있음) 에 page_b.md
(pages/folder1
에 저장되어 있음) 로의 링크를 생성한다고 생각해봅시다. 이 링크의 경로는 ../page_b.html
이 아닙니다. 경로는 /pages/folder1/page_b.md
입니다.
정확한 경로를 모르겠다면, 해당 페이지에 {{ page.path }}
를 추가해서 경로를 표시할 수 있습니다.
이 link
나 post_url
태그를 사용하는 가장 큰 장점은 링크 유효성 검사입니다. 해당 링크가 존재하지 않는다면, Jekyll 은 사이트를 빌드하지 않을 것입니다. 이는 깨진 링크에 대한 경고를 주어 고칠 기회를 얻을 수 있으므로 장점이라고 할 수 있습니다 (그렇지 않으면 깨진 링크를 가진 사이트를 배포하게 될 것입니다).
link
태그에는 필터를 추가할 수 없다는 것을 알아두세요. 예를 들어, {% link mypage.html | append: "#section1" %}
처럼 Liquid 필터를 사용해 문자열을 추가할 수 없습니다. 페이지의 특정 부분에 링크하기 위해서는, 기본 HTML 링크나 마크다운 링크 방식을 사용해야 합니다.
게시물에 연결하기
당신의 사이트 내 게시물에 대한 링크가 필요한 경우, post_url
태그를 사용하면 원하는 게시물에 대한 올바른 고유주소를 만들 수 있습니다.
{% post_url 2010-07-21-name-of-post %}
만약 게시물을 하위 디렉토리에 넣고 관리한다면, 하위 디렉토리 경로도 포함시켜야 합니다:
{% post_url /subdir/2010-07-21-name-of-post %}
post_url
태그를 사용할 때는 파일 확장자를 지정할 필요가 없습니다.
다음과 같이 마크다운에서도 이 태그를 사용하여 게시물 링크를 생성할 수 있습니다:
[Name of Link]({% post_url 2010-07-21-name-of-post %})