octopress-feeds 1.2.4 → 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/assets/includes/entry.xml +7 -7
- data/assets/includes/head.xml +1 -1
- data/assets/pages/article-feed.xml +1 -1
- data/assets/pages/link-feed.xml +1 -1
- data/lib/octopress-feeds.rb +11 -50
- data/lib/octopress-feeds/tags.rb +56 -0
- data/lib/octopress-feeds/version.rb +1 -1
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: abd728ec448b8e141757d5f6182aae70a3e8556c
|
4
|
+
data.tar.gz: a5bf1c25a69d11bb40d633b7a159fe4080c673b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0022830a0f430dd5ec1e3fb6f6d2d5f3139475eec936ea524eab0b9607645e9624cd8e7e3e5b8741697943fe2fa61fc3f6ba7018a242a0cb440c299d5a3b7ec6
|
7
|
+
data.tar.gz: 2e98b682b48988a9c3d34299471cfa0389f643a4c03959dd0515e74fda81dfd4c9e695e306e51ebfd59b2e226fafd441d6a3153822eea6f386746a3f894c7143
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
### 1.2.5 (2015-01-26)
|
4
|
+
|
5
|
+
- Fix: Feed excerpts work with linkblog and multilingual sites.
|
6
|
+
- Fix: Only add link and article feeds if octopress-linkblog is installed.
|
7
|
+
|
3
8
|
### 1.2.4 (2015-01-26)
|
4
9
|
|
5
10
|
- Link and Article feeds are automatically added when linkblog plugin is added.
|
data/assets/includes/entry.xml
CHANGED
@@ -14,17 +14,17 @@
|
|
14
14
|
</author>
|
15
15
|
<content type="html" xml:base="{{ site.url | join_url: site.baseurl }}" xml:lang="{% return site.lang || 'en' %}">
|
16
16
|
<![CDATA[
|
17
|
-
{% if plugins.feeds.excerpts
|
18
|
-
{{ post.excerpt | full_urls }}
|
19
|
-
|
20
|
-
{% if post.excerpted %}
|
21
|
-
<p><a href="{{ post.url | canonical_url }}">Continue reading →</a></p>
|
22
|
-
{% endif %}
|
23
|
-
{% else %}
|
17
|
+
{% if plugins.feeds.excerpts == false or post.linkpost %}
|
24
18
|
{{ post.content | full_urls }}
|
25
19
|
{% if post.linkpost %}
|
26
20
|
<p><a href="{{ post.url | canonical_url }}">∞ Permalink</a></p>
|
27
21
|
{% endif %}
|
22
|
+
{% else %}
|
23
|
+
{{ post.excerpt | full_urls }}
|
24
|
+
|
25
|
+
{% if post.excerpt != post.content %}
|
26
|
+
<p><a href="{{ post.url | canonical_url }}">Continue reading →</a></p>
|
27
|
+
{% endif %}
|
28
28
|
{% endif %}
|
29
29
|
]]>
|
30
30
|
</content>
|
data/assets/includes/head.xml
CHANGED
@@ -6,5 +6,5 @@
|
|
6
6
|
<id>{{ site.url | join_url: site.baseurl }}</id>
|
7
7
|
<updated>{% feed_updated_date %}</updated>
|
8
8
|
<generator uri="http://octopress.org/">Octopress</generator>
|
9
|
-
<language>{
|
9
|
+
<language>{% return site.lang || 'en' %}</language>
|
10
10
|
<rights>Copyright © {{ site.time | date: '%Y' }}, {{ site.author | strip_html }}</rights>
|
data/assets/pages/link-feed.xml
CHANGED
data/lib/octopress-feeds.rb
CHANGED
@@ -4,68 +4,28 @@ require 'octopress-include-tag'
|
|
4
4
|
require 'octopress-abort-tag'
|
5
5
|
require 'octopress-return-tag'
|
6
6
|
require 'octopress-date-format'
|
7
|
+
require 'octopress-feeds/tags'
|
7
8
|
|
8
|
-
begin
|
9
|
-
require 'octopress-linkblog'
|
10
|
-
rescue LoadError; end
|
11
9
|
|
12
10
|
module Octopress
|
13
11
|
module Feeds
|
14
|
-
class
|
15
|
-
def render(context)
|
16
|
-
context['site.pages'].dup \
|
17
|
-
.select { |p| p.data['feed'] } \
|
18
|
-
.sort_by { |p| p.url } \
|
19
|
-
.sort_by { |p| p.url.size } \
|
20
|
-
.map { |p| tag(p) } \
|
21
|
-
.join("\n")
|
22
|
-
end
|
23
|
-
|
24
|
-
def tag(page)
|
25
|
-
url = page.url.sub(File.basename(page.url), '')
|
26
|
-
|
27
|
-
"<link href='#{url}' title='#{page_title(page)}' rel='alternate' type='application/atom+xml'>"
|
28
|
-
end
|
12
|
+
class Plugin < Ink::Plugin
|
29
13
|
|
30
|
-
def
|
31
|
-
|
32
|
-
title << ': ' unless title.empty?
|
33
|
-
title << page.data['title']
|
34
|
-
|
35
|
-
title
|
36
|
-
end
|
37
|
-
end
|
14
|
+
def add_pages
|
15
|
+
super
|
38
16
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
case feed
|
45
|
-
when 'articles'
|
46
|
-
posts = site['articles']
|
47
|
-
when 'linkposts'
|
48
|
-
posts = site['linkposts']
|
49
|
-
else
|
50
|
-
posts = site['posts']
|
51
|
-
end
|
52
|
-
|
53
|
-
if !posts.empty?
|
54
|
-
post = posts.sort_by do |p|
|
55
|
-
p.data['date_updated'] || p.date
|
56
|
-
end.last
|
57
|
-
|
58
|
-
post.data['date_updated_xml'] || post.data['date_xml']
|
17
|
+
# Remove linkblog pages if the octopress-linkblog plugin isn't installed
|
18
|
+
unless defined? Octopress::Linkblog
|
19
|
+
@pages.reject! do |p|
|
20
|
+
p.file =~ /(article|link)/
|
21
|
+
end
|
59
22
|
end
|
60
23
|
end
|
61
24
|
end
|
62
25
|
end
|
63
26
|
end
|
64
27
|
|
65
|
-
|
66
|
-
Liquid::Template.register_tag('feed_updated_date', Octopress::Feeds::FeedUpdatedTag)
|
67
|
-
|
68
|
-
Octopress::Ink.add_plugin({
|
28
|
+
Octopress::Ink::Plugins.register_plugin(Octopress::Feeds::Plugin, {
|
69
29
|
name: "Octopress Feeds",
|
70
30
|
slug: "feeds",
|
71
31
|
gem: "octopress-feeds",
|
@@ -76,3 +36,4 @@ Octopress::Ink.add_plugin({
|
|
76
36
|
website: "https://github.com/octopress/feeds"
|
77
37
|
})
|
78
38
|
|
39
|
+
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module Octopress
|
2
|
+
module Feeds
|
3
|
+
class FeedTag < Liquid::Tag
|
4
|
+
def render(context)
|
5
|
+
context['site.pages'].dup \
|
6
|
+
.select { |p| p.data['feed'] } \
|
7
|
+
.sort_by { |p| p.url } \
|
8
|
+
.sort_by { |p| p.url.size } \
|
9
|
+
.map { |p| tag(p) } \
|
10
|
+
.join("\n")
|
11
|
+
end
|
12
|
+
|
13
|
+
def tag(page)
|
14
|
+
url = page.url.sub(File.basename(page.url), '')
|
15
|
+
|
16
|
+
"<link href='#{url}' title='#{page_title(page)}' rel='alternate' type='application/atom+xml'>"
|
17
|
+
end
|
18
|
+
|
19
|
+
def page_title(page)
|
20
|
+
title = page.site.config['name'].dup || ''
|
21
|
+
title << ': ' unless title.empty?
|
22
|
+
title << page.data['title']
|
23
|
+
|
24
|
+
title
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
class FeedUpdatedTag < Liquid::Tag
|
29
|
+
def render(context)
|
30
|
+
feed = context['feed_type'] || 'posts'
|
31
|
+
site = context['site']
|
32
|
+
|
33
|
+
case feed
|
34
|
+
when 'articles'
|
35
|
+
posts = site['articles']
|
36
|
+
when 'linkposts'
|
37
|
+
posts = site['linkposts']
|
38
|
+
else
|
39
|
+
posts = site['posts']
|
40
|
+
end
|
41
|
+
|
42
|
+
if !posts.empty?
|
43
|
+
post = posts.sort_by do |p|
|
44
|
+
p.data['date_updated'] || p.date
|
45
|
+
end.last
|
46
|
+
|
47
|
+
post.data['date_updated_xml'] || post.data['date_xml']
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
Liquid::Template.register_tag('feed_tag', Octopress::Feeds::FeedTag)
|
55
|
+
Liquid::Template.register_tag('feed_updated_date', Octopress::Feeds::FeedUpdatedTag)
|
56
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: octopress-feeds
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Mathis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: octopress-ink
|
@@ -164,6 +164,20 @@ dependencies:
|
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: octopress-debugger
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
167
181
|
description: A nice RSS feeds for Octopress and Jekyll sites.
|
168
182
|
email:
|
169
183
|
- brandon@imathis.com
|
@@ -184,6 +198,7 @@ files:
|
|
184
198
|
- assets/pages/link-feed.xml
|
185
199
|
- assets/pages/main-feed.xml
|
186
200
|
- lib/octopress-feeds.rb
|
201
|
+
- lib/octopress-feeds/tags.rb
|
187
202
|
- lib/octopress-feeds/version.rb
|
188
203
|
homepage: https://github.com/octopress/feeds
|
189
204
|
licenses:
|