jekyll-scholar 4.3.6 → 4.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/features/filter.feature +93 -0
- data/features/step_definitions/jekyll_steps.rb +10 -4
- data/features/step_definitions/scholar_steps.rb +9 -0
- data/lib/jekyll/scholar.rb +2 -0
- data/lib/jekyll/scholar/plugins/markdown_links.rb +14 -0
- data/lib/jekyll/scholar/utilities.rb +1 -0
- data/lib/jekyll/scholar/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f094338d53949be44b70b8e7f512861a5303130b
|
4
|
+
data.tar.gz: 4d4c0bc29496e9600934daacafd2c26c414173cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b72f42658fefc593629b596e1d37ad3409586a41e29add9e25ff0f6b4225073bb0a77fc59672e5675fa3828fced0e9ef2433b29f38517957e8d6739657b9b4da
|
7
|
+
data.tar.gz: e9f2a7f85d9b3a99be571f3be8c83ad76c4177246256c2f3cbeb90b59e9fc45476da8a16b06785b7edeeffdc55ce3c291e804aed9b1151adc2db6fbff132f1ce
|
data/features/filter.feature
CHANGED
@@ -38,6 +38,40 @@ Feature: BibTeX
|
|
38
38
|
And I should see "Programming Ruby" in "_site/scholar.html"
|
39
39
|
And I should not see "The Ruby Programming Language" in "_site/scholar.html"
|
40
40
|
|
41
|
+
@tags @filters
|
42
|
+
Scenario: Jekyll Filters
|
43
|
+
Given I have a scholar configuration with:
|
44
|
+
| key | value |
|
45
|
+
| source | ./_bibliography |
|
46
|
+
| bibliography_template | template |
|
47
|
+
And I have a "_bibliography" directory
|
48
|
+
And I have a file "_bibliography/references.bib":
|
49
|
+
"""
|
50
|
+
@book{ruby:2008-Foo,
|
51
|
+
title = {The Ruby Programming Language},
|
52
|
+
author = {Flanagan, David and Matsumoto, Yukihiro},
|
53
|
+
year = {2008},
|
54
|
+
publisher = {O'Reilly Media}
|
55
|
+
}
|
56
|
+
"""
|
57
|
+
And I have a "_layouts" directory
|
58
|
+
And I have a file "_layouts/template.html":
|
59
|
+
"""
|
60
|
+
---
|
61
|
+
---
|
62
|
+
{{ entry.key | slugify }}
|
63
|
+
"""
|
64
|
+
And I have a page "scholar.html":
|
65
|
+
"""
|
66
|
+
---
|
67
|
+
---
|
68
|
+
{% bibliography %}
|
69
|
+
"""
|
70
|
+
When I run jekyll
|
71
|
+
Then the _site directory should exist
|
72
|
+
And the "_site/scholar.html" file should exist
|
73
|
+
And I should see "ruby-2008-foo" in "_site/scholar.html"
|
74
|
+
|
41
75
|
@tags @max
|
42
76
|
Scenario: Limit number of entries
|
43
77
|
Given I have a scholar configuration with:
|
@@ -71,3 +105,62 @@ Feature: BibTeX
|
|
71
105
|
And the "_site/scholar.html" file should exist
|
72
106
|
And I should not see "Programming Ruby" in "_site/scholar.html"
|
73
107
|
And I should see "The Ruby Programming Language" in "_site/scholar.html"
|
108
|
+
|
109
|
+
@tags @urls
|
110
|
+
Scenario: URLs as text
|
111
|
+
Given I have a scholar configuration with:
|
112
|
+
| key | value |
|
113
|
+
| source | ./_bibliography |
|
114
|
+
And I have a "_bibliography" directory
|
115
|
+
And I have a file "_bibliography/references.bib":
|
116
|
+
"""
|
117
|
+
@book{pickaxe,
|
118
|
+
title = {Programming Ruby 1.9: The Pragmatic Programmer's Guide},
|
119
|
+
author = {Thomas, Dave and Fowler, Chad and Hunt, Andy},
|
120
|
+
year = {2009},
|
121
|
+
edition = 3,
|
122
|
+
publisher = {Pragmatic Bookshelf},
|
123
|
+
url = {https://pragprog.com}
|
124
|
+
}
|
125
|
+
"""
|
126
|
+
And I have a page "scholar.html":
|
127
|
+
"""
|
128
|
+
---
|
129
|
+
---
|
130
|
+
{% bibliography %}
|
131
|
+
"""
|
132
|
+
When I run jekyll
|
133
|
+
Then the _site directory should exist
|
134
|
+
And the "_site/scholar.html" file should exist
|
135
|
+
And I should see "from https://pragprog.com" in "_site/scholar.html"
|
136
|
+
|
137
|
+
@tags @urls
|
138
|
+
Scenario: URLs as Markdown links
|
139
|
+
Given I have a scholar configuration with:
|
140
|
+
| key | value |
|
141
|
+
| source | ./_bibliography |
|
142
|
+
And I have the following BibTeX filters:
|
143
|
+
| latex |
|
144
|
+
| markdown |
|
145
|
+
And I have a "_bibliography" directory
|
146
|
+
And I have a file "_bibliography/references.bib":
|
147
|
+
"""
|
148
|
+
@book{pickaxe,
|
149
|
+
title = {Programming Ruby 1.9: The Pragmatic Programmer's Guide},
|
150
|
+
author = {Thomas, Dave and Fowler, Chad and Hunt, Andy},
|
151
|
+
year = {2009},
|
152
|
+
edition = 3,
|
153
|
+
publisher = {Pragmatic Bookshelf},
|
154
|
+
url = {https://pragprog.com}
|
155
|
+
}
|
156
|
+
"""
|
157
|
+
And I have a page "scholar.html":
|
158
|
+
"""
|
159
|
+
---
|
160
|
+
---
|
161
|
+
{% bibliography %}
|
162
|
+
"""
|
163
|
+
When I run jekyll
|
164
|
+
Then the _site directory should exist
|
165
|
+
And the "_site/scholar.html" file should exist
|
166
|
+
And I should see "from \[https://pragprog.com\]\(https://pragprog.com\)" in "_site/scholar.html"
|
@@ -43,12 +43,18 @@ Then(/^the (.*) directory should exist$/) do |dir|
|
|
43
43
|
assert File.directory?(dir)
|
44
44
|
end
|
45
45
|
|
46
|
-
Then(/^I should see "(.*)" in "(.*)"$/) do |
|
47
|
-
|
46
|
+
Then(/^I should see "(.*)" in "(.*)"$/) do |pattern, file|
|
47
|
+
text = File.open(file).readlines.join
|
48
|
+
|
49
|
+
assert_match Regexp.new(pattern), text,
|
50
|
+
"Pattern /#{pattern}/ not found in: #{text}"
|
48
51
|
end
|
49
52
|
|
50
|
-
Then(/^I should not see "(.*)" in "(.*)"$/) do |
|
51
|
-
|
53
|
+
Then(/^I should not see "(.*)" in "(.*)"$/) do |pattern, file|
|
54
|
+
text = File.open(file).readlines.join
|
55
|
+
|
56
|
+
assert !text.match(Regexp.new(pattern)),
|
57
|
+
"Did not exptect /#{pattern}/ in: #{text}"
|
52
58
|
end
|
53
59
|
|
54
60
|
|
@@ -27,6 +27,15 @@ Given(/^I have the following BibTeX options:$/) do |table|
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
+
Given(/^I have the following BibTeX filters:$/) do |table|
|
31
|
+
File.open('_config.yml', 'a') do |f|
|
32
|
+
f.write(" bibtex_filters:\n")
|
33
|
+
table.raw.flatten.each do |row|
|
34
|
+
f.write(" - #{row}\n")
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
30
39
|
Then(/^"(.*)" should come before "(.*)" in "(.*)"$/) do |p1, p2, file|
|
31
40
|
data = File.open(file).readlines.join('')
|
32
41
|
|
data/lib/jekyll/scholar.rb
CHANGED
@@ -0,0 +1,14 @@
|
|
1
|
+
# Contriubted by @mfenner
|
2
|
+
# See https://github.com/inukshuk/jekyll-scholar/issues/30
|
3
|
+
|
4
|
+
require 'uri'
|
5
|
+
|
6
|
+
module Jekyll
|
7
|
+
class Scholar
|
8
|
+
class Markdown < BibTeX::Filter
|
9
|
+
def apply(value)
|
10
|
+
value.to_s.gsub(URI.regexp(['http','https','ftp'])) { |c| "[#{$&}](#{$&})" }
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
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.
|
4
|
+
version: 4.4.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: 2015-
|
11
|
+
date: 2015-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -110,6 +110,7 @@ files:
|
|
110
110
|
- lib/jekyll/scholar/converters/bibtex.rb
|
111
111
|
- lib/jekyll/scholar/defaults.rb
|
112
112
|
- lib/jekyll/scholar/generators/details.rb
|
113
|
+
- lib/jekyll/scholar/plugins/markdown_links.rb
|
113
114
|
- lib/jekyll/scholar/tags/bibliography.rb
|
114
115
|
- lib/jekyll/scholar/tags/bibtex.rb
|
115
116
|
- lib/jekyll/scholar/tags/cite.rb
|
@@ -138,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
139
|
version: 1.3.6
|
139
140
|
requirements: []
|
140
141
|
rubyforge_project: jekyll-scholar
|
141
|
-
rubygems_version: 2.4.
|
142
|
+
rubygems_version: 2.4.7
|
142
143
|
signing_key:
|
143
144
|
specification_version: 4
|
144
145
|
summary: Jekyll extensions for the academic blogger.
|