Hugobook Params (with. Frontmatter)
2023년 6월 14일
hugo는 content에 대한 모든 변수들을 Params에 지정하며 content의 frontmatter로도 Params를 지정할 수 있다.
보통 테마자체에서 사용할 변수들도 Params에 넣고, 이것들은 각기 사용해야 하는 테마별로 문서를 확인해봐야 한다.
Archetypes #
물론 archetypes나 config의 Params나 같은곳이지만, archetypes는 frontmatter처럼 컨텐츠별로 변수를 지정하기 위해 사용한다.
title #
title: "{{ replace .Name "-" " " | title }}"
보통 .Name을 통해 파일명으로 title을 초기화한다.
linktitle #
메뉴에 표시되는 이름. posts 타입의 제목에 표시되는 이름 이것들이 모두 linktitle이 된다.
이상하다고 느끼는건 title과 linktitle을 모두 지정한 경우 permalink 에는 title이 포함되고 나머지는 linktitle이 지정돼서 안쓰는게 좋아보인다.
date #
date: {{ .Date }}
게시글 작성 시 서버시간으로 치환되어 게시글에 현재시간이 출력된다.
lastmod #
lastmod: .Date
게시글 생성시에는 go 템플릿 문법으로 작성이 되지 않아서 content에 그대로 lastmod: .Date 로 들어가는데,
게시글이 빌드될때 frontmatter에서 .Date가 현재시간으로 변경되어 수정된 시간이 된다.
(수정될때만 리빌드가 발생하기 때문)
weight #
weight: 1
게시글의 순서를 지정한다. 메뉴에서의 순서나 list 형식에서의 순서를 지정한다.
이 값이 없거나 같은 값이라면 date 값이 최신일수록 앞으로 오게된다.
type #
기본적으로 렌더링 layout은 섹션이 기준이 되는데, 렌더링 타입을 직접 지정할 수 있다.
bookFlatSection: false #
section을 flat형태로 만드는 변수. 메뉴이름이 bold처리되며, 하위의 게시글들이 모두 section과 같은 깊이로 변한다.
예시에서 hugo_blog의 _index.md 에 bookFlatSection값을 true로 설정하고, 하위의 게시글들을 전부 bookHidden:false로 설정했다.

bookToc: true #
게시글에서 제목(h2, h3)이 되는 부분을 목차로 자동생성 및 표시 하는 기능.
false로 설정된다면 목차가 사라지며 게시글의 공간이 넓어진다.
bookHidden: false #
게시글이 메뉴에서 보여질지 여부를 정한다. true인 경우 숨김처리가 된다.
메뉴에서만 보이지 않고 list에서는 보인다.
bookCollapseSection: false #
메뉴에 접기버튼을 만들지 여부
bookComments: false #
코멘트를 달 수 있는 게시글인지 여부
bookSearchExclude: false #
검색에서 포함시킬지 여부. 이 기능이 true가 되면 컨텐츠는 검색되지 않는다.
bookHref #
메뉴나 list에서 게시글을 클릭했을때 이동될 주소. 기본값으론 게시글의 주소가 된다. 깃허브 링크메뉴를 만들때 유용할것같다.
Params #
frontmatter에서 직접 지정해도 되지만 전역적인 기본 설정을 위해 Params에서 제어하는게 편할 수 있다.
Params에서 설정한 값이 먼저 적용되고 이후에 content 변수값이 적용된다.
BookTheme = ’light' #
테마의 모드를 변경한다. 당연하게도 이 변수는 게시글 이전에 사용되고 끝나기 때문에 게시글마다 테마를 지정할 순 없다.
BookToC = true #
기본 TOC 설정이다.
BookLogo = '' #
BookLogo = 'logo.png' (위치: /static/logo.png)
사이트의 logo를 지정한다.
BookSection = ‘docs’ #
메뉴에 렌더링할 섹션을 지정한다. * 로 지정하는 경우 모든 섹션이 메뉴에 렌더링된다.
BookMenuBundle = '' #
BookMenuBundle = '/menu'
이전 hugobook은 LeafBundleMenu 형식으로 메뉴를 표시했었는데, 2022년 6월부터 File tree Menu 형식으로 변경되며 사용하지 않는다.
이 변수는 메뉴 구성을 수작업으로 작성한 파일의 위치를 지정한다.
BookRepo = ‘ https://github.com/alex-shpak/hugo-book' #
BookRepo = 'https://git.dongkim.xyz/user_kdh/hugo-book2'
hugo 사이트의 repository 주소. ‘Edit this page’나 ‘Last Modified’ 때 이 레포 주소로 이동한다.
BookEditPath = ’edit/master/’ #
‘Edit this page’에서 사용되는 주소이다.
페이지 수정 시 깃에서 바로 수정할 수 있는 BookRepo/BookEditPath/FilePath 주소로 이동된다.
이 변수를 제거하면 컨텐츠 페이지에서 Eidt this page 기능이 사라진다.
BookCommitPath = ‘commit’ #
이것도 마찬가지로 ‘Last Modified’에서 사용되는 BookRepo/BookCommitPath/<commit-hash> 경로 관련 변수이다.
github는 commit, bitbucket은 commits를 사용하면 되는데 hugo에서 커밋을 사용하는곳을 아직 발견하진 못했다.
BookDateFormat = ‘Jan 2, 2006’ #
날짜를 표시할 포맷을 지정한다. 년, 월, 일은 고정이다.
2006년 1월 2일 로 지정하면 년도가 2006, 월은 1, 일은 2 위치에 전달되어 날짜 포맷이 완성된다.
BookSearch = true #
검색기능을 사용할지 여부를 지정할 수 있다. false로 지정하면 검색필드도 사라진다.
BookComments = true #
전역적인 코멘트 설정을 의미
Optional #
실험적으로 추가된 변수들이다.
BookPortableLinks = true #
휴대용링크 활성화? 이 기능은 뭔지 모르겠다.
BookServiceWorker = true #
오프라인 사용을 위해 방문한 페이지의 리소스를 캐싱하는 서비스 워커 사용