빠른 참조

Jekyll 정적 사이트 생성기 치트 시트

Jekyll 종합 참고 가이드: 디렉터리 구조, YAML Front Matter, Liquid 태그 및 필터, 전역 변수, 컬렉션 및 GitHub Pages 설정 방법 정리.

· 게시일

Jekyll은 GitHub Pages를 구동하는 Ruby 기반의 블로그 친화적 정적 사이트 생성기입니다.

디렉터리 구조

├── _config.yml      # 전역 사이트 설정
├── _drafts/         # 미공개 초안 게시물
├── _includes/       # 재사용 가능한 템플릿 조각
├── _layouts/        # 페이지 및 포스트 레이아웃 래퍼
├── _posts/          # 게시된 포스트 (YYYY-MM-DD-title.md)
├── _data/           # 구조화된 JSON/YAML 데이터 파일
├── _site/           # 빌드된 정적 HTML 출력물
└── index.md         # 홈페이지 진입 파일

YAML Front Matter

---
layout: post
title: "Announcing Version 2.0"
date: 2026-11-08 10:00:00 +0800
categories: news tech
tags: [release, ruby]
published: true
---

Liquid 템플릿 문법

출력 및 변수

{{ site.title }}
{{ page.title }}
{{ content }}
{{ post.date | date: "%B %d, %Y" }}

제어 흐름 및 반복문

{% if page.comments %}
  {% include comments.html %}
{% endif %}

{% for post in site.posts limit:5 %}
  <h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
  <p>{{ post.excerpt }}</p>
{% endfor %}

자주 쓰는 필터

필터 설명 예시
date: "%Y-%m-%d" 타임스탬프 서식 지정 {{ page.date | date: "%Y" }}
truncate: 100 말줄임표와 함께 문자열 자르기 {{ post.content | truncate: 100 }}
strip_html 모든 HTML 마크업 제거 {{ post.content | strip_html }}
jsonify 데이터를 JSON 문자열로 직렬화 {{ site.data.authors | jsonify }}
markdownify Markdown을 HTML로 변환 {{ text | markdownify }}

전역 변수 참고

  • site.posts: 모든 포스트의 최신순(역순) 목록.
  • site.pages: 모든 정적 페이지 목록.
  • site.html_pages: HTML을 출력하는 site.pages의 하위 집합.
  • site.data: _data/*.yml 파일에서 로드한 원본 데이터.
  • site.time: 현재 빌드 생성 타임스탬프.

참고 자료

관련 주제