2016-07-19 5 views
1

Ich versuche, Jekyll verwenden, um einen gültigen Podcast-Feed mit bestimmten Blog-Post von mir zu erstellen. Allerdings Ich habe Probleme mit Jekyll das Gehäuse und die Formatierung von einigen XML-Tags zu ändernJekyll für podcast/xml - Verarbeitung ändert Tag Fälle und Inhalt

Dies ist die Vorlage I für jede einzelne item des Futters haben:

{% for post in site.posts %} 
    {% if post.layout == "podcast" %} 
    <item> 
     <title>{{post.title}}</title> 
     <description> 
      {{post.title}} 

      {{ post.overview | xml_escape}} 
     </description> 
     <content:encoded> 
      {{post.title}}<br /> 
      {{ post.overview | xml_escape}}<br /> 
      {{ post.content }} 
     </content:encoded> 
     <guid>{{ site.url }}{{ post.url }}</guid> 
     <link>{{ site.url }}{{ post.url }}</link> 
     <pubDate>{{ post.date | date: "%a, %d %b %Y %H:%M:%S GMT" }}</pubDate> 
     <itunes:image href="{{ site.url }}{{ post.thumb }}" /> 
     <enclosure url="{{ post.mp3link }}" length="{{ post.length }}" type="audio/mpeg" /> 
    </item> 
    {% endif %} 
    {% endfor %} 

Die relevanten Teile sind diese beiden Tags:

<link>{{ post.url }}</link> 
<pubDate>{{ post.date | date: "%a, %d %b %Y %H:%M:%S GMT" }}</pubDate> 

In der Ausgabe jedoch kommen sie wie so aus:

<link />http://www.example.com/ 
<pubdate>Fri, 30 Oct 2015 00:00:00 GMT</pubdate> 

Verbindung scheint formatiert zu werden, als ob es ein link-Tag im head Abschnitt html waren und pubDate nicht mehr Kamel CASED und somit ungültig nach dem rss Standard: https://validator.w3.org/feed/docs/rss2.html#hrelementsOfLtitemgt

Gibt es irgendeine Art von Flagge Ich muss Pass oder etwas Funktionalität, die ich vermisse?

Andere Tags werden gerade verarbeitet (Bild, Gehäuse, GUID usw.).

Ich verwende:

  • jekyll 2.5.3
  • Rubin 1.9.3p484
  • Linux Mint 17

Antwort

0

Sie müssen woanders gebrochen XML haben. Bitte posten Sie die komplette Datei oder sonst wäre es schwierig, genau zu sein.

Hier ist, was ich in mir haben:

Podcast:

<pubDate>{{ site.time | date: "%a, %d %b %Y %H:%M:%S GMT" }}</pubDate> 
<link>{{ site.url }}</link> 

Podcast Episode:

<link>{{ site.url }}{{ post.url }}</link> 
<pubDate>{{ post.date | date: "%a, %d %b %Y %H:%M:%S EST" }}</pubDate> 
+1

Ich habe mit mehr Details aktualisiert Frage. Aber genau diese beiden Tags ändert Jekyll in der Ausgabedatei. Der Rest der Datei/des Feeds ist gültig. Im Allgemeinen versucht Jekyll das Gehäuse der Tags zu "reparieren", aber 'pubDate' ist das einzige camelCased-Tag, das erklärt, warum es in' pubdate' umgewandelt wird. Ich frage mich, ob es ein Flag oder Config-Problem gibt, das ich übergeben könnte, um dies zu verhindern, habe es nicht in der Dokumentation gefunden Wie für die 'Link'-Tag, ich bin mir nicht sicher, warum das passiert. –