使用中间人标签

时间:2012-03-26 10:32:51

标签: middleman

我想知道是否有人可以解释我如何在文章中使用标签。

该文档指出,默认情况下,博客扩展应允许您通过tags / blogging.html访问带标记的文章。 http://middlemanapp.com/guides/blog 我想我不确定是否需要创建这个目录(tags / blogging.html)或者是否为我生成了它?

然后我想知道如何创建一个标签列表,每个标签都有一个指向此标签模板的URL。

我已将此示例代码数据添加到我的一些文章的前面。

--- 
title: My Middleman Blog Post
date: 2011/10/18
category: music
tags: blogging, middleman, hello, world
---

我的index.html.erb看起来像这样:

<section class="article-index music">
    <% data.blog.articles.each_with_index do |article, i| %>
        <% if article.category == 'music' %>
            <article>
            <h2><a href="<%= article.url.sub('.html','') %>"><%= article.title %></a></h2>
            <time pubdate><%= article.date.strftime('%b %e') %></time>
            <span class="categories"><%= article.tags %></span>
            <%= article.summary %>
            </article>
        <% end %>
    <% end %>
</section>

这是输出我的所有文章,包括标题,日期,所有标签和摘要。

我假设您需要循环遍历所有标记并在其自己的URL中输出每个标记,但我不确定最佳方法。

猜测我假设它的东西是:

<% article.tags.each do |tag| %>
    <a href="/tags/#{tag}.html">tag</a>
<% end %>

感谢任何帮助。 感谢

6 个答案:

答案 0 :(得分:3)

通过结合其他答案,我提出了这个解决方案。

<% article.tags.each do |tag| %>
  <%= link_to tag, tag_path(tag) %>
<% end %>

它具有使用生成路径的好处,而不是硬编码路径。

答案 1 :(得分:2)

可以使用以下内容检索所有文章的标签:

<% blog.tags.each do |tag, articles| %>
  <%= link_to tag, tag_path(tag) %> (<%= articles.size %>)<br />
<% end %>

这正是我在博客上的内容: -

Blog

Github

答案 2 :(得分:1)

目前,你必须这样做:

<% article.tags.split(", ").each do |tag| %>
  <a href="/tags/#{tag}.html">tag</a>
<% end %>

假设您的标签以逗号和空格分隔。

答案 3 :(得分:1)

我在frontmatter中将我的标签写成数组

tags           : [ accessibility, standards ]

然后我可以循环浏览它们

在HAML中它会

- current_page.data.tags.each do | tag |

答案 4 :(得分:0)

2.0不支持。可能在即将到来的3.0

答案 5 :(得分:0)

这在HAML中完全适用于我只显示标签,没有链接

%p= article.tags.join(', ')