Index

atom

Atom est un protocole ouvert de syndication de contenu. Il permet de partager les contenus d'un site vers d'autres plateformes. Habituellement, ils sont consommés par des lecteurs de flux Web via l'abonnement à une URL. Par exemple, ici mon fil Atom est disponible à cette adresse: https://wiki.soucy.cc/index.xml.

Voici le gabarit que j'utilise pour automatiser la production de ce fichier Atom/XML:

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="<%- language -%>">
  <title><%- title -%></title>
  <% if description then %>
    <subtitle><%- description -%></subtitle>
  <% end %>
  <id><%- id -%></id>
  <link href="<%- dirlink -%>index.xml" rel="self" type="application/atom+xml" />
  <link href="<%= permalink -%>" rel="alternate" type="text/html" />
  <link href="https://creativecommons.org/licenses/by/2.5/ca/deed.fr" rel="license" />
  <updated><%- os.date('%Y-%m-%dT%H:%M:%S', time_modified_child) -%>Z</updated>
  <author>
    <name><%- author.name -%></name>
    <email><%- author.email -%></email>
    <uri><%- author.uri -%></uri>
  </author>

  <% if children then %>
    <% for i, child in ipairs(children) do %>
      <entry>
        <title><%- child.title -%></title>
        <id><%- child.id -%></id>
        <link href="<%= child.permalink -%>" hreflang="<%= child.language -%>" rel="alternate" type="text/html" />
        <published><%= child.date -%>T<%= child.datetime -%>Z</published>
        <updated><%- os.date('%Y-%m-%dT%H:%M:%S', child.time_modification) -%>Z</updated>
        <content type="html">
          <%= child.content -%>
        </content>
      </entry>
    <% end %>
  <% end %>
</feed>

Il est possible de lire ses flux RSS/Atom via Outlook, Thunderbird, NextCloud, etc. Voici ci-dessous des captures d'écran de Newsboat.

Interface d'accueil de newsboat L'interface d'accueil de Newsboat présente la liste de tous les abonnements.

Interface dans un flux newsboat Tandis qu'ici, nous sommes dans dans le flux du site web de Forbidden Stories.