jekyll-scholar 5.8.1 → 5.8.2
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 +4 -4
- data/features/repository.feature +49 -2
- data/features/support/env.rb +16 -4
- data/lib/jekyll/scholar/utilities.rb +8 -4
- data/lib/jekyll/scholar/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 90dcebb42bbaea9a1c38409bf3ea692140b71a3a
|
|
4
|
+
data.tar.gz: 9d1acbf5ea85649e7b66ff78ce16dad1705ae859
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3a29f85b19f3e733e80052a4c9012cfc4acafbf30ca446eb283c893309a76e50242e6ce068eab262ff07794531c4d11d171857b05bc6ef8168dd6c3403319d57
|
|
7
|
+
data.tar.gz: 074ef9f7336b289abd5c2a23199fddd8375fe2fd5d958cc2d77a078a99414addf47be33fa8a4edc3158407d83ea858bd079357651613c5db7b2e02bb3d98b317
|
data/features/repository.feature
CHANGED
|
@@ -49,5 +49,52 @@ Feature: PDF Repository
|
|
|
49
49
|
And I should see "Link: /papers/ruby.pdf" in "_site/scholar.html"
|
|
50
50
|
And I should see "Slides: /papers/ruby.ppt" in "_site/scholar.html"
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
@repository
|
|
53
|
+
Scenario: A bibliography with a single entry and a repository, with source directory set
|
|
54
|
+
Given I have a configuration file with:
|
|
55
|
+
| key | value |
|
|
56
|
+
| source | src |
|
|
57
|
+
And I have a scholar configuration with:
|
|
58
|
+
| key | value |
|
|
59
|
+
| source | _bibliography |
|
|
60
|
+
| repository | papers |
|
|
61
|
+
| bibliography_template | bibliography |
|
|
62
|
+
And I have a "src" directory
|
|
63
|
+
And I have a "src/_bibliography" directory
|
|
64
|
+
And I have a file "src/_bibliography/references.bib":
|
|
65
|
+
"""
|
|
66
|
+
@book{ruby,
|
|
67
|
+
title = {The Ruby Programming Language},
|
|
68
|
+
author = {Flanagan, David and Matsumoto, Yukihiro},
|
|
69
|
+
year = {2008},
|
|
70
|
+
publisher = {O'Reilly Media}
|
|
71
|
+
}
|
|
72
|
+
"""
|
|
73
|
+
And I have a "src/papers" directory
|
|
74
|
+
And I have a file "src/papers/ruby.pdf":
|
|
75
|
+
"""
|
|
76
|
+
The PDF
|
|
77
|
+
"""
|
|
78
|
+
And I have a file "src/papers/ruby.ppt":
|
|
79
|
+
"""
|
|
80
|
+
The PPT
|
|
81
|
+
"""
|
|
82
|
+
And I have a "src/_layouts" directory
|
|
83
|
+
And I have a file "src/_layouts/bibliography.html":
|
|
84
|
+
"""
|
|
85
|
+
---
|
|
86
|
+
---
|
|
87
|
+
{{ reference }} Link: {{ link }} Slides: {{ links.ppt }}
|
|
88
|
+
"""
|
|
89
|
+
And I have a page "src/scholar.html":
|
|
90
|
+
"""
|
|
91
|
+
---
|
|
92
|
+
---
|
|
93
|
+
{% bibliography %}
|
|
94
|
+
"""
|
|
95
|
+
When I run jekyll
|
|
96
|
+
Then the _site directory should exist
|
|
97
|
+
And I should see "The Ruby Programming Language" in "_site/scholar.html"
|
|
98
|
+
And the "_site/papers/ruby.pdf" file should exist
|
|
99
|
+
And I should see "Link: /papers/ruby.pdf" in "_site/scholar.html"
|
|
100
|
+
And I should see "Slides: /papers/ruby.ppt" in "_site/scholar.html"
|
data/features/support/env.rb
CHANGED
|
@@ -21,13 +21,25 @@ require 'tmpdir'
|
|
|
21
21
|
|
|
22
22
|
TEST_DIR = File.join(Dir.tmpdir, 'jekyll')
|
|
23
23
|
|
|
24
|
-
def
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
def prepend_test_dir(options, key)
|
|
25
|
+
if options.key?(key)
|
|
26
|
+
if Pathname(options[key]).relative?
|
|
27
|
+
options[key] = File.join(TEST_DIR, options[key])
|
|
28
|
+
end
|
|
29
|
+
else
|
|
30
|
+
options[key] ||= TEST_DIR
|
|
31
|
+
end
|
|
32
|
+
end
|
|
28
33
|
|
|
34
|
+
def run_jekyll(options = {})
|
|
35
|
+
|
|
29
36
|
options = Jekyll.configuration(options)
|
|
30
37
|
|
|
38
|
+
prepend_test_dir(options, 'source')
|
|
39
|
+
prepend_test_dir(options, 'destination')
|
|
40
|
+
|
|
41
|
+
print options['source'] + "\n"
|
|
42
|
+
print options['destination'] + "\n"
|
|
31
43
|
site = Jekyll::Site.new(options)
|
|
32
44
|
site.process
|
|
33
45
|
|
|
@@ -351,10 +351,14 @@ module Jekyll
|
|
|
351
351
|
repo = Hash.new { |h,k| h[k] = {} }
|
|
352
352
|
|
|
353
353
|
return repo unless repository?
|
|
354
|
-
|
|
355
|
-
|
|
354
|
+
|
|
355
|
+
# ensure that the base directory format is literally
|
|
356
|
+
# the same as the entries that are in the directory
|
|
357
|
+
base = Dir[site.source][0]
|
|
358
|
+
|
|
359
|
+
Dir[File.join(site.source, repository_path, '**/*')].each do |path|
|
|
356
360
|
extname = File.extname(path)
|
|
357
|
-
repo[File.basename(path, extname)][extname[1..-1]] = path
|
|
361
|
+
repo[File.basename(path, extname)][extname[1..-1]] = Pathname(path).relative_path_from(Pathname(base))
|
|
358
362
|
end
|
|
359
363
|
|
|
360
364
|
repo
|
|
@@ -396,7 +400,7 @@ module Jekyll
|
|
|
396
400
|
|
|
397
401
|
def scholar_source
|
|
398
402
|
source = config['source']
|
|
399
|
-
|
|
403
|
+
|
|
400
404
|
# Improve by using Pathname from stdlib?
|
|
401
405
|
return source if source.start_with?('/') && File.exists?(source)
|
|
402
406
|
|
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.8.
|
|
4
|
+
version: 5.8.2
|
|
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-05-
|
|
11
|
+
date: 2016-05-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jekyll
|