Commit 8e808695 authored by Sylvester Keil's avatar Sylvester Keil

add suppress author option

see #65
parent f8e83b19
...@@ -29,6 +29,34 @@ Feature: Citations ...@@ -29,6 +29,34 @@ Feature: Citations
And the "_site/scholar.html" file should exist And the "_site/scholar.html" file should exist
And I should see "Flanagan" in "_site/scholar.html" And I should see "Flanagan" in "_site/scholar.html"
@tags @cite @suppress-author
Scenario: Citations With Suppressed Author
Given I have a scholar configuration with:
| key | value |
| source | ./_bibliography |
| bibliography | my_references |
And I have a "_bibliography" directory
And I have a file "_bibliography/my_references.bib":
"""
@book{ruby,
title = {The Ruby Programming Language},
author = {Flanagan, David and Matsumoto, Yukihiro},
year = {2008},
publisher = {O'Reilly Media}
}
"""
And I have a page "scholar.html":
"""
---
---
{% cite ruby --suppress_author %}
"""
When I run jekyll
Then the _site directory should exist
And the "_site/scholar.html" file should exist
And I should see "2008" in "_site/scholar.html"
And I should not see "Flanagan" in "_site/scholar.html"
@tags @cite @tags @cite
Scenario: Missing references Scenario: Missing references
Given I have a scholar configuration with: Given I have a scholar configuration with:
......
...@@ -38,6 +38,10 @@ module Jekyll ...@@ -38,6 +38,10 @@ module Jekyll
@cited, @skip_sort = true, true @cited, @skip_sort = true, true
end end
opts.on('-A', '--suppress_author') do |cited|
@suppress_author = true
end
opts.on('-f', '--file FILE') do |file| opts.on('-f', '--file FILE') do |file|
@bibtex_files ||= [] @bibtex_files ||= []
@bibtex_files << file @bibtex_files << file
...@@ -72,7 +76,7 @@ module Jekyll ...@@ -72,7 +76,7 @@ module Jekyll
end end
end end
argv = arguments.split(/(\B-[cCfqptTslm]|\B--(?:cited(_in_order)?|file|query|prefix|text|style|template|locator|max|))/) argv = arguments.split(/(\B-[cCfqptTslmA]|\B--(?:cited(_in_order)?|file|query|prefix|text|style|template|locator|max|suppress_author|))/)
parser.parse argv.map(&:strip).reject(&:empty?) parser.parse argv.map(&:strip).reject(&:empty?)
end end
...@@ -142,6 +146,10 @@ module Jekyll ...@@ -142,6 +146,10 @@ module Jekyll
sorted sorted
end end
def suppress_author?
!!@suppress_author
end
def repository? def repository?
!config['repository'].nil? && !config['repository'].empty? !config['repository'].nil? && !config['repository'].empty?
end end
...@@ -338,6 +346,7 @@ module Jekyll ...@@ -338,6 +346,7 @@ module Jekyll
CiteProc::CitationItem.new id: entry.id do |c| CiteProc::CitationItem.new id: entry.id do |c|
c.data = CiteProc::Item.new entry.to_citeproc c.data = CiteProc::Item.new entry.to_citeproc
c.data[:'citation-number'] = citation_number c.data[:'citation-number'] = citation_number
c.data.suppress! 'author' if suppress_author?
end end
end end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment