文章
药!药!切克闹!
这是一篇并不存在的文章,说不存在,主要是因为它只作为一篇 flag
,这篇文章是我在构建博客中应用一个小 hack
的产物,如有雷同,不胜荣幸。
为什么要采用这个 hack
首先声明:hack
不安全,应用需谨慎
起因
想着遍历一次,就遍历出每年的文章数(当然遍历两次很容易实现)。但是,我想到的所有不应用 hack
的方法,都无法实现,遂,退而求其次,用 hack
吧。
可乘之机
发现每次遍历文章时,都是按时间
顺序、规则
遍历的(总是从最新的文章开始),这就有了可乘之机。
<ul>
{% capture post_year_now_head %}{{ site.time | date: '%Y' }}{% endcapture %}
{% assign per_year_total = 0 %}
{% for post in site.categories.articles %}
{% capture post_year_article_head %}{{ post.date | date: '%Y' }}{% endcapture %}
{% if post_year_now_head == post_year_article_head %}
{% capture per_year_total %}{{ per_year_total | plus:1 }}{% endcapture %}
{% else %}
<li>
<a class="pointer" href="#{{ post_year_now_head }}">
<span>{{ post_year_now_head }}</span>
<span>({{ per_year_total }})</span>
</a>
</li>
{% assign post_year_now_head = post_year_article_head %}
{% assign per_year_total =1 %}
{% endif %}
{% endfor %}
</ul>
不让liquid
运行,包裹其中
{\% raw %}
“加 "\" ,防止运行”
{\% endraw %}
诞生
但这并不完结,发现最后一年的文章是遍历不出来的,这就需要做一篇很久以前的文章则作为 hack
flag
,于是这篇文章就诞生了。