jekyll-scholar 4.1.3 → 4.2.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: b598b8f5248f77c16aa09aab90485fb2e5262cb1
4
- data.tar.gz: e6ec4af6641c6ef0e97af633c842495c70c80094
3
+ metadata.gz: 975325f5f0952b76b523cd83b8e087bdcc3fe0a0
4
+ data.tar.gz: 0f49f478269ced160ece93bd80c0c8b3fdaa51f3
5
5
  SHA512:
6
- metadata.gz: d49f0e8c60a84f3009998b9a464f8554e4827121d375425f299f769a1718b03387ed246811b4833789ee1a92b3537ac71296a0bc2337b5849c2f8488b272199a
7
- data.tar.gz: b8e39fb722690e97b90bdb332e841c256aff9be8d3ee420fd42e46b63c251e4760fa79c62bae6fe92d93ae4a199060ddb32d3a2b2c313cc36e20295dc1141ebe
6
+ metadata.gz: 0455060d84b28ae533113bb7a086c54c7d52b87544bcc96a284bee1994f50e6cb73380b5b2009d657ea1038918e027a2ede9f3182b22ce5ce07b5f9446f44d36
7
+ data.tar.gz: 5074a8a3ddee8c3c808f55e70badd396b077d4ed59ca01293be19084eb15efcc27d639623657e3307b57f4146a719678a3ad241d3f9ebde50bef876fc5e37447
data/README.md CHANGED
@@ -282,6 +282,14 @@ of the items you wish to quote separated by spaces. For example,
282
282
 
283
283
  <a href="#ruby">(Flanagan &amp; Matsumoto 2008; Shaughnessy 2013)</a>
284
284
 
285
+ #### Suppressing author names
286
+
287
+ Sometimes you want to suppress author names in a citation, because the
288
+ name has already been mentioned in your text; for such cases Jekyll-Scholar
289
+ provides the `--suppress_author` option (short form: `-A`):
290
+ `...as Matz explains {% cite ruby -A -l 42 %}` would produce something
291
+ like: `...as Matz explains (2008, p. 42)`.
292
+
285
293
  #### Page numbers and locators
286
294
 
287
295
  If you would like to add page numbers to your citation, you can use the
@@ -29,6 +29,34 @@ Feature: Citations
29
29
  And the "_site/scholar.html" file should exist
30
30
  And I should see "Flanagan" in "_site/scholar.html"
31
31
 
32
+ @tags @cite @suppress-author
33
+ Scenario: Citations With Suppressed Author
34
+ Given I have a scholar configuration with:
35
+ | key | value |
36
+ | source | ./_bibliography |
37
+ | bibliography | my_references |
38
+ And I have a "_bibliography" directory
39
+ And I have a file "_bibliography/my_references.bib":
40
+ """
41
+ @book{ruby,
42
+ title = {The Ruby Programming Language},
43
+ author = {Flanagan, David and Matsumoto, Yukihiro},
44
+ year = {2008},
45
+ publisher = {O'Reilly Media}
46
+ }
47
+ """
48
+ And I have a page "scholar.html":
49
+ """
50
+ ---
51
+ ---
52
+ {% cite ruby --suppress_author %}
53
+ """
54
+ When I run jekyll
55
+ Then the _site directory should exist
56
+ And the "_site/scholar.html" file should exist
57
+ And I should see "2008" in "_site/scholar.html"
58
+ And I should not see "Flanagan" in "_site/scholar.html"
59
+
32
60
  @tags @cite
33
61
  Scenario: Missing references
34
62
  Given I have a scholar configuration with:
@@ -215,6 +243,36 @@ Feature: Citations
215
243
  And the "_site/scholar.html" file should exist
216
244
  And I should see "\[1\], \[2\]" in "_site/scholar.html"
217
245
 
246
+ @tags @cite @citation_number
247
+ Scenario: Multiple citations of the same item using citation numbers
248
+ Given I have a scholar configuration with:
249
+ | key | value |
250
+ | source | ./_bibliography |
251
+ | bibliography | my_references |
252
+ | style | ieee |
253
+ And I have a "_bibliography" directory
254
+ And I have a file "_bibliography/my_references.bib":
255
+ """
256
+ @book{ruby,
257
+ title = {The Ruby Programming Language},
258
+ author = {Flanagan, David and Matsumoto, Yukihiro},
259
+ year = {2008},
260
+ publisher = {O'Reilly Media}
261
+ }
262
+ """
263
+ And I have a page "scholar.html":
264
+ """
265
+ ---
266
+ ---
267
+ {% cite ruby %}
268
+ {% cite ruby %}
269
+ """
270
+ When I run jekyll
271
+ Then the _site directory should exist
272
+ And the "_site/scholar.html" file should exist
273
+ And I should see "\[1\]" in "_site/scholar.html"
274
+ And I should not see "\[2\]" in "_site/scholar.html"
275
+
218
276
  @tags @cite @variables
219
277
  Scenario: A Simple Citation using liquid variables
220
278
  Given I have a scholar configuration with:
@@ -38,6 +38,10 @@ module Jekyll
38
38
  @cited, @skip_sort = true, true
39
39
  end
40
40
 
41
+ opts.on('-A', '--suppress_author') do |cited|
42
+ @suppress_author = true
43
+ end
44
+
41
45
  opts.on('-f', '--file FILE') do |file|
42
46
  @bibtex_files ||= []
43
47
  @bibtex_files << file
@@ -72,7 +76,7 @@ module Jekyll
72
76
  end
73
77
  end
74
78
 
75
- argv = arguments.split(/(\B-[cCfqptTslm]|\B--(?:cited(_in_order)?|file|query|prefix|text|style|template|locator|max|))/)
79
+ argv = arguments.split(/(\B-[cCfqptTslmA]|\B--(?:cited(_in_order)?|file|query|prefix|text|style|template|locator|max|suppress_author|))/)
76
80
 
77
81
  parser.parse argv.map(&:strip).reject(&:empty?)
78
82
  end
@@ -142,6 +146,10 @@ module Jekyll
142
146
  sorted
143
147
  end
144
148
 
149
+ def suppress_author?
150
+ !!@suppress_author
151
+ end
152
+
145
153
  def repository?
146
154
  !config['repository'].nil? && !config['repository'].empty?
147
155
  end
@@ -322,7 +330,7 @@ module Jekyll
322
330
  renderer.render items.zip(locators).map { |entry, locator|
323
331
  cited_keys << entry.key
324
332
 
325
- item = citation_item_for entry, citation_number
333
+ item = citation_item_for entry, citation_number(entry.key)
326
334
  item.locator = locator
327
335
 
328
336
  item
@@ -338,6 +346,7 @@ module Jekyll
338
346
  CiteProc::CitationItem.new id: entry.id do |c|
339
347
  c.data = CiteProc::Item.new entry.to_citeproc
340
348
  c.data[:'citation-number'] = citation_number
349
+ c.data.suppress! 'author' if suppress_author?
341
350
  end
342
351
  end
343
352
 
@@ -345,10 +354,8 @@ module Jekyll
345
354
  context['cited'] ||= []
346
355
  end
347
356
 
348
- def citation_number
349
- number = context['citation_number'] || 1
350
- context['citation_number'] = number.succ
351
- number
357
+ def citation_number(key)
358
+ (context['citation_numbers'] ||= {})[key] ||= cited_keys.length
352
359
  end
353
360
 
354
361
  def cite(keys)
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  class Scholar
3
- VERSION = '4.1.3'.freeze
3
+ VERSION = '4.2.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: 4.1.3
4
+ version: 4.2.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: 2014-10-30 00:00:00.000000000 Z
11
+ date: 2014-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll