Improve RSS experience (install 'jekyll-feed' plugin)

- Use 'jekyll-feed' plugin to manage RSS feed and remove existing feed.xml file
- Add feed image in main blog tab ('All posts')

The 'jekyll-feed' plugin makes possible for aggregators to automatically detect the existence of a feed (feed_meta tag in header)
and creates a 'feed.atom' file containing the last 20 blog posts and locates it in the root directory. The structure is compatible
with our current system, including the possibility to show a picture if it's included in the post (#1002).
This commit is contained in:
erciccione 2020-06-19 18:36:16 +02:00
parent 79f34d360c
commit 2830f69173
No known key found for this signature in database
GPG key ID: 762AF8C608E56CDF
22 changed files with 65 additions and 43 deletions

View file

@ -6,3 +6,4 @@ gem 'builder'
gem 'rubysl-rexml'
gem 'wdm', '>= 0.1.0' if Gem.win_platform?
gem 'jekyll-multiple-languages-plugin'
gem 'jekyll-feed'

View file

@ -28,6 +28,8 @@ GEM
pathutil (~> 0.9)
rouge (>= 1.7, < 4)
safe_yaml (~> 1.0)
jekyll-feed (0.11.0)
jekyll (~> 3.3)
jekyll-multiple-languages-plugin (1.5.1)
jekyll (>= 2.0, < 4.0)
jekyll-paginate (1.1.0)
@ -62,6 +64,7 @@ PLATFORMS
DEPENDENCIES
builder
jekyll
jekyll-feed
jekyll-multiple-languages-plugin
jekyll-paginate
rubysl-rexml

View file

@ -22,6 +22,11 @@ paginate_path: blog/page:num/
plugins:
- jekyll-paginate
- jekyll-multiple-languages-plugin
- jekyll-feed
feed:
path: feed.atom
posts_limit: 20
# jekyll-multiple-languages-plugin settings:
languages: ["en", "es", "it", "pl", "fr", "ar", "ru", "de", "nl", "pt-br", "tr", "zh-cn", "zh-tw"]

View file

@ -9,7 +9,7 @@
- name: دليل المستخدم
url: resources/user-guides/
- name: RSS Feed
url: https://getmonero.org/feed.xml
url: feed.atom
- title: IRC قنوات الدردشة
subfolderitems:
- name: مونيرو

View file

@ -11,7 +11,7 @@
- name: Bibliothek
url: library
- name: RSS-Feed
url: https://getmonero.org/feed.xml
url: feed.atom
- title: IRC-Channels
subfolderitems:
- name: monero

View file

@ -11,7 +11,7 @@
- name: Library
url: library
- name: RSS Feed
url: rss
url: feed.atom
- title: IRC Channels
subfolderitems:
- name: monero

View file

@ -11,7 +11,7 @@
- name: Librería
url: library
- name: RSS Feed
url: https://getmonero.org/feed.xml
url: feed.atom
- title: Canales IRC
subfolderitems:
- name: monero

View file

@ -11,7 +11,7 @@
- name: Librairie
url: library
- name: Flux RSS
url: https://getmonero.org/feed.xml
url: feed.atom
- title: Canaux IRC
subfolderitems:
- name: monero

View file

@ -11,7 +11,7 @@
- name: Libreria
url: library
- name: Feed RSS
url: https://getmonero.org/feed.xml
url: feed.atom
- title: Chat IRC
subfolderitems:
- name: monero

View file

@ -11,7 +11,7 @@
- name: Bibliotheek
url: library
- name: RSS-kanaal
url: https://getmonero.org/feed.xml
url: feed.atom
- title: IRC-kanalen
subfolderitems:
- name: monero

View file

@ -11,7 +11,7 @@
- name: Księgarnia
url: library
- name: Kanał RSS
url: https://getmonero.org/feed.xml
url: feed.atom
- title: Kanały IRC
subfolderitems:
- name: monero

View file

@ -11,7 +11,7 @@
- name: Biblioteca
url: library
- name: RSS Feed
url: https://getmonero.org/feed.xml
url: feed.atom
- title: Canais no IRC
subfolderitems:
- name: monero

View file

@ -11,7 +11,7 @@
- name: Библиотека
url: library
- name: Канал RSS
url: https://getmonero.org/feed.xml
url: feed.atom
- title: Каналы IRC
subfolderitems:
- name: monero

View file

@ -11,7 +11,7 @@
- name: Kütüphane
url: library
- name: RSS Besleme
url: https://getmonero.org/feed.xml
url: feed.atom
- title: IRC Kanalları
subfolderitems:
- name: monero

View file

@ -11,7 +11,7 @@
- name: Library
url: library
- name: RSS Feed
url: https://getmonero.org/feed.xml
url: feed.atom
- title: IRC Channels
subfolderitems:
- name: monero

View file

@ -11,7 +11,7 @@
- name: 圖書出版品
url: library
- name: RSS 摘要
url: https://getmonero.org/feed.xml
url: feed.atom
- title: IRC 頻道
subfolderitems:
- name: monero

View file

@ -47,4 +47,7 @@
<meta name="msapplication-config" content="/ietemplates/ieconfig.xml">
<!-- Expose helper tag to support automated discovery of blog feed -->
{% feed_meta %}
</head>

View file

@ -53,10 +53,10 @@ layout: custom
{% else %}
<h2 class="inline"><span class="kicks">{% t blog.meetinglogs %}</span></h2>
{% endif %}
</div>
</div>
</div>
{% if site.tags[tag.slug] %}
{% for post in site.tags[tag.slug] %}
{% for post in site.tags[tag.slug] %}
<div class="post-lead">
<h3><a href="{{ post.url }}">{{ post.title }}</a></h3>
<p>

View file

@ -39,7 +39,10 @@ title: titles.blogbytag
<div class="row">
<!-- Full block-->
<div class="info-block">
<h2>{% t blog.allposts %}</h2>
<div class="feed">
<a href="/feed.atom"><span class="feed-pic"></span></a>
<h2>{% t blog.allposts %}</h2>
</div>
{% for post in paginator.posts %}
<div class="post-lead">
<h3><a href="{{ post.url }}">{{ post.title }}</a></h3>

View file

@ -3971,6 +3971,22 @@ h3#months {
border-bottom: 2px solid #a1aabb;
}
.info-block .feed h2 {
margin-top: 0;
}
.feed span {
height: 30px;
width: 30px;
display: block;
padding-right: 1rem;
}
.feed span.feed-pic {
background: url(../img/feed.svg) no-repeat;
float: right;
}
@media only screen and (max-width: 75rem) {
.page-numbers {
margin-top: 2rem;

View file

@ -1,27 +0,0 @@
---
---
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>{{ site.name | xml_escape }}</title>
<description>{% if site.description %}{{ site.description | xml_escape }}{% endif %}</description>
<link>{{ site.url }}</link>
<atom:link href="{{ site.url }}/feed.xml" rel="self" type="application/rss+xml" />
{% for post in site.posts limit:10 %}
<item>
<title>{{ post.title | xml_escape }}</title>
{% if post.author.name %}
<dc:creator>{{ post.author.name | xml_escape }}</dc:creator>
{% endif %}
{% if post.summary %}
<description>{{ post.summary | xml_escape }}</description>
{% else %}
<description>{{ post.content | xml_escape }}</description>
{% endif %}
<pubDate>{{ post.date | date: "%a, %d %b %Y %H:%M:%S %z" }}</pubDate>
<link>{{ site.url }}{{ post.url }}</link>
<guid isPermaLink="true">{{ site.url }}{{ post.url }}</guid>
</item>
{% endfor %}
</channel>
</rss>

18
img/feed.svg Normal file
View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="30px" height="30px" id="RSSicon" viewBox="0 0 256 256">
<defs>
<linearGradient x1="0.085" y1="0.085" x2="0.915" y2="0.915" id="RSSg">
<stop offset="0.0" stop-color="#E3702D"/><stop offset="0.1071" stop-color="#EA7D31"/>
<stop offset="0.3503" stop-color="#F69537"/><stop offset="0.5" stop-color="#FB9E3A"/>
<stop offset="0.7016" stop-color="#EA7C31"/><stop offset="0.8866" stop-color="#DE642B"/>
<stop offset="1.0" stop-color="#D95B29"/>
</linearGradient>
</defs>
<rect width="256" height="256" rx="55" ry="55" x="0" y="0" fill="#CC5D15"/>
<rect width="246" height="246" rx="50" ry="50" x="5" y="5" fill="#F49C52"/>
<rect width="236" height="236" rx="47" ry="47" x="10" y="10" fill="url(#RSSg)"/>
<circle cx="68" cy="189" r="24" fill="#FFF"/>
<path d="M160 213h-34a82 82 0 0 0 -82 -82v-34a116 116 0 0 1 116 116z" fill="#FFF"/>
<path d="M184 213A140 140 0 0 0 44 73 V 38a175 175 0 0 1 175 175z" fill="#FFF"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB