2024-09-21
zola官方给的代码:
<div class="posts">
{% for page in paginator.pages %}
<article class="post">
{{ post_macros::title(page=page) }}
<div class="post__summary">
{{ page.summary | safe }}
</div>
<div class="read-more">
<a href="{{ page.permalink }}">Read more...</a>
</div>
</article>
{% endfor %}
</div>
<nav class="pagination">
{% if paginator.previous %}
<a class="previous" href="{{ paginator.previous }}">‹ Previous</a>
{% endif %}
{% if paginator.next %}
<a class="next" href="{{ paginator.next }}">Next ›</a>
{% endif %}
</nav>
但是,这个代码有个问题,就是只能读取根目录下的文章。
内置变量paginator
对应的就是content文件夹下的section,对应的模版文档是_index.md
文件。
如果你的文章不在content
文件夹下,那么这个代码就不适用了。
我的代码是在/content/blog
文件夹下,所以我需要修改这个代码。写个新的变量,获取新的section
,然后遍历这个section
。
{% set blog_pages = get_section(path="blog/_index.md") %}
{% for page in blog_pages.pages %}
以上就是关键的代码。
完整代码如下:
{% extends "base.html" %}
{% block content %}
<h1 class="title" style="font-family: 'Taipei-Sans-TC-Beta-Light-2';">
一榻梦生琴上月,百花香入案头诗。
</h1>
<div class="posts">
{% set blog_pages = get_section(path="blog/_index.md") %}
{% for page in blog_pages.pages %}
<article class="post">
<div class="post-title"><a href="{{page.permalink}}" class="post-title-link">{{ page.title }}</a></div>
<div>
{# summary #}
{{ page.content | striptags | truncate(length=150) | safe }}
</div>
<div class="read-more">
<a>未完待续...</a>
</div>
</article>
{% endfor %}
</div>
{% endblock content %}