[Hugo] Learn 주제에 디렉터리를 숨기는 방법

5462 단어 Hugotech

TL; DR

  • Hugo의 Learn 테마에 디렉터리를 숨기기 위해 각 페이지의 front-matter에 지정disableToc = true
  • 휴고의 기능과 설정 방법은 주제에 따라 다르기 때문에 조사 방법도 기재했다.
  • 1. 발단


    개인이 개발한 강화학습용cpprb, 이용Hugo으로 프로젝트 사이트를 만들고 있다.
    한 번은 페이지 위의 내비게이션에 신비로운 영역이 표시되어 있다는 것을 갑자기 깨달았다.

    왼쪽 상단에 불가사의한 영역이 하나 있다
    사용된 영역테마 프레젠테이션 페이지을 살펴보면 마우스를 통해 디렉토리(Table of Contents)를 과도하게 표시하는 영역입니다.
    왜 잘 나타나지 않았는지 모르겠고, 각 페이지의 상부에 디렉터리가 필요하며, 각 페이지의 정보량이 많지 않기 때문에 디렉터리 자체를 더 이상 표시하지 않기로 결정했다.

    2. 숨기는 법


    나중에야 알아차렸어...
    Learn 주제에 대해 지정하면disableToc = true 좋겠다고 적혀 있습니다.
    https://learn.netlify.app/en/cont/pages/#front-matter-configuration
    Hugo는 주제에 따라 사용 가능한 기능과 설정 방법도 다르기 때문에 실제 소스 코드 조사 행위를 보는 방법을 기재했다.
    Hugo의 주제는 layouts/partials 아래 페이지의 구성 요소를 템플릿으로 사용하는 것입니다.
    카탈로그를 관장하는 것toc.html일 수도 있으니까 들여다봤죠.
    layouts/partials/toc.html
    <div class="progress">
        <div class="wrapper">
    {{ .TableOfContents }}
        </div>
    </div>
    
    이 구성 요소는 조건 없이 디렉터리를 표시합니다.{{ .TableOfContents }}는 페이지 내용 디렉토리를 표시하는 Hugo의 표준 기능입니다.
    https://gohugo.io/content-management/toc/
    호출toc.html의 부분을 찾아 엿보기header.html.
    layouts/partials/header.> (82행-84행)
    {{ if $toc }}
      {{ partial "toc.html" . }}
    {{ end }}
    
    이것은 $toc 변수가 실시간 호출 toc.html 이기 때문에 목적 디렉터리의 표시와 숨겨진 전환을 전환할 수 있습니다.$toc의 정의를 찾아보면 같은 파일63행에 있습니다.
    layouts/partials/header.> (63행)
    {{$toc := (and (not .Params.disableToc) (not .Params.chapter))}}
    
    알겠습니다. .Params.disableToc 진짜로 지정하면 됩니다.
    약간 헷갈리기 쉬워요.config.toml 등 설정전체 사이트 설정.Site.Params,.Params은 개별 페이지의fronnt-matter가 설정한 값입니다.
    따라서 개별 페이지의markedown 파일의front-matter에 지정disableToc = true하면 목적을 달성할 수 있습니다.
    페이지md
    +++
    title = "hogehoge"
    author = ["name"]
    + disableToc = true
    +++
    
    以下、普通のmarkdownドキュメント
    

    3. 혜택


    markdown 파일을 직접 편집하면 이상으로 완성됩니다. 저는 README의 내용을 사이트에 옮기고 싶습니다. 그리고 매번 front-matter를 쓰는 것이 번거롭기 때문에 Emacs Org Mode를 모아 놓은 파일ox-hugo을 썼고 노드마다markdown 파일로 출력했습니다.
    내보낼 때front-matter의 지정은 다음 페이지에 기록됩니다.
    https://ox-hugo.scripter.co/doc/custom-front-matter/
    #+hugo_custom_front_matter: :disableToc true
    
    문서에서 이 속성의 지정이front-matter를 덮어쓰는지 기본 설정에 추가되었는지 판단할 수 없지만 시도한 후에 추가되기 때문에 상기 설정만으로 디렉터리를 숨길 수 있습니다.

    좋은 웹페이지 즐겨찾기