Front matter
페이지가 가질 수 있는 모든 필드와 그 역할
front matter는 파일 맨 위 +++ 펜스 사이에 쓰는 TOML입니다. 형식은 TOML 하나뿐인데,
YAML을 쓰려면 파서를 골라야 하고 러스트의 대표 크레이트가 이미 아카이브된 상태라
선택지가 "관리되지 않는 의존성"과 "의존성이 필요 없는 형식" 둘이었기 때문입니다.
+++
= "설치"
+++
반드시 있어야 하는 필드는 title 하나입니다.
필드
| 필드 | 타입 | 기본값 | |
|---|---|---|---|
title |
문자열 | — | 필수. |
description |
문자열 | "" |
템플릿의 <meta name="description">과 검색 결과에 쓰입니다. |
weight |
정수 | 0 |
섹션 안에서의 정렬 순서. 작을수록 앞. |
draft |
bool | false |
--drafts가 없으면 빌드에서 빠집니다. |
date |
TOML 날짜 | — | 발행 날짜. 피드와 sort_by = "date"가 씁니다. |
slug |
문자열 | 파일명 stem | URL의 마지막 세그먼트. |
template |
문자열 | — | 평소 쓰던 것 대신 이 템플릿으로 렌더합니다. |
toc |
bool | false |
목차를 보여줄지 여부. |
translation_key |
문자열 | 언어 접미사를 뗀 경로 | 이 페이지와 번역본을 연결합니다. 언어를 참고하세요. |
aliases |
문자열 배열 | [] |
이 페이지로 와야 하는 옛 URL들. 각 항목은 루트 절대 경로여야 하고, 항목마다 리다이렉트 스텁이 하나씩 나옵니다. |
extra |
테이블 | {} |
무엇이든. 템플릿에 page.extra로 갑니다. |
toc는 데이터가 아니라 저자의 의사입니다. 목차 자체는 모든 페이지에서 수집해
page.toc_entries로 템플릿에 넘어갑니다. 이렇게 나눠 두면 긴 글에만 목차를 띄우는
템플릿을 만들 때 데이터를 따로 걷어낼 필요가 없습니다.
섹션 전용 필드
일반 페이지에서는 아무 일도 하지 않습니다. _index.md에 씁니다.
| 필드 | 타입 | 기본값 | |
|---|---|---|---|
sort_by |
"weight" | "title" | "date" |
사이트 기본값 | 이 섹션이 자식 페이지를 정렬하는 기준. |
page_template |
문자열 | — | 이 섹션 페이지들의 기본 템플릿. |
extra
[extra]는 열린 테이블입니다. sqzass는 여기를 읽지 않고, 템플릿이 읽습니다.
+++
= "릴리스 노트"
[]
= "0.2.0"
= "beta"
+++
{% if page.extra.badge %}{{ page.extra.badge }}{% endif %}
없는 키를 읽으면 빈 문자열이 아니라 에러입니다. 얼마나 엄격한지와 그 이유는 템플릿 데이터에 적어 두었습니다.
에러는 소스 파일을 가리킵니다
값이 잘못되면 소스 파일의 줄 번호로 보고합니다. front matter가 끝난 지점부터가 아니라 파일 맨 위부터 센 줄 번호입니다. 후자는 엉뚱한 줄을 가리키니까요.