Hugobook Params (with. Frontmatter)
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
오프라인 사용을 위해 방문한 페이지의 리소스를 캐싱하는 서비스 워커 사용
Comments