블로그 전체 글 중에서 최근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에 뜨면 좀 어지러워질 거고 나는 깔끔한 게 좋다.