Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feed Validation Error: RSS 2.0 instead Atom #450

Open
henrythebuilder opened this issue May 28, 2023 · 0 comments
Open

Feed Validation Error: RSS 2.0 instead Atom #450

henrythebuilder opened this issue May 28, 2023 · 0 comments

Comments

@henrythebuilder
Copy link

Hi,
I have a small problem with the feed for publication dates that are not correctly detected in Liferea, the 'news reader' I currently use .
Searching on 'Jekyll' doc and for Jekyll Feed plugin it seems that feed.xml is classified as 'RSS 2.0' (rss version="2.0") but coded as 'Atom'.
For the validation I also used the W3C Validator site.
Having the 'jekyll/jekyll-feed' feed.xml as reference I did some local tests by changing some xml fields to get the validation and I came to have an acceptable situation (only some validation warning) with the attached changes.
I attach the changes here as not knowing the site and all its information are unable to build a dedicated pull request with all correct data for the feed.

Thanks for your work.
Enrico

feed-atom-test.patch

diff --git a/feed.xml b/feed.xml
index 8e7a351..aa36233 100644
--- a/feed.xml
+++ b/feed.xml
@@ -2,22 +2,27 @@
 layout: null
 ---
 <?xml version="1.0" encoding="utf-8"?>
-<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
-  <channel>
+<feed xmlns="http://www.w3.org/2005/Atom" {% if site.lang %}xml:lang="{{ site.lang }}"{% endif %}>
     <title>Abseil Blog &amp; Tips</title>
-    <description>An open-source collection of C++ library code designed to
-    augment the C++ standard library</description>
-    <link>{{ site.url }}</link>
+    <subtitle>An open-source collection of C++ library code designed to
+    augment the C++ standard library</subtitle>
+    <updated>{{ site.time | date_to_xmlschema }}</updated>
+    <id>{{ site.url | xml_escape }}</id>
     {% for post in site.posts %}
       {% unless post.draft %}
-        <item>
-          <title>{{ post.title | xml_escape }}</title>
-          <description>{{ post.content | xml_escape }}</description>
-          <pubDate>{{ post.date | date_to_xmlschema }}</pubDate>
-          <link>{{ post.url | prepend: site.url }}</link>
-          <guid isPermaLink="true">{{ post.url | prepend: site.url }}</guid>
-        </item>
+        <entry>
+          <title type="html">{{ post.title | xml_escape }}</title>
+          <content type="html">{{ post.content | xml_escape }}</content>
+          <published>{{ post.date | date_to_xmlschema }}</published>
+          <updated>{{ post.date | date_to_xmlschema }}</updated>
+          <link href="{{ post.url | prepend: site.url }}" />
+          <author>
+            <name>{{ post_author_name | default: "???" | xml_escape }}</name>
+          </author>
+          <link href="{{ post.url | prepend: site.url }}" type="text/html" title="{{ post_title }}" />
+          <id>{{ post.id | absolute_url | xml_escape }}</id>
+        </entry>
       {% endunless %}
     {% endfor %}
-  </channel>
-</rss>
\ No newline at end of file
+</feed>
+

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant