jekyll-scholar 5.5.1 → 5.6.0

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: 4c51e61d287ce06cc1ec0f5dc0f3d3ab55fbc006
4
- data.tar.gz: a6a92a2e9247e31ba3497b6f49de675f6b84f853
3
+ metadata.gz: abed0619494c665e22a5e4bd0b3aafb28e03ea7b
4
+ data.tar.gz: 2bd51b0607843ddc861a026a17a68f10c44d31f5
5
5
  SHA512:
6
- metadata.gz: 673e986fcafae6405c8856f1ba8fb37033f07b5bcc8c74f7a9e1036311244ff8ef70dacbfb3ca776a88e971f077603ff7b7288a01d29e2085a27678f81ec677d
7
- data.tar.gz: 94605701fbc7fb37920f3518dbc893b5f8c60edaa058dd3e8e16fa5db7b75bed09316ba85b4cbda38b193031f9cda6607221392d3101331353f8d3457df59b34
6
+ metadata.gz: a4d764609ff7b540ac0b06319e8f2384e5401ab4f9d736abf64cfeb1889a16794282ea4f9de5e222eea3a288efb261ad37a396e804bef977b398fabfa3b77dfe
7
+ data.tar.gz: 1c45100a39f4ee8173170d534ae64b916d433a01452de1a8c64f6b7f15327757005f4ed52801c5bc94ec547bd8c2eb2937df80fbd9bd790148b4d4e087dd7010
@@ -40,7 +40,7 @@ Feature: Grouping BibTeX Bibliographies
40
40
  Given I have a scholar configuration with:
41
41
  | key | value |
42
42
  | group_by | year |
43
- | group_order | ascending |
43
+ | group_order | ascending |
44
44
  And I have a "_bibliography" directory
45
45
  And I have a file "_bibliography/references.bib":
46
46
  """
@@ -73,7 +73,7 @@ Feature: Grouping BibTeX Bibliographies
73
73
  Given I have a scholar configuration with:
74
74
  | key | value |
75
75
  | group_by | year |
76
- | group_order | descending |
76
+ | group_order | descending |
77
77
  And I have a "_bibliography" directory
78
78
  And I have a file "_bibliography/references.bib":
79
79
  """
@@ -106,7 +106,7 @@ Feature: Grouping BibTeX Bibliographies
106
106
  Given I have a scholar configuration with:
107
107
  | key | value |
108
108
  | group_by | year,month |
109
- | group_order | descending,ascending |
109
+ | group_order | descending,ascending |
110
110
  And I have a "_bibliography" directory
111
111
  And I have a file "_bibliography/references.bib":
112
112
  """
@@ -301,4 +301,68 @@ Feature: Grouping BibTeX Bibliographies
301
301
  Then I should see "Januar" in "_site/scholar.html"
302
302
  And I should not see "January" in "_site/scholar.html"
303
303
  And I should see "Dezember" in "_site/scholar.html"
304
- And I should not see "December" in "_site/scholar.html"
304
+ And I should not see "December" in "_site/scholar.html"
305
+
306
+ @tags @grouping
307
+ Scenario: Local grouping override - no grouping
308
+ Given I have a scholar configuration with:
309
+ | group_by | year |
310
+ And I have a "_bibliography" directory
311
+ And I have a file "_bibliography/references.bib":
312
+ """
313
+ @book{ruby1,
314
+ title = {The Ruby Programming Language},
315
+ author = {Flanagan, David and Matsumoto, Yukihiro},
316
+ year = {2008},
317
+ publisher = {O'Reilly Media}
318
+ }
319
+ @book{ruby2,
320
+ title = {The Ruby Programming Language},
321
+ author = {Flanagan, David and Matsumoto, Yukihiro},
322
+ year = {2007},
323
+ publisher = {O'Reilly Media}
324
+ }
325
+ """
326
+ And I have a page "scholar.html":
327
+ """
328
+ ---
329
+ ---
330
+ {% bibliography -f references --group_by none %}
331
+ """
332
+ When I run jekyll
333
+ Then the _site directory should exist
334
+ And the "_site/scholar.html" file should exist
335
+ Then I should not see "<h2 class=\"bibliography\">2007</h2>" in "_site/scholar.html"
336
+ And I should not see "<h2 class=\"bibliography\">2008</h2>" in "_site/scholar.html"
337
+
338
+ @tags @grouping
339
+ Scenario: Local grouping override - grouping by year
340
+ Given I have a scholar configuration with:
341
+ | group_by | none |
342
+ And I have a "_bibliography" directory
343
+ And I have a file "_bibliography/references.bib":
344
+ """
345
+ @book{ruby1,
346
+ title = {The Ruby Programming Language},
347
+ author = {Flanagan, David and Matsumoto, Yukihiro},
348
+ year = {2008},
349
+ publisher = {O'Reilly Media}
350
+ }
351
+ @book{ruby2,
352
+ title = {The Ruby Programming Language},
353
+ author = {Flanagan, David and Matsumoto, Yukihiro},
354
+ year = {2007},
355
+ publisher = {O'Reilly Media}
356
+ }
357
+ """
358
+ And I have a page "scholar.html":
359
+ """
360
+ ---
361
+ ---
362
+ {% bibliography -f references --group_by year %}
363
+ """
364
+ When I run jekyll
365
+ Then the _site directory should exist
366
+ And the "_site/scholar.html" file should exist
367
+ Then I should see "<h2 class=\"bibliography\">2007</h2>" in "_site/scholar.html"
368
+ And I should see "<h2 class=\"bibliography\">2008</h2>" in "_site/scholar.html"
@@ -16,10 +16,10 @@ rescue LoadError
16
16
  end
17
17
 
18
18
  require 'test/unit'
19
-
20
19
  require 'jekyll/scholar'
20
+ require 'tmpdir'
21
21
 
22
- TEST_DIR = File.join('/', 'tmp', 'jekyll')
22
+ TEST_DIR = File.join(Dir.tmpdir, 'jekyll')
23
23
 
24
24
  def run_jekyll(options = {})
25
25
 
@@ -85,12 +85,16 @@ module Jekyll
85
85
  @style = style
86
86
  end
87
87
 
88
+ opts.on('-g', '--group_by GROUP') do |group_by|
89
+ @group_by = group_by
90
+ end
91
+
88
92
  opts.on('-T', '--template TEMPLATE') do |template|
89
93
  @bibliography_template = template
90
94
  end
91
95
  end
92
96
 
93
- argv = arguments.split(/(\B-[cCfqrptTslomA]|\B--(?:cited(_in_order)?|file|query|relative|prefix|text|style|template|locator|offset|max|suppress_author|))/)
97
+ argv = arguments.split(/(\B-[cCfqrptTsglomA]|\B--(?:cited(_in_order)?|file|query|relative|prefix|text|style|group_by|template|locator|offset|max|suppress_author|))/)
94
98
 
95
99
  parser.parse argv.map(&:strip).reject(&:empty?)
96
100
  end
@@ -198,10 +202,14 @@ module Jekyll
198
202
  .flatten
199
203
  end
200
204
 
205
+ def group_by
206
+ @group_by ||= config['group_by']
207
+ end
208
+
201
209
  def group?
202
- config['group_by'] != 'none'
210
+ group_by != 'none'
203
211
  end
204
-
212
+
205
213
  def group(ungrouped)
206
214
  def grouper(items,keys,order)
207
215
  groups = items
@@ -218,16 +226,16 @@ module Jekyll
218
226
  end
219
227
  grouper(ungrouped,group_keys,group_order)
220
228
  end
221
-
229
+
222
230
  def group_keys
223
231
  return @group_keys unless @group_keys.nil?
224
232
 
225
- @group_keys = Array(config['group_by'])
233
+ @group_keys = Array(group_by)
226
234
  .map { |key| key.to_s.split(/\s*,\s*/) }
227
235
  .flatten
228
236
  .map { |key| key == 'month' ? 'month_numeric' : key }
229
237
  end
230
-
238
+
231
239
  def group_order
232
240
  return @group_order unless @group_order.nil?
233
241
 
@@ -235,7 +243,7 @@ module Jekyll
235
243
  .map { |key| key.to_s.split(/\s*,\s*/) }
236
244
  .flatten
237
245
  end
238
-
246
+
239
247
  def group_compare(key,v1,v2)
240
248
  case key
241
249
  when 'type'
@@ -254,7 +262,7 @@ module Jekyll
254
262
  v1 <=> v2
255
263
  end
256
264
  end
257
-
265
+
258
266
  def group_value(key,item)
259
267
  case key
260
268
  when 'type'
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  class Scholar
3
- VERSION = '5.5.1'.freeze
3
+ VERSION = '5.6.0'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-scholar
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.5.1
4
+ version: 5.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvester Keil
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-26 00:00:00.000000000 Z
11
+ date: 2016-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll