2012-03-26 22 views
2

Ich frage mich, ob jemand erklären könnte, wie ich Tags in einem Artikel verwenden kann.Verwenden von Middleman-Tags

Die Dokumentation besagt, dass die Blog-Erweiterung standardmäßig den Zugriff auf markierte Artikel über tags/blogging.html ermöglichen soll. http://middlemanapp.com/guides/blog Ich denke, ich bin mir nicht sicher, ob ich dieses Verzeichnis (tags/blogging.html) erstellen muss oder ob es für mich generiert wird?

Dann frage ich mich, wie Sie eine Liste von Tags erstellen, jeder mit einer URL, die auf diese Tag-Vorlage verweist.

Ich habe diese Beispiel-Tag-Daten in den Vordergrund einiger meiner Artikel hinzugefügt.

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

meine index.html.erb sieht wie folgt aus:

<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> 

Das ist alles meine Artikel ausgibt, mit einem Titel, Datum, alle Tags und eine Zusammenfassung.

Ich gehe davon aus, dass Sie alle Tags durchlaufen müssen und jede in einer eigenen URL ausgeben müssen, aber ich bin nicht wirklich sicher, wie Sie das am besten machen.

Bei einer Vermutung ich wie sein etwas gehe davon aus:

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

Jede Hilfe sehr geschätzt wird. Danke

Antwort

0

Nicht in 2.0 unterstützt. Eventuell in der kommenden 3.0

1

Derzeit würden Sie es wie so tun müssen:

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

Angenommen, Ihre Tags mit einem Komma und ein Leerzeichen voneinander getrennt sind.

1

Tags für alle Artikel können mit folgenden abgerufen werden:

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

Das ist genau das, was ich auf meinem Blog haben: -

Blog

Github

3

Durch die Kombination von andere Antworten Ich habe diese Lösung gefunden.

Es hat den Vorteil, einen generierten Pfad zu verwenden, anstatt den fest codierten.

1

Ich schreibe meine Tags in der frontmatter als Array

tags   : [ accessibility, standards ] 

Dann kann ich nur durch sie Schleife

In HAML wäre es

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

ne Das funktioniert perfekt für mich in HAML zum Anzeigen der Tags, keine Links

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