지킬 서론 및 YAML
Jekyll용 Git 기반 CMS인 CloudCannon에서 가져왔습니다.
**Clone:** git clone https://github.com/CloudCannon/jekyll-learn-blog-template.git
**Starter branch:** git checkout front-matter-intro-start
**Finished lesson:** git checkout front-matter-intro-finish
여기서 배울 내용:
서두란 무엇입니까?
이전 수업에서 우리는 "머리말"에 대해 언급했습니다. 그러나 정확히 무엇이며 왜 사용해야합니까? 머리말은 HTML/Markdown 문서의 맨 위에 있는 영역으로, 페이지에 대한 변수와 콘텐츠를 작성할 수 있습니다. 간단하고 친숙한 직렬화 언어인 YAML을 사용하며 Liquid와 함께 잘 작동합니다. 머리말on Jekyll’s official site에 대해 자세히 알아보십시오.
머리말 및 YAML 기본 사항
간단한 YAML 변수를 작성하려면 콜론과 함께
key: value
표기법을 사용하십시오. 값 자체는 4, 4.1, "4", 참/거짓 등 원하는 모든 것이 될 수 있습니다.또한 YAML의 주석(처리되지 않는 유용한 메모)도 "#"기호로 가능하므로 매우 유용할 수 있습니다.
페이지 제목에 대한 변수를 사용하여 index.html 페이지에 머리말을 추가하여 시작하겠습니다.
---
# the title that will appear in the HTML head tag
title: Home
---
이것이 우리가 정말로 시작해야 할 전부입니다. 텍스트에 인용 부호가 필요하지 않습니다. 이제 이에 액세스하기 위해 Liquid를 사용하고 "점 표기법"(즉,
page.title
)으로 "페이지"개체를 참조할 수 있습니다. 여기에서 제목 변수가 있으면 제목 태그에 출력합니다. 그렇지 않으면 간단히 CawCannon
로 설정합니다. <head>
… rest of head
{% if page.title %}
<title>CawCannon | {{ page.title }}</title>
{% else %}
<title>CawCannon</title>
{% endif %}
<link rel="stylesheet" href="css/style.css">
</head>
데이터 구조
특정 방식으로 정보를 정렬하려면 YAML의 몇 가지 옵션을 알아두는 것이 좋습니다. 이렇게 하면 페이지가 데이터베이스처럼 작동할 수 있지만 훨씬 더 간단하고 친근하게 작동할 수 있습니다. 데이터 구조를 세로 또는 인라인으로 작성할 수 있습니다. 둘 다 유효합니다.
어레이
지난 강의에서 눈치채셨겠지만, Liquid에서 배열을 생성하는 것은 쉽지 않습니다. 그러나 앞 문제는 매우 간단합니다. 배열은 대시를 사용하여 세로로 표시하거나 대괄호를 사용하여 인라인으로 표시할 수 있으며 액세스하기 쉽도록 이름("키")을 지정하는 것이 일반적입니다.
# vertical
birds_vertical:
- Tui
- Kea
- Pukeko
- Piwakawaka
- Kereru
- Weka
# inline
birds_inline: [Kiwi, Tui, Kea, Karakiri, Weka]
<!-- Display on page -->
{% for bird in page.birds_vertical %}
{{ bird }}
{% endfor %}
사물
더 많은 키-값 쌍을 "중첩"하여 배열을 확장하여 제품이나 사람 목록과 같은 실제 아이디어를 나타내는 "객체"를 만들 수 있습니다. 이름으로 액세스하려는 더 복잡한 데이터가 필요할 때 유용합니다.
각 새가 고유한 키-값 쌍을 포함하는 개체가 되도록 이전부터 배열을 확장해 보겠습니다. 그런 다음 각 새에 대해 키로 데이터를 반복하고 HTML에서 해당 값을 사용할 수 있습니다.
---
birds:
- name: Tui
description: Striking songbird
image: https://dam-cdn.cloudcannon.com/community/images/tui.jpg
image_alt: Striking songbird in a tree.
- name: Kea
description: Alpine parrot
image: https://dam-cdn.cloudcannon.com/community/images/kea.jpg
image_alt: Parrot sitting in an alpine tree.
- name: Kaka
description: Loud, social forest parrot
image: https://dam-cdn.cloudcannon.com/community/images/kaka.jpg
image_alt: Kaka parrot in a thick forest.
- name: Pukeko
description: Colourful swamp hen
image: https://dam-cdn.cloudcannon.com/community/images/pukeko.jpg
image_alt: Pukeko bird rustling in a swamp.
- name: Piwakawaka
description: Small and energetic
image: https://dam-cdn.cloudcannon.com/community/images/piwakawaka.jpg
image_alt: Piwakaka with its tail feathers fanned sitting in a tree.
- name: Kereru
description: Mute yet loud pigeon
image_alt: Kereru sitting in a tree eating berries.
image: https://dam-cdn.cloudcannon.com/community/images/kereru.jpg
---
<div class="image-grid">
{% for bird in page.birds %}
<div class="item">
<img src="{{ bird.image }}" alt="{{ bird.image_alt }}">
<p>Bird name: {{ bird.name }}</p>
<p>Description: {{ bird.description }}</p>
</div>
{% endfor %}
</div>
YAML/머리말의 여러 줄 텍스트
발생할 수 있는 문제는 여러 줄에 걸쳐 있는 텍스트를 작성하는 것입니다. 한 가지 옵션은 텍스트가 너무 길어지면 단순히 따옴표로 텍스트를 묶는 것입니다. 그러나 특히 줄 바꿈을 인식하는 경우 더 많은 제어 기능을 제공하는 추가 옵션이 있습니다.
YAML/머리말에서 이를 수행하기 위한 두 가지 기본 형식이 있습니다.
Kea: >-
The kea is the world’s only alpine parrot and native to New Zealand,
with high intelligence and curiosity - which also extends to its eating habits.
kakapo: |-
The kakapo is another parrot native to New Zealand
Unlike the kea, it is a nocturnal, flightless herbivore, and the heaviest parrot in the world.
Unfortunately, these traits have led to it being critically endangered.
리터럴 스타일에 대해 알아야 할 두 가지 주요 단점이 있습니다.
{{ multiline_text | markdownify }}
). 그렇지 않으면 텍스트가 자동으로 접히고 여러 줄 출력이 표시되지 않습니다. 형식을 훨씬 더 조정할 수 있지만 이는 이 단원의 범위를 벗어납니다(자세한 내용은 https://yaml-multiline.info/ 참조).
무엇 향후 계획?
페이지를 개선하는 데 유용한 Jekyll의 머리말과 YAML을 간단히 살펴봤습니다. 그러나 다음 주제인 레이아웃을 통해 페이지에 대해 잠금 해제할 수 있는 훨씬 더 많은 기능이 있습니다.
Reference
이 문제에 관하여(지킬 서론 및 YAML), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cloudcannon/jekyll-front-matter-yaml-3fl5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)