2013-03-03 4 views
6

Ich habe den folgenden Header auf einem Jekyll-Post mit einem einzigen Autor "Usman", der this Artikel generiert. Ich möchte etwas wie "Autoren: usman, someone_else" haben, damit ein Kollege auch zu dem Artikel beitragen kann. Ist das möglich? Wie würde ich es einrichten.Wie kann ich mehrere Autoren für einen Beitrag in Jekyll haben?

--- 
layout: post 
title: The pitfalls of building services using Google App Engine -- Part I 
date: 2013-02-24 08:18:17 
author: usman 
categories: 
- System Admin 
tags: 
- GAE 

--- 

nahm ich einen Blick auf die Post-Vorlage für das Thema, das ich verwende, und es hat die folgende Zeile:

{% assign author = site.authors[page.author] %} 

Dies wird sich natürlich unterstützen nur einen Autor, Gibt es eine Möglichkeit sowohl zu bekommen Autoren der Seite? d. h. page.author [0] zum Beispiel?

Antwort

13

Wenn Sie mehrere Autoren in Ihrer YAML Inhaltsübersicht angeben möchten, dann gehen wollen Sie YAML Liste Syntax wie Sie haben mit Kategorien und Tags, wie diese verwenden:

author: 
- usman 
- someone_else 

Dies kann hilfreich sein für Dynamische Eingabe von Autoreninformationen in jeden der Beiträge.

Da es mehreren Leuten erlaubt ist, zum selben Artikel beizutragen, glaube ich nicht, dass das irgendwas mit Jekyll zu tun hat oder was im Frontmatter angegeben ist. Das Problem besteht darin, dass Ihr Jekyll-Inhalt an einem freigegebenen Ort gehostet wird (z. B. auf GitHub, wie es viele tun), wo sowohl Sie als auch Ihr Mitarbeiter beide an der Datei arbeiten können. Bedenken Sie jedoch, dass Sie in fiese Zusammenführungskonflikte geraten können, wenn Sie parallel an derselben Markdown-Datei arbeiten.

aktualisieren

Dies ist ein Update auf die auf die ursprüngliche Frage Bearbeitungen des OP basiert.

Ein einfacher wäre gehackten Ansatz Ihr Autor Tag wie folgt zu setzen:

author: Usman and Someone_Else 

Diese Sie aber viel Flexibilität nicht geben. Eine bessere Lösung, bei der Sie die verwendete Vorlage ändern müssten, wäre etwa Folgendes:

Zuerst richten Sie Ihre YAML Front Matter so ein, dass sie mehrere Autoren unterstützen kann.

authors: 
- Usman 
- Someone_else 

Nun ändern Sie die Vorlage durch die Autoren in der YAML Titelei angegeben zu gehen.

<p> 
{% assign authorCount = page.authors | size %} 
{% if authorCount == 0 %} 
    No author 
{% elsif authorCount == 1 %} 
    {{ page.authors | first }} 
{% else %} 
    {% for author in page.authors %} 
     {% if forloop.first %} 
      {{ author }} 
     {% elsif forloop.last %} 
      and {{ author }} 
     {% else %} 
      , {{ author }} 
     {% endif %} 
    {% endfor %} 
{% endif %} 
</p> 

resultierende HTML:

Wenn keine Autoren angegeben werden:

<p>No author</p> 

Wenn ein Autor angegeben ist:

<p>Usman</p> 

Wenn zwei Autoren angegeben sind:

<p>Usman and Someone_Else</p> 

Wenn mehr als zwei Autoren angegeben sind:

<p>Usman, Bob, and Someone_Else</p> 
+0

Thx, war meine Frage um Syntax ich dies bereits für die Zusammenarbeit in git haben. Dies generiert den Autor HTML nicht richtig. Siehe aktualisierte Frage –

+0

@UsmanIsmail Kann meine aktualisierte Antwort Ihre Frage jetzt besser beantworten? – jbranchaud

+0

Ja, also was ich vermisste war, dass es das Thema ist, das die HTML-Vorlage enthält. thx –

Verwandte Themen