예제
KO

시리즈

관련 글을 순서 있는 시리즈로 묶어 독자가 콘텐츠를 차례대로 따라갈 수 있게 합니다.

설정

config.toml에서 활성화합니다.

[series]
enabled = true
키 타입 기본값 설명
enabled bool false 시리즈 묶기 활성화

시리즈에 글 지정

프론트 매터로 글을 시리즈에 지정합니다.

+++
title = "Part 1: Getting Started"
series = "Building a CLI Tool"
series_weight = 1
+++
필드 타입 기본값 설명
series string — 이 글이 속할 시리즈 이름
series_weight int 0 시리즈 내 순서(낮을수록 앞)

시리즈 안의 글은 series_weight, 날짜(오래된 글부터, 날짜 없는 글은 마지막), 제목 순으로 정렬됩니다.

시리즈는 언어별로(그리고 버전 문서 사이트에서는 버전별로) 나뉩니다. 다국어 사이트에서 같은 series 이름을 쓰는 hello.md와 번역본 hello.ko.md는 서로 다른 두 시리즈에 속하며, 각 언어 안에서 따로 번호가 매겨지고 연결됩니다.

템플릿 변수

시리즈에 속한 각 페이지는 다음 변수를 갖습니다.

변수 타입 설명
page.series string 시리즈 이름
page.series_index int 시리즈 내 위치(1부터 시작)
page.series_pages array 같은 시리즈의 모든 페이지(정렬됨, 시리즈에 페이지가 하나뿐이면 비어 있음)

템플릿에서 사용

시리즈 내비게이션

{% if page.series %}
<nav class="series-nav">
  <h3>{{ page.series }}</h3>
  <ol>
    {% for p in page.series_pages %}
    <li{% if p.url == page.url %} class="current"{% endif %}>
      <a href="{{ p.url }}">{{ p.title }}</a>
    </li>
    {% endfor %}
  </ol>
</nav>
{% endif %}

이전 / 다음 링크

{% if page.series_pages | length > 1 %}
<div class="series-pager">
  {% if page.series_index > 1 %}
    <a href="{{ page.series_pages[page.series_index - 2].url }}">← Previous</a>
  {% endif %}
  <span>Part {{ page.series_index }} of {{ page.series_pages | length }}</span>
  {% if page.series_index < page.series_pages | length %}
    <a href="{{ page.series_pages[page.series_index].url }}">Next →</a>
  {% endif %}
</div>
{% endif %}

예시

글이 세 개 있다고 하면:

content/
  tutorials/
    cli-part1.md   # series = "CLI Tool", series_weight = 1
    cli-part2.md   # series = "CLI Tool", series_weight = 2
    cli-part3.md   # series = "CLI Tool", series_weight = 3

각 글의 page.series_pages에는 세 글이 순서대로 모두 담기고, page.series_index는 각각 1, 2, 3이 됩니다.

함께 보기