Использование тегов Middleman - PullRequest
2 голосов
/ 26 марта 2012

Мне интересно, может ли кто-нибудь объяснить, как я могу использовать теги в статье.

В документации говорится, что по умолчанию расширение блога должно позволять вам получать доступ к тегированным статьям через 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 ]

3 голосов
/ 03 мая 2014

Объединив другие ответы, я нашел это решение.

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

Преимущество заключается в использовании сгенерированного пути, а не в жестко заданном.

2 голосов
/ 20 марта 2014

Теги для всех статей можно получить с помощью следующего:

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

Это именно то, что у меня есть в моем блоге: -

Блог

Github

1 голос
/ 21 мая 2014

Я записываю свои теги во frontmatter как массив

tags           : [ accessibility, standards ]

Тогда я могу просто просмотреть их

В HAML это будет

- current_page.data.tags.each do | tag |
1 голос
/ 14 февраля 2013

В настоящее время вы должны сделать это так:

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

При условии, что ваши теги разделены запятой и пробелом.

0 голосов
/ 20 июня 2014

Это отлично работает для меня в HAML, просто для отображения тегов, без ссылок

%p= article.tags.join(', ')
0 голосов
/ 27 марта 2012

Не поддерживается в 2.0.Возможно в предстоящем 3.0

...