자바스크립트를 활성화 해주세요

h006 Post만들 때 Draft False 하기

 ·  ☕ 3 min read

자동으로 만들어지는 markdown 파일에서 타이틀이나 날짜, 태그를 적는 부분이 있습니다. 그 부분을 이렇게 부릅니다. FrontMatter.

FrontMatter는 이렇게 생겼습니다.

1
2
3
4
5
---
title: "Post만들 때 Draft False 하기"
date: 2020-07-10T22:45:54+09:00
draft: false
---

FrontMatter

이 부분을 우리는 Front Matter라고 부릅니다. 붙여쓰기도 하고, 떼어쓰기도 하는 것 같습니다. hugo의 Front Matter에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

구글에서 hugo default front matter로 검색해보면 Configure Hugo라는 문서를 소개합니다.
사실 이 페이지는 config.toml에 대한 전반적인 설명을 하는 페이지입니다. config.toml을 수정할 때에는 참고하는 일이 많습니다.

이 문서에서는 config.tomlfrontmatter 섹션을 추가하고 수정하라고 합니다.

이 섹션을 추가하고 수정하면 hugo new post하는 경우에 자동으로 입력되나요?

해봤습니다.

1
"hugo/안녕하세요" | new-hugopost                   

결과는 다음과 같습니다. 바뀌지 않았습니다.

---
title: "008_안녕하세요"
date: 2020-07-11T00:31:51+09:00
draft: true
---

우리는 매번 post를 만들 때마다 이 부분을 매번 손봐야 할까요? 우선 이 FrontMatter에 대해서 알아보기로 하죠

Predefined FrontMatter Variables

사실 title, date, draft하는 항목들이 어디에 있느냐면 여기에 그 일람이 나와 있습니다. 항목의 이름만 나열해 보면 다음과 같습니다.

  • aliases
  • audio
  • cascade
  • date
  • description
  • draft
  • expiryDate
  • headless # 이건 뭐죠?
  • images
  • isCJKLanguage # 이건 해야겠네요
  • keywords
  • layout
  • lastmod
  • linkTitle
  • markup
  • outputs
  • publishDate
  • resources
  • series
  • slug
  • summary
  • title
  • type
  • url
  • videos
  • weight
  • <taxonomies>

# 이 소스파일들은 어디에 있는 거죠?
# 각각의 설명이 있으면 좋겠어요
# https://gohugo.io/content-management/front-matter/ 에 설명이 있습니다.

정해져 있지 않은 FrontMatter Variables

---
helloworld: true
---

정해져 있지 않은 FrontMatter를 넣어 보았습니다만, 아무런 문제가 없었습니다.

archetypes/default.md

<site home>/archetypes/default.md 디폴트로 사용하는 것이었습니다. 그런데, 테마 디렉토리 아래에도 <site home>/themes/<theme name>/archetypes/default.md 과 같은 파일이 있었습니다. 그렇다면, 덮어쓰면 되는 걸까요? 해봤습니다.

hugo new <post path> 명령으로 생성되는 포스트는 위의 archetypes으로 자동 생성됩니다.

Page Variables

hugo의 데이타 구조에서 Content Page가 가지고 있는 property는 Page Variables라고 부릅니다. 이미 살계단계에서 부터 정해져 있는 변수들이 있는데요, 이 내용은 여기에서 확인하실 수 있습니다.

특히 FrontMatter에서 정의한 항목들은 Page-Level Params 라고 하는 부분에 기록되어 다루게 됩니다. 사용자 정의도 가능합니다. 적당한 이름규칙을 두고 사용자 정의의 항목을 만든 다음, hugo의 소스파일을 수정해서 렌더링하는 것도 가능합니다.

md파일을 생성하는 소스부분을 살펴보면 어떨까요?

draft: false

뿐만 아니라

draft:

도 false로 인식합니다. 그러니까 그냥 지우기만 해도 되는 것이죠.

레퍼런스

공유하기

tkim
글쓴이
tkim
Software Engineer