mirror of
https://github.com/wallabag/wallabag.git
synced 2024-06-02 08:51:10 +00:00
23de687696
According to the ATOM spec link elements must have a href: https://validator.w3.org/feed/docs/atom.html Also most feed readers (TinyTiny, Feedly, Thunderbird) prefer link elements in this order: - plain - with attribute rel=alternate - with attribute rel=via As the content is work of the entry author, link to it by default. Not to the wallabag instance entry. This also makes it possible to share links with people who don't have access to the wallabag instance via the RSS feed.
56 lines
2.8 KiB
Twig
56 lines
2.8 KiB
Twig
<?xml version="1.0" encoding="utf-8"?>
|
|
<feed xmlns="http://www.w3.org/2005/Atom">
|
|
{% if type != 'tag' %}
|
|
<title>wallabag — {{type}} feed</title>
|
|
<subtitle type="html">Atom feed for {{ type }} entries</subtitle>
|
|
<id>wallabag:{{ domainName | removeScheme | removeWww }}:{{ user }}:{{ type }}</id>
|
|
<link rel="alternate" type="text/html" href="{{ url(type) }}"/>
|
|
{% else %}
|
|
<id>wallabag:{{ domainName | removeScheme | removeWww }}:{{ user }}:{{ type }}:{{ tag }}</id>
|
|
<link rel="alternate" type="text/html" href="{{ url('tag_entries', {'slug': tag}) }}"/>
|
|
<title>wallabag — {{type}} {{ tag }} feed</title>
|
|
<subtitle type="html">Atom feed for entries tagged with {{ tag }}</subtitle>
|
|
{% endif %}
|
|
{% if entries | length > 0 %}
|
|
<updated>{{ (entries | first).createdAt | date('c') }}</updated> {# Indicates the last time the feed was modified in a significant way. #}
|
|
{% endif %}
|
|
<link rel="self" type="application/atom+xml" href="{{ app.request.uri }}"/>
|
|
{% if entries.hasPreviousPage %}
|
|
<link rel="previous" href="{{ url }}/{{ entries.previousPage }}"/>
|
|
{% endif -%}
|
|
{% if entries.hasNextPage %}
|
|
<link rel="next" href="{{ url }}/{{ entries.nextPage }}"/>
|
|
{% endif -%}
|
|
<link rel="last" href="{{ url }}/{{ entries.nbPages }}"/>
|
|
<generator uri="https://wallabag.org" version="{{ version }}">wallabag</generator>
|
|
<author>
|
|
<name>{{ user }}</name>
|
|
</author>
|
|
<icon>{{ asset('favicon.ico') }}</icon>
|
|
<logo>{{ asset('bundles/wallabagcore/themes/_global/img/logo-square.png') }}</logo>
|
|
{% for entry in entries %}
|
|
<entry>
|
|
<title><![CDATA[{{ entry.title|e }}]]></title>
|
|
<link href="{{ entry.url }}"/>
|
|
<link rel="alternate" type="text/html"
|
|
href="{{ url('view', {'id': entry.id}) }}"/>
|
|
<link rel="via"
|
|
href="{{ entry.url }}"/>
|
|
<id>wallabag:{{ domainName | removeScheme | removeWww }}:{{ user }}:entry:{{ entry.id }}</id>
|
|
<updated>{{ entry.updatedAt|date('c') }}</updated>
|
|
<published>{{ entry.createdAt|date('c') }}</published>
|
|
{% for tag in entry.tags %}
|
|
<category term="{{ tag.slug }}" label="{{ tag.label }}" />
|
|
{% endfor %}
|
|
{% for author in entry.publishedBy %}
|
|
<author>
|
|
<name>{{ author }}</name>
|
|
</author>
|
|
{% endfor %}
|
|
<content type="html" {% if entry.language %}xml:lang="{{ entry.language[:2] }}"{% endif %}>
|
|
<![CDATA[{%- if entry.readingTime > 0 -%}{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': entry.readingTime}) }}{%- else -%}{{ 'entry.list.reading_time_less_one_minute'|trans|raw }}{%- endif %}{{ entry.content|raw -}}]]>
|
|
</content>
|
|
</entry>
|
|
{% endfor %}
|
|
</feed>
|