jekyll-index-pages 0.5.0 → 0.5.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a1d9113d77e75aa8da870300ced987ad10325450
4
- data.tar.gz: e0b2d158119e53b2a3cf79f19732b6c402e14367
3
+ metadata.gz: 4cceaff67e3e3d1c462af99dcd4261144ce31b83
4
+ data.tar.gz: 46f33530bb464f594198f6a9de3bedbcb7933f2d
5
5
  SHA512:
6
- metadata.gz: 0609577fc6a27874ea0ef5dd621ee43fcd581e0f76914033552925f95cf111d517eb8e7b7affe1d7605876c05c6ced2009b06bcd4f46b7a823ae2f351181c90a
7
- data.tar.gz: 5adcccf910a80b6a078fab6a1e0df00c90da3a5da9dde634cdddb3f6969d038622b7409b6fc437934644016b67340672d8e6bca4c395615f34a3da59df65acb0
6
+ metadata.gz: dcccc1ea66b50900352d9aa3d487d5a81577e6772df562a3179279a9f9bdfb8373690fca4938b9681934f284e764ce30c7c8a92c1d963be201617b36b0561bc1
7
+ data.tar.gz: 4fa00badff6b61b42300664637495651ec2f01c8a8a0d53fa116ca49ec3de3731d74b81f31a1d4b103e8b1bd5bd2440ec76c76d24bbb7e189744cd4939881514
@@ -2,15 +2,6 @@ module JekyllIndexPages
2
2
  class Generator < Jekyll::Generator
3
3
  safe true
4
4
 
5
- Jekyll::Hooks.register :site, :after_init do |site|
6
- if I18n.backend.send(:translations).empty?
7
- I18n.backend.load_translations(
8
- Dir[File.join(site.in_source_dir(),"_locales/*.yml")]
9
- )
10
- end
11
- I18n.locale = site.config["lang"]
12
- end
13
-
14
5
  def generate(site)
15
6
  config = site.config["index_pages"] || {}
16
7
  config.each do |kind, item|
@@ -1,7 +1,7 @@
1
1
  module JekyllIndexPages
2
2
  class CategoryURL < URLTag
3
3
  def has_kind?(site, kind)
4
- site.categories.has_key?(kind)
4
+ site.categories.key?(kind)
5
5
  end
6
6
 
7
7
  def filter_config(config)
@@ -1,7 +1,7 @@
1
1
  module JekyllIndexPages
2
2
  class TagURL < URLTag
3
3
  def has_kind?(site, kind)
4
- site.tags.has_key?(kind)
4
+ site.tags.key?(kind)
5
5
  end
6
6
 
7
7
  def filter_config(config)
@@ -1,3 +1,3 @@
1
1
  module JekyllIndexPages
2
- VERSION = "0.5.0"
2
+ VERSION = "0.5.1"
3
3
  end
@@ -11,3 +11,15 @@ require "jekyll-index-pages/tags/archive-url"
11
11
  require "jekyll-index-pages/tags/author-url"
12
12
  require "jekyll-index-pages/tags/category-url"
13
13
  require "jekyll-index-pages/tags/tag-url"
14
+
15
+ Jekyll::Hooks.register :site, :after_init do |site|
16
+ if I18n.backend.send(:translations).empty?
17
+ I18n.backend.load_translations(
18
+ Dir[File.join(site.in_source_dir(), "_locales/*.yml")]
19
+ )
20
+ end
21
+ end
22
+
23
+ Jekyll::Hooks.register :posts, :post_init do |post|
24
+ I18n.locale = post.site.config["lang"]
25
+ end
data/spec/archive_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require "spec_helper"
2
2
 
3
- describe(JekyllIndexPages::Archive) do
3
+ describe JekyllIndexPages::Archive do
4
4
  let(:overrides) { Hash.new }
5
5
  let(:site_config) do
6
6
  Jekyll.configuration(Jekyll::Utils.deep_merge_hashes({
@@ -14,12 +14,12 @@ describe(JekyllIndexPages::Archive) do
14
14
  site.process
15
15
  end
16
16
 
17
- describe("Archive.generate") do
18
- it("generates a five year post archive") do
17
+ describe "Archive.generate" do
18
+ it "generates a five year post archive" do
19
19
  expect(site.data["archive"].length).to eq(5)
20
20
  end
21
21
 
22
- it("generates a post listing page per year") do
22
+ it "generates a post listing page per year" do
23
23
  expect(site.data["archive"]["1966"].length).to be > 0
24
24
  expect(site.data["archive"]["1987"].length).to be > 0
25
25
  expect(site.data["archive"]["1993"].length).to be > 0
data/spec/author_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require "spec_helper"
2
2
 
3
- describe(JekyllIndexPages::Author) do
3
+ describe JekyllIndexPages::Author do
4
4
  let(:overrides) { Hash.new }
5
5
  let(:site_config) do
6
6
  Jekyll.configuration(Jekyll::Utils.deep_merge_hashes({
@@ -14,12 +14,12 @@ describe(JekyllIndexPages::Author) do
14
14
  site.process
15
15
  end
16
16
 
17
- describe("Author.generate") do
18
- it("generates five author index pages") do
17
+ describe "Author.generate" do
18
+ it "generates five author index pages" do
19
19
  expect(site.data["authors"].length).to eq(5)
20
20
  end
21
21
 
22
- it("generates a post listing page per author") do
22
+ it "generates a post listing page per author" do
23
23
  expect(site.data["authors"]["James T Kirk"].length).to be > 0
24
24
  expect(site.data["authors"]["Jean-Luc Picard"].length).to be > 0
25
25
  expect(site.data["authors"]["Benjamin Sisko"].length).to be > 0
@@ -1,6 +1,6 @@
1
1
  require "spec_helper"
2
2
 
3
- describe(JekyllIndexPages::Collection) do
3
+ describe JekyllIndexPages::Collection do
4
4
  let(:overrides) { Hash.new }
5
5
  let(:site_config) do
6
6
  Jekyll.configuration(Jekyll::Utils.deep_merge_hashes({
@@ -14,15 +14,15 @@ describe(JekyllIndexPages::Collection) do
14
14
  site.process
15
15
  end
16
16
 
17
- context("When no configuration is provided") do
18
- describe("Collection.generate") do
19
- it("skips collection index pages generation") do
17
+ context "When no configuration is provided" do
18
+ describe "Collection.generate" do
19
+ it "skips collection index pages generation" do
20
20
  expect(site.data["collectionz"]).to be_nil
21
21
  end
22
22
  end
23
23
  end
24
24
 
25
- context("When default configuration is provided") do
25
+ context "When default configuration is provided" do
26
26
  let(:overrides) do
27
27
  {
28
28
  "collections" => ["starships"],
@@ -34,12 +34,12 @@ describe(JekyllIndexPages::Collection) do
34
34
  }
35
35
  end
36
36
 
37
- describe("Collection.generate") do
38
- it("generates a single index page for collection") do
37
+ describe "Collection.generate" do
38
+ it "generates a single index page for collection" do
39
39
  expect(site.data["collectionz"].length).to eq(1)
40
40
  end
41
41
 
42
- it("containing four documents") do
42
+ it "containing four documents" do
43
43
  expect(site.data["collectionz"]["starships"].length).to eq(4)
44
44
  end
45
45
  end
@@ -1,6 +1,6 @@
1
1
  require "spec_helper"
2
2
 
3
- describe(JekyllIndexPages::Generator) do
3
+ describe JekyllIndexPages::Generator do
4
4
  let(:overrides) { Hash.new }
5
5
  let(:site_config) do
6
6
  Jekyll.configuration(Jekyll::Utils.deep_merge_hashes({
@@ -14,15 +14,15 @@ describe(JekyllIndexPages::Generator) do
14
14
  site.process
15
15
  end
16
16
 
17
- context("When no configuration is provided") do
18
- describe("Generator.generate") do
19
- it("skips index page generation") do
17
+ context "When no configuration is provided" do
18
+ describe "Generator.generate" do
19
+ it "skips index page generation" do
20
20
  expect(site.pages.length).to eq(0)
21
21
  end
22
22
  end
23
23
  end
24
24
 
25
- context("When default configuration for post index pages is provided") do
25
+ context "When default configuration for post index pages is provided" do
26
26
  let(:overrides) do
27
27
  {
28
28
  "index_pages" => {
@@ -31,37 +31,37 @@ describe(JekyllIndexPages::Generator) do
31
31
  }
32
32
  end
33
33
 
34
- describe("Generator.generate") do
35
- it("generates a single post index page") do
34
+ describe "Generator.generate" do
35
+ it "generates a single post index page" do
36
36
  expect(site.pages.length).to eq(1)
37
37
  end
38
38
 
39
- it("generates post index page with default title and excerpt") do
39
+ it "generates post index page with default title and excerpt" do
40
40
  expect(site.pages[0].data["title"]).to eq("posts")
41
41
  expect(site.pages[0].data["excerpt"]).to eq("posts")
42
42
  end
43
43
 
44
- it("generates a post index page at /posts/") do
44
+ it "generates a post index page at /posts/" do
45
45
  expect(site.pages[0].url).to eq("/posts/")
46
46
  end
47
47
 
48
- it("generates a post index page with six documents") do
48
+ it "generates a post index page with six documents" do
49
49
  expect(site.pages[0].data["pager"]["docs"].length).to eq(6)
50
50
  end
51
51
 
52
- it("generates a post index page with recent documents first") do
52
+ it "generates a post index page with recent documents first" do
53
53
  recent_doc = site.pages[0].data["pager"]["docs"][0]
54
54
  older_doc = site.pages[0].data["pager"]["docs"][1]
55
55
  expect(recent_doc.date).to be > older_doc.date
56
56
  end
57
57
 
58
- it("generates a post index page with a pager") do
58
+ it "generates a post index page with a pager" do
59
59
  expect(site.pages[0].data["pager"]).to be_instance_of(Hash)
60
60
  end
61
61
  end
62
62
  end
63
63
 
64
- context("When custom title and excerpt for posts index page is provided") do
64
+ context "When custom title and excerpt for posts index page is provided" do
65
65
  let(:overrides) do
66
66
  {
67
67
  "index_pages" => {
@@ -73,15 +73,15 @@ describe(JekyllIndexPages::Generator) do
73
73
  }
74
74
  end
75
75
 
76
- describe("Generator.generate") do
77
- it("generates post index page with custom values") do
76
+ describe "Generator.generate" do
77
+ it "generates post index page with custom values" do
78
78
  expect(site.pages[0].data["title"]).to eq("Custom Title")
79
79
  expect(site.pages[0].data["excerpt"]).to eq("Custom excerpt")
80
80
  end
81
81
  end
82
82
  end
83
83
 
84
- context("When custom 'per page' setting for posts index page is provided") do
84
+ context "When custom 'per page' setting for posts index page is provided" do
85
85
  let(:overrides) do
86
86
  {
87
87
  "index_pages" => {
@@ -92,33 +92,33 @@ describe(JekyllIndexPages::Generator) do
92
92
  }
93
93
  end
94
94
 
95
- describe("Generator.generate") do
96
- context("generates the first post index page") do
95
+ describe "Generator.generate" do
96
+ context "generates the first post index page" do
97
97
  let(:page) { site.pages[0] }
98
98
 
99
- it("with two documents") do
99
+ it "with two documents" do
100
100
  expect(page.data["pager"]["docs"].length).to eq(2)
101
101
  end
102
102
 
103
- it("and next page url only") do
103
+ it "and next page url only" do
104
104
  expect(page.data["pager"]["prev_page_url"]).to eq("")
105
105
  expect(page.data["pager"]["next_page_url"]).to eq("/posts/2/")
106
106
  end
107
107
  end
108
108
 
109
- context("generates the second post index page") do
109
+ context "generates the second post index page" do
110
110
  let(:page) { site.pages[1] }
111
111
 
112
- it("with previous and next page urls") do
112
+ it "with previous and next page urls" do
113
113
  expect(page.data["pager"]["prev_page_url"]).to eq("/posts/")
114
114
  expect(page.data["pager"]["next_page_url"]).to eq("/posts/3/")
115
115
  end
116
116
  end
117
117
 
118
- context("generates the third post index page") do
118
+ context "generates the third post index page" do
119
119
  let(:page) { site.pages[2] }
120
120
 
121
- it("with previous page url only") do
121
+ it "with previous page url only" do
122
122
  expect(page.data["pager"]["prev_page_url"]).to eq("/posts/2/")
123
123
  expect(page.data["pager"]["next_page_url"]).to eq("")
124
124
  end
@@ -126,7 +126,7 @@ describe(JekyllIndexPages::Generator) do
126
126
  end
127
127
  end
128
128
 
129
- context("When custom 'permalink' setting for posts index page is provided") do
129
+ context "When custom 'permalink' setting for posts index page is provided" do
130
130
  let(:overrides) do
131
131
  {
132
132
  "index_pages" => {
@@ -137,14 +137,14 @@ describe(JekyllIndexPages::Generator) do
137
137
  }
138
138
  end
139
139
 
140
- describe("Generator.generate") do
141
- it("generates a post index page at /custom-permalink/") do
140
+ describe "Generator.generate" do
141
+ it "generates a post index page at /custom-permalink/" do
142
142
  expect(site.pages[0].url).to eq("/custom-permalink/")
143
143
  end
144
144
  end
145
145
  end
146
146
 
147
- context("When custom 'layout' setting for posts index page is provided") do
147
+ context "When custom 'layout' setting for posts index page is provided" do
148
148
  let(:overrides) do
149
149
  {
150
150
  "index_pages" => {
@@ -155,15 +155,15 @@ describe(JekyllIndexPages::Generator) do
155
155
  }
156
156
  end
157
157
 
158
- describe("Generator.generate") do
159
- it("generates a post index page using the custom layout") do
158
+ describe "Generator.generate" do
159
+ it "generates a post index page using the custom layout" do
160
160
  expect(site.pages.length).to eq(1)
161
161
  expect(site.pages[0].content).to include("Custom Layout")
162
162
  end
163
163
  end
164
164
  end
165
165
 
166
- context("When default configuration for category index pages is provided") do
166
+ context "When default configuration for category index pages is provided" do
167
167
  let(:overrides) do
168
168
  {
169
169
  "index_pages" => {
@@ -172,22 +172,22 @@ describe(JekyllIndexPages::Generator) do
172
172
  }
173
173
  end
174
174
 
175
- describe("Generator.generate") do
176
- it("generates two category index pages") do
175
+ describe "Generator.generate" do
176
+ it "generates two category index pages" do
177
177
  expect(site.pages.length).to eq(2)
178
178
  end
179
179
 
180
- it("generates a category index page at /science-fiction/") do
180
+ it "generates a category index page at /science-fiction/" do
181
181
  expect(site.pages[0].url).to eq("/science-fiction/")
182
182
  end
183
183
 
184
- it("generates a category index page at /ciencia-ficcion/") do
184
+ it "generates a category index page at /ciencia-ficcion/" do
185
185
  expect(site.pages[1].url).to eq("/ciencia-ficcion/")
186
186
  end
187
187
  end
188
188
  end
189
189
 
190
- context("When default configuration for tag index pages is provided") do
190
+ context "When default configuration for tag index pages is provided" do
191
191
  let(:overrides) do
192
192
  {
193
193
  "index_pages" => {
@@ -196,18 +196,18 @@ describe(JekyllIndexPages::Generator) do
196
196
  }
197
197
  end
198
198
 
199
- describe("Generator.generate") do
200
- it("generates three tag index pages") do
199
+ describe "Generator.generate" do
200
+ it "generates three tag index pages" do
201
201
  expect(site.pages.length).to eq(3)
202
202
  end
203
203
 
204
- it("generates a tag index page at /star-trek/") do
204
+ it "generates a tag index page at /star-trek/" do
205
205
  expect(site.pages[0].url).to eq("/star-trek/")
206
206
  end
207
207
  end
208
208
  end
209
209
 
210
- context("When default configuration for archive index pages is provided") do
210
+ context "When default configuration for archive index pages is provided" do
211
211
  let(:overrides) do
212
212
  {
213
213
  "index_pages" => {
@@ -216,18 +216,18 @@ describe(JekyllIndexPages::Generator) do
216
216
  }
217
217
  end
218
218
 
219
- describe("Generator.generate") do
220
- it("generates five archive index pages") do
219
+ describe "Generator.generate" do
220
+ it "generates five archive index pages" do
221
221
  expect(site.pages.length).to eq(5)
222
222
  end
223
223
 
224
- it("generates the first archive index page at /1966/") do
224
+ it "generates the first archive index page at /1966/" do
225
225
  expect(site.pages[0].url).to eq("/1966/")
226
226
  end
227
227
  end
228
228
  end
229
229
 
230
- context("When default configuration for author index pages is provided") do
230
+ context "When default configuration for author index pages is provided" do
231
231
  let(:overrides) do
232
232
  {
233
233
  "index_pages" => {
@@ -236,18 +236,18 @@ describe(JekyllIndexPages::Generator) do
236
236
  }
237
237
  end
238
238
 
239
- describe("Generator.generate") do
240
- it("generates five author index pages") do
239
+ describe "Generator.generate" do
240
+ it "generates five author index pages" do
241
241
  expect(site.pages.length).to eq(5)
242
242
  end
243
243
 
244
- it("generates the first author index page at /james-t-kirk/") do
244
+ it "generates the first author index page at /james-t-kirk/" do
245
245
  expect(site.pages[0].url).to eq("/james-t-kirk/")
246
246
  end
247
247
  end
248
248
  end
249
249
 
250
- context("When default configuration for collection index pages is provided") do
250
+ context "When default configuration for collection index pages is provided" do
251
251
  let(:overrides) do
252
252
  {
253
253
  "collections" => ["starships"],
@@ -260,12 +260,12 @@ describe(JekyllIndexPages::Generator) do
260
260
  }
261
261
  end
262
262
 
263
- describe("Generator.generate") do
264
- it("generates a single collection index page") do
263
+ describe "Generator.generate" do
264
+ it "generates a single collection index page" do
265
265
  expect(site.pages.length).to eq(1)
266
266
  end
267
267
 
268
- it("generates the first collection index page at /starships/") do
268
+ it "generates the first collection index page at /starships/" do
269
269
  expect(site.pages[0].url).to eq("/starships/")
270
270
  end
271
271
  end
@@ -1,6 +1,6 @@
1
1
  require "spec_helper"
2
2
 
3
- describe(JekyllIndexPages::IndexPage) do
3
+ describe JekyllIndexPages::IndexPage do
4
4
  let(:site_config) do
5
5
  Jekyll.configuration({
6
6
  "source" => File.expand_path("../fixtures/index-page", __FILE__),
@@ -32,59 +32,59 @@ describe(JekyllIndexPages::IndexPage) do
32
32
  site.process
33
33
  end
34
34
 
35
- context("When no configuration is provided") do
35
+ context "When no configuration is provided" do
36
36
  let(:config) { {} }
37
37
 
38
- describe("IndexPage.initialize") do
39
- context("creates the first index page") do
38
+ describe "IndexPage.initialize" do
39
+ context "creates the first index page" do
40
40
  let(:pager) do
41
41
  pagination.paginate(0)
42
42
  pagination.pager
43
43
  end
44
44
 
45
- it("with default title and excerpt") do
45
+ it "with default title and excerpt" do
46
46
  expect(page.data["title"]).to eq("posts")
47
47
  expect(page.data["excerpt"]).to eq("posts")
48
48
  end
49
49
 
50
- it("listing the first two posts") do
50
+ it "listing the first two posts" do
51
51
  expect(page.data["pager"]["docs"].length).to eq(2)
52
52
  end
53
53
 
54
- it("containing pagination data") do
54
+ it "containing pagination data" do
55
55
  expect(page.data["pager"]["total_pages"]).to eq(3)
56
56
  expect(page.data["pager"]["current_page"]).to eq(1)
57
57
  expect(page.data["pager"]["prev_page"]).to eq(0)
58
58
  expect(page.data["pager"]["next_page"]).to eq(2)
59
59
  end
60
60
 
61
- it("and url for next page only") do
61
+ it "and url for next page only" do
62
62
  expect(page.data["pager"]["prev_page_url"]).to eq("")
63
63
  expect(page.data["pager"]["next_page_url"]).to eq("/posts/2/")
64
64
  end
65
65
  end
66
66
 
67
- context("creates the second index page") do
67
+ context "creates the second index page" do
68
68
  let(:dir) { "/posts/2" }
69
69
  let(:pager) do
70
70
  pagination.paginate(1)
71
71
  pagination.pager
72
72
  end
73
73
 
74
- it("containing urls for previous and next pages") do
74
+ it "containing urls for previous and next pages" do
75
75
  expect(page.data["pager"]["prev_page_url"]).to eq("/posts/")
76
76
  expect(page.data["pager"]["next_page_url"]).to eq("/posts/3/")
77
77
  end
78
78
  end
79
79
 
80
- context("creates the third index page") do
80
+ context "creates the third index page" do
81
81
  let(:dir) { "/posts/3" }
82
82
  let(:pager) do
83
83
  pagination.paginate(2)
84
84
  pagination.pager
85
85
  end
86
86
 
87
- it("containing url for prev page only") do
87
+ it "containing url for prev page only" do
88
88
  expect(page.data["pager"]["prev_page_url"]).to eq("/posts/2/")
89
89
  expect(page.data["pager"]["next_page_url"]).to eq("")
90
90
  end
@@ -92,7 +92,7 @@ describe(JekyllIndexPages::IndexPage) do
92
92
  end
93
93
  end
94
94
 
95
- context("When configuration is provided") do
95
+ context "When configuration is provided" do
96
96
  let(:config) do
97
97
  {
98
98
  "title" => "Star Trek Index",
@@ -100,8 +100,8 @@ describe(JekyllIndexPages::IndexPage) do
100
100
  }
101
101
  end
102
102
 
103
- describe("IndexPage.initialize") do
104
- it("creates the first index page with custom title and excerpt") do
103
+ describe "IndexPage.initialize" do
104
+ it "creates the first index page with custom title and excerpt" do
105
105
  expect(page.data["title"]).to eq("Star Trek Index")
106
106
  expect(page.data["excerpt"]).to eq("Star Trek Index")
107
107
  end
@@ -1,6 +1,6 @@
1
1
  require "spec_helper"
2
2
 
3
- describe(JekyllIndexPages::Pagination) do
3
+ describe JekyllIndexPages::Pagination do
4
4
  context "When no documents and no results per page are provided" do
5
5
  let(:pagination) { JekyllIndexPages::Pagination.new([], 0) }
6
6
  let(:pager) { pagination.pager }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-index-pages
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jose Miguel Venegas Mendoza
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-21 00:00:00.000000000 Z
11
+ date: 2017-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n