🏠 home / 📮 posts / 📽️ project / 🏗️ this blog / recent섹션 만들기

recent섹션 만들기

2025-11-05 Zola

블로그 전체 글 중에서 최근10개의 글 모은 섹션을 만들기로 했다.

내가 웹개발자가 아니고 zola를 깊이 배울 필요가 없다고 생각해서 바이브 코딩을 시도했다.

나는 원래 바이브 코딩을 안 한다. 커서와 클로드를 사용해봤지만 지금은 아예 사용 안 한다. 왜냐하면 발전이 더디고, 에러 몇번 나면 공부하고 나서 코딩하는 것보다 더 느리다. 그래서 나는 공부할 때 llm을 많이 사용하고 코딩할땐 내가 한다. 그런데 졸라는 문법이 간단해서 될 것 같았다.

근데 안 됐다. 그록, chatgpt시도해 봤으나 할루시네이션이 계속 나온다. 내가 zola가 마이너한 프로그램이라는 걸 간과했다. llm성능은 데이터의 양에 크게 의존한다. 공식문서 링크를 걸어도 할루시네이션이 나와서 계속 에러가 난다.

노트북lm에다가 zola공식문서의 링크를 전부 넣으니 한번에 한다. 원래 노트북lm을 공부할 때 많이 쓰긴 하는데, 바이브코딩은 처음 해봤다.

위의 저 속성을 섹션에 넣으면, 그 섹션의 게시물이 상위 섹션의 게시글로도 뜬다.
나는 diary, project, book의 모든 글을 main으로 뜨게 한 후, main의 게시글을 recent에서 뜨게 했다.

{% extends "base.html" %}

{% block content %}
{% set parent_section = get_section(path="main/_index.md") %}
<h1>recent_pages</h1>
    {{ section.content | safe }}
    {% if parent_section.pages %}
        <ul>
        {# 
            2. parent_section.pages는 이미 'date'로 정렬되어 있습니다. 
            | slice(end=10) 필터를 사용하여 목록의 상위 10개 항목만 가져옵니다.
        #}
        {% for page in parent_section.pages | slice(end=10) %}
            <li>
                {# page.permalink은 URL을 나타내므로, HTML 이스케이프를 방지하기 위해 | safe 필터를 사용합니다 [7]. #}
                <a href="{{ page.permalink | safe }}">{{ page.title }}</a> 
                {% if page.date %}({{ page.date }}){% endif %}
            </li>
        {% endfor %}
        </ul>     
    {% else %}
        <p>현재 표시할 게시물이 없습니다.</p>
    {% endif %}    
{% endblock content %}

recent섹션만의 템플릿이다.\

+++
title = "🏠 this blog"
sort_by = "date" 
[taxonomies]
tags = ["Flutter","Zola","Azure"]
+++

맨 아래 속성이 핵심이다.

main섹션에다가 바로 최신 글 10개 띄울까 고민을 해 봤지만 나는 recent로 따로 뺐다. 최신글은 여러 주제의 글이 섞일텐데, main에 뜨면 좀 어지러워질 거고 나는 깔끔한 게 좋다.