2

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

文档指出,默认情况下,博客扩展应该允许您通过 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 %>

任何帮助表示赞赏。谢谢

4

6 回答 6

3

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

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

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

于 2014-05-02T23:19:29.020 回答
2

所有文章的标签都可以通过以下方式检索:

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

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

博客

Github

于 2014-03-20T04:14:29.220 回答
1

目前,您必须这样做:

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

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

于 2013-02-14T09:15:36.710 回答
1

我将我的标签作为数组写在frontmatter中

tags           : [ accessibility, standards ]

然后我可以遍历它们

在 HAML 中它会

- current_page.data.tags.each do | tag |
于 2014-05-21T15:01:39.007 回答
0

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

于 2012-03-27T00:32:33.037 回答
0

这在 HAML 中非常适合我,只显示标签,没有链接

%p= article.tags.join(', ')
于 2014-06-20T16:03:04.353 回答