Hugo에 내장된 템플릿을 사용하는 방법: 단계별 가이드

게시 됨: 2024-11-27

Hugo는 개발자와 콘텐츠 제작자가 빠르고 확장 가능한 웹사이트를 신속하게 구축할 수 있게 해주는 강력한 정적 사이트 생성기입니다. Hugo의 핵심 기능 중 하나는 콘텐츠를 구조화하고 사이트의 모양과 느낌을 사용자 정의하는 데 도움이 되는 템플릿 시스템입니다. Hugo를 처음 사용하거나 템플릿 기능을 보다 효과적으로 활용하려는 경우, 이 단계별 가이드에서는 Hugo에 내장된 템플릿을 사용하는 방법을 보여줍니다.

Hugo의 템플릿이란 무엇입니까?

Hugo의 템플릿은 사이트의 콘텐츠가 렌더링되는 방식을 정의하는 파일입니다. 이는 HTML, CSS 및 Hugo 특정 코드로 구성되어 웹사이트 레이아웃을 사용자 정의할 수 있습니다. 템플릿은 머리글, 바닥글, 단일 페이지, 목록 등을 만드는 등 다양한 목적으로 사용될 수 있습니다.

문제 확인란이 표시되지 않음 이해

Hugo에는 테마 구조의 일부인 템플릿이 내장되어 있으며 유연성을 높이기 위해 사용자 정의 템플릿을 만들 수도 있습니다. 이러한 템플릿은 콘텐츠 유형, URL 구조 및 기타 변수에 따라 자동으로 적용되므로 복잡한 사이트를 보다 쉽게 ​​관리할 수 있습니다.

1단계: Hugo 설치 및 새 사이트 만들기

템플릿을 살펴보기 전에 먼저 Hugo를 설치하고 사이트를 설정해야 합니다. 이를 수행하는 방법은 다음과 같습니다.

  1. 휴고 설치 :
    • Hugo를 설치하지 않은 경우 운영 체제에 대한 공식 설치 가이드인 Hugo 설치를 따르세요.
  2. 새 Hugo 사이트 만들기 :
    • 새 사이트를 생성하려면 터미널에서 다음 명령을 실행하세요.
       hugo new site mysite
    • 그러면 Hugo 프로젝트의 기본 파일 구조를 사용하여 mysite 라는 새 디렉터리가 생성됩니다.

2단계: 테마 추가

Hugo는 테마를 사용하여 콘텐츠 표시 방법을 관리합니다. Hugo 테마의 기존 테마를 사용하거나 사용자 정의 테마를 만들 수 있습니다. 단순화를 위해 Hugo 테마 라이브러리의 테마를 사용하겠습니다.

  1. 테마 추가 :
    • 테마를 themes/ 디렉터리에 복제하여 추가할 수 있습니다. 예를 들어 "Ananke" 테마를 사용해 보겠습니다.
       git init git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke
  2. 테마 구성 :
    • config.toml 파일을 열고 테마를 설정합니다.
       theme = "ananke"

3단계: Hugo 템플릿 구조 이해

Hugo의 템플릿 시스템은 Go 템플릿 언어를 기반으로 합니다. 템플릿은 목적에 따라 여러 범주로 구분됩니다.

  • 기본 템플릿 : 콘텐츠를 래핑하는 중요한 템플릿입니다. 여기에는 머리글, 바닥글, 탐색 등의 공통 섹션이 포함되는 경우가 많습니다.
  • 콘텐츠 템플릿 : 개별 콘텐츠 유형(예: 블로그 게시물, 페이지, 섹션)이 표시되는 방식을 정의합니다.
  • 목록 템플릿 : 이 템플릿은 콘텐츠 그룹이 표시되는 방식을 제어합니다(예: 블로그 게시물 목록).
  • 부분 템플릿 : 기본 템플릿에 포함된 재사용 가능한 작은 조각(예: 탐색 모음 또는 바닥글)입니다.

공통 템플릿 디렉토리

  • layouts/ : index.html , single.html 등과 같은 모든 레이아웃 파일을 포함합니다.
  • themes/ : 선택한 테마와 함께 제공되는 템플릿이 포함되어 있습니다.
  • content/ : 콘텐츠 파일을 저장합니다(일반적으로 Markdown으로 작성됨).

4단계: 템플릿 만들기

페이지의 템플릿을 만들고 수정하는 방법을 살펴보겠습니다.

  1. 새 콘텐츠 파일 만들기 :
    • 새 페이지(예: 블로그 게시물)를 만들려면 다음 명령을 사용하세요.
       hugo new posts/my-first-post.md
    • 이렇게 하면 머리말(YAML 또는 TOML)과 콘텐츠에 대한 자리 표시자가 포함된 content/posts/ 내에 새 Markdown 파일이 생성됩니다.
  2. 단일 페이지용 템플릿 만들기 :
    • layouts 디렉터리에서 layouts/_default/ 내부에 single.html 이라는 파일을 만듭니다. 개별 콘텐츠 페이지가 표시되는 방식을 제어합니다.
       <!-- layouts/_default/single.html --> <html> <head> <title>{{ .Title }}</title> </head> <body> <header> <h1>{{ .Title }}</h1> </header> <main> <article> {{ .Content }} </article> </main> </body> </html>
    • 이 템플릿은 귀하가 만든 단일 페이지의 제목과 내용을 표시합니다.
  3. 목록 템플릿 만들기 :
    • 마찬가지로, 여러 콘텐츠 항목(예: 게시물 목록)을 표시하기 위한 목록 템플릿을 만들 수 있습니다. layouts/_default/ 디렉토리에 list.html 만듭니다.
       <!-- layouts/_default/list.html --> <html> <head> <title>{{ .Title }}</title> </head> <body> <header> <h1>{{ .Title }}</h1> </header> <main> <ul> {{ range .Pages }} <li><a href="{{ .Permalink }}">{{ .Title }}</a></li> {{ end }} </ul> </main> </body> </html>

5단계: 템플릿 사용자 정의

Hugo의 풍부한 템플릿 기능 세트를 사용하여 템플릿을 향상시킬 수 있습니다. 예를 들어 사용자 정의 CSS를 포함하거나 변수를 반복하거나 날짜 형식을 지정할 수 있습니다.

  • CSS 추가 : CSS 파일을 템플릿에 연결할 수 있습니다.
     <link rel="stylesheet" href="{{ "styles.css" | relURL }}">
  • 날짜 형식 지정 : date 기능을 사용하여 날짜를 특정 형식으로 표시합니다.
     <p>Published on: {{ .Date.Format "January 2, 2006" }}</p>

6단계: 사이트 제공 및 미리보기

템플릿이 준비되고 콘텐츠가 추가되면 사이트를 로컬에서 미리 볼 수 있습니다.

 hugo server

사이트를 보려면 http://localhost:1313 으로 이동하세요.

Hugo 템플릿에 관한 FAQ

1. Hugo의 "레이아웃" 디렉토리의 목적은 무엇입니까?

layouts 디렉토리는 Hugo의 모든 템플릿 파일을 저장하는 곳입니다. 이는 사이트의 프런트 엔드에서 다양한 유형의 콘텐츠(예: 게시물, 페이지, 목록)가 렌더링되는 방식을 정의하는 데 사용됩니다. 템플릿은 개별 콘텐츠 페이지의 경우 single.html , 콘텐츠 목록의 경우 list.html 과 같이 유형과 위치별로 구성됩니다.

2. Hugo에서 나만의 맞춤 템플릿을 만들 수 있나요?

예, Hugo에서 사용자 정의 템플릿을 만들 수 있습니다. 템플릿을 layouts 디렉터리에 배치하면 특정 콘텐츠 유형, 섹션 또는 고유한 콘텐츠 표시에 대한 특수 템플릿을 만들 수 있습니다. Hugo를 사용하면 선택한 테마의 기본 템플릿을 재정의할 수도 있습니다.

3. Hugo는 콘텐츠 파일과 템플릿을 어떻게 처리합니까?

Hugo는 컨텐츠 파일(Markdown 또는 기타 형식으로 작성된)이 템플릿과 쌍을 이루어 표시 방법을 정의하는 시스템을 사용합니다. 콘텐츠(예: 블로그 게시물)를 생성하면 Hugo는 자동으로 적절한 템플릿(예: single.html )을 찾고 해당 템플릿을 사용하여 콘텐츠를 렌더링합니다. Hugo는 또한 다양한 템플릿을 사용할 수 있는 섹션으로 콘텐츠 구성을 지원합니다.

4. Hugo의 부분 템플릿이란 무엇입니까?

부분 템플릿은 다른 템플릿에 포함될 수 있는 재사용 가능한 구성 요소 또는 HTML 조각입니다. 예를 들어 머리글, 바닥글 또는 탐색 메뉴를 부분적으로 생성하고 {{ partial "header.html" . }} 구문. 이는 DRY(Don't Repeat Yourself) 원칙을 유지하는 데 도움이 되며 사이트 관리를 더 쉽게 만듭니다.

5. Hugo 템플릿을 사용자 정의 테마와 함께 사용할 수 있나요?

예, Hugo에서 사용자 정의 테마를 사용할 수 있습니다. 자신만의 테마를 만들거나 Hugo 테마 저장소의 기존 테마를 사용할 수 있습니다. 기존 테마를 사용하는 경우 layouts 디렉토리에 사용자 정의 템플릿을 추가하여 해당 템플릿을 재정의할 수 있습니다. 이를 통해 전체 구조를 변경하지 않고도 테마의 특정 부분을 수정할 수 있습니다.


이러한 단계를 따르고 Hugo의 템플릿 시스템을 이해하면 강력하고 사용자 정의 가능한 웹 사이트를 구축할 수 있습니다. 내장 템플릿을 사용하든 직접 생성하든 상관없이 Hugo는 정적 사이트를 쉽게 개발하는 데 필요한 유연성과 속도를 제공합니다.