Skip to main content

Blowfish 테마: 콘텐츠 구조화 가이드

·508 words·3 mins
미뇽
Author
미뇽
안녕하세요! 기술로 세상을 이롭게 만들고 싶은 개발자 미뇽입니다.
Table of Contents

Hugo와 Blowfish 테마를 사용하여 블로그를 만들 때, 가장 중요하면서도 처음에는 헷갈리는 부분이 바로 콘텐츠를 어떻게 구성하고 정리하는가입니다. 잘 정리된 콘텐츠 구조는 보기에도 좋을 뿐만 아니라, URL 경로, 메뉴 구성, 그리고 장기적인 유지보수에 직접적인 영향을 미칩니다.

오늘은 Hugo의 공식적인 콘텐츠 조직 방법론을 바탕으로, Blowfish 테마에서 이를 어떻게 효과적으로 적용할 수 있는지에 대한 완벽한 가이드를 제시합니다.

Hugo 콘텐츠 구성의 핵심: 섹션(Sections)
#

Hugo는 매우 직관적인 방식으로 콘텐츠를 구성합니다. 프로젝트의 content/ 폴더 안에 만드는 최상위 폴더가 곧 사이트의 **섹션(Section)**이 됩니다.

예를 들어, 아래와 같은 폴더 구조를 생각해 보세요.

content/
├── posts/
└── projects/
  • content/posts/ 폴더는 posts라는 섹션을 만듭니다. 이 섹션의 URL은 https://your-site.com/posts/가 됩니다.
  • content/projects/ 폴더는 projects 섹션을 만듭니다. URL은 https://your-site.com/projects/가 됩니다.

이처럼 폴더 구조가 그대로 사이트의 URL 구조로 연결되는 것이 Hugo의 가장 큰 특징입니다. Blowfish 테마 역시 이 기본 구조를 그대로 따릅니다.

두 종류의 index 파일: _index.md vs index.md
#

Hugo의 콘텐츠 구조를 이해하기 위한 가장 중요한 개념은 바로 _index.mdindex.md 파일의 차이를 아는 것입니다.

_index.md: 섹션의 대표 페이지 (List Page)
#

_index.md 파일은 특정 폴더(섹션) 자체를 설명하는 대표 페이지를 만들 때 사용됩니다. 예를 들어, content/posts/_index.md 파일은 /posts라는 URL로 접속했을 때 보이는 게시글 목록 페이지의 제목이나 상단 소개글을 제어합니다.

---
# content/posts/_index.md
title: "나의 기술 블로그"
description: "개발 과정에서 배운 점과 기술적인 고민을 공유합니다."
---

이곳은 저의 개발 블로그입니다. 다양한 주제의 글들을 살펴보세요.

위 내용 중 Front Matter(—로 둘러싸인 부분)는 페이지의 메타데이터를, 그 아래 내용은 게시글 목록 상단에 표시될 콘텐츠를 정의합니다.

index.md: 개별 페이지와 리소스 묶음 (Leaf Bundle)
#

index.md 파일은 하나의 완전한 개별 페이지를 만들 때 사용되며, 특히 해당 페이지에 사용되는 이미지 등의 리소스를 함께 묶어서 관리할 때 매우 유용합니다. 이를 Leaf Bundle 방식이라고 부릅니다.

예를 들어, my-first-post라는 글을 작성한다고 가정해 봅시다.

content/posts/
└── my-first-post/
    ├── index.md     <-- 글의 실제 내용
    └── hero.png     <-- 이 글에서 사용할 대표 이미지

이 구조의 가장 큰 장점은 index.md 파일 안에서 이미지를 ![대표 이미지](hero.png)처럼 매우 간단하게 참조할 수 있다는 것입니다. 경로가 복잡해지지 않아 관리가 매우 편리하며, 새로운 글을 작성할 때 가장 추천되는 방식입니다.

Blowfish 테마 추천 콘텐츠 구조
#

위의 개념들을 바탕으로, 일반적인 Blowfish 블로그에 추천하는 전체적인 콘텐츠 구조는 다음과 같습니다.

.
├── assets
│   └── img
│       └── author.jpg
├── config
│   └── _default
├── content
│   ├── _index.md            # 🏠 사이트 전체의 홈페이지 콘텐츠
│   ├── about.md
│   └── posts                # 📝 'posts' 섹션
│       ├── _index.md        # /posts/ 리스트 페이지의 제목/소개
│       ├── first-post.md    # 첫 번째 글 (Page Bundle)
│       └── another-post     # 두 번째 글 (Leaf Bundle)
│           ├── aardvark.jpg
│           └── index.md
└── themes
    └── blowfish
  • content/_index.md: 사이트의 메인 홈페이지(https://your-site.com/) 내용을 제어합니다. Blowfish의 heroprofile 레이아웃을 설정할 때 사용됩니다.
  • content/posts/: 모든 블로그 게시글이 위치하는 곳입니다.
  • content/authors/: Blowfish 테마의 저자별 페이지 기능을 위해 사용되는 특별한 섹션입니다. 각 저자별로 폴더를 만들고 그 안에 _index.md를 두어 저자 소개 페이지를 만들 수 있습니다.

마무리하며
#

Hugo의 콘텐츠 구성 방식은 ‘폴더가 곧 섹션’이라는 간단한 규칙에서 시작합니다. 여기에 _index.mdindex.md의 역할을 정확히 이해하고, Blowfish 테마가 요구하는 Front Matter를 적절히 활용하면 매우 체계적이고 확장 가능한 블로그를 만들 수 있습니다.

새로운 글을 작성하실 때는 가급적 폴더를 만들고 그 안에 index.md를 생성하는 Leaf Bundle 방식을 사용해 보세요. 이미지 관리가 훨씬 수월해져 콘텐츠 작성의 즐거움이 배가 될 것입니다.