所有标签+文章数

<ul class="tags">
{% for tag in site.tags %}
  {% assign t = tag | first %}
  {% assign posts = tag | last %}
  <li>{{t | downcase | replace:" ","-" }} has {{ posts | size }} posts</li>
{% endfor %}
</ul>

这代码是 写在 模板文件中的. 也就是 include 目录下的某个文件中的.

所以 要循环的话 首先 要从 site.tags 的 site开始. 因为 模板文件 也算根站点 文件的..

assign  是给变量赋值的意思….

**tag first** 把 遍历出来的第一个标签 存到变量 t中.
**tag last** 把遍历出来的最后一个标签 存到变量 posts 中

li 里面的 就是显示出来的内容.

t | downcase  所有标签字母都变成小写. 标签里面的空格 替换成- posts | size 这里posts 是数组??? tag first既然是个标签… tag last 应该也是个标签啊… 或者 tag 里面包含了很多数据.. 只是标签名开头的把…

size

放回字符串的长度. 或者数组的个数….

Listing all Tags
<ul class="tags">
{% for tag in site.tags %}
  {% assign t = tag | first %}
  {% assign posts = tag | last %}
  <li>{{t | downcase | replace:" ","-" }} has {{ posts | size }} posts</li>
{% endfor %}
</ul>




 
Listing all Tags and the posts containing that Tag

{% for tag in site.tags %}
  {% assign t = tag | first %}
  {% assign posts = tag | last %}

{{ t | downcase }}
<ul>
{% for post in posts %}
  {% if post.tags contains t %}
  <li>
<a href="{{ post.url }}">{{ post.title }}</a>
<span class="date">{{ post.date | date: "%B %-d, %Y"  }}</span>
  </li>
  {% endif %}
{% endfor %}
</ul>
{% endfor %}

某标签所有文章

这个有问题. 一文章有多个标签. 会重复列出文件名….

列出所有标签. 并在标签下 列出所有的相应文件+文件日期…

{% for tag in site.tags %}
  {% assign T = tag | first %}
  {% assign L = tag | last %}
// 不知为什么一定要 有个L变量. 反正 要循环出 当前标签中的文章列表 只有用L 用T 是不行的. 虽然好像 t和L 的值可能是一样的.....

{{ T | downcase }}
<ul>
{% for post in L %}
// 这里不进行 判断会出现什么结果呢.
// 比如一篇文章 有三个不同标签.. 
// 不判断 这篇文件就会在文件列表里重复出现3次...这个可能是jekyll的问题把. 解决方法:
  {% if post.tags contains T %}
// 一篇文章包含很多tags.
  <li>
<a href="{{ post.url }}">{{ post.title }}</a>
<span class="date">{{ post.date | date: "%B %-d, %Y"  }}</span>
  </li>
  {% endif %}
{% endfor %}
</ul>
{% endfor %}

当然 这里是所有数据 列在一个div中… 没左右分开.

解析:

{% for tag in site.tags %}
{% assign T = tag | first %}
{% assign L = tag | last %}
    {% for post in L %}
        {% if post.tags contains T %}
                <a href="{{ post.url }}">{{ post.title }}</a>  <br> <hr><hr>
        {% endif %}
    {% endfor %}
{% endfor %}