jekyll-scholar 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/.travis.yml +12 -0
- data/Gemfile +15 -3
- data/README.md +44 -11
- data/Rakefile +23 -0
- data/cucumber.yml +1 -0
- data/features/bibtex.feature +164 -136
- data/features/citation.feature +98 -98
- data/features/cite_details.feature +48 -48
- data/features/details.feature +132 -67
- data/features/filter.feature +32 -32
- data/features/reference.feature +31 -2
- data/features/sorting.feature +57 -57
- data/features/support/env.rb +5 -1
- data/jekyll-scholar.gemspec +1 -11
- data/lib/jekyll/scholar/defaults.rb +23 -16
- data/lib/jekyll/scholar/generators/details.rb +3 -1
- data/lib/jekyll/scholar/tags/bibliography.rb +4 -4
- data/lib/jekyll/scholar/utilities.rb +37 -7
- data/lib/jekyll/scholar/version.rb +1 -1
- metadata +7 -130
data/features/citation.feature
CHANGED
@@ -3,111 +3,111 @@ Feature: Citations
|
|
3
3
|
I want to reference cool papers and books from my bibliography
|
4
4
|
|
5
5
|
@tags @cite
|
6
|
-
|
6
|
+
Scenario: A Simple Citation
|
7
7
|
Given I have a scholar configuration with:
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
8
|
+
| key | value |
|
9
|
+
| source | ./_bibliography |
|
10
|
+
| bibliography | my_references |
|
11
|
+
And I have a "_bibliography" directory
|
12
|
+
And I have a file "_bibliography/my_references.bib":
|
13
|
+
"""
|
14
|
+
@book{ruby,
|
15
|
+
title = {The Ruby Programming Language},
|
16
|
+
author = {Flanagan, David and Matsumoto, Yukihiro},
|
17
|
+
year = {2008},
|
18
|
+
publisher = {O'Reilly Media}
|
19
|
+
}
|
20
|
+
"""
|
21
|
+
And I have a page "scholar.html":
|
22
|
+
"""
|
23
|
+
---
|
24
|
+
---
|
25
|
+
{% cite ruby %}
|
26
|
+
"""
|
27
|
+
When I run jekyll
|
28
|
+
Then the _site directory should exist
|
29
|
+
And the "_site/scholar.html" file should exist
|
30
|
+
And I should see "Flanagan" in "_site/scholar.html"
|
31
31
|
|
32
32
|
@tags @cite
|
33
|
-
|
33
|
+
Scenario: Missing references
|
34
34
|
Given I have a scholar configuration with:
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
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 java %}
|
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 "missing reference" in "_site/scholar.html"
|
58
58
|
|
59
59
|
@tags @quote
|
60
|
-
|
60
|
+
Scenario: A Simple Block-Quote
|
61
61
|
Given I have a scholar configuration with:
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
62
|
+
| key | value |
|
63
|
+
| source | ./_bibliography |
|
64
|
+
| bibliography | my_references |
|
65
|
+
And I have a "_bibliography" directory
|
66
|
+
And I have a file "_bibliography/my_references.bib":
|
67
|
+
"""
|
68
|
+
@book{ruby,
|
69
|
+
title = {The Ruby Programming Language},
|
70
|
+
author = {Flanagan, David and Matsumoto, Yukihiro},
|
71
|
+
year = {2008},
|
72
|
+
publisher = {O'Reilly Media}
|
73
|
+
}
|
74
|
+
"""
|
75
|
+
And I have a page "scholar.html":
|
76
|
+
"""
|
77
|
+
---
|
78
|
+
---
|
79
|
+
{% quote ruby %}
|
80
|
+
We <3 Ruby
|
81
|
+
{% endquote %}
|
82
|
+
"""
|
83
|
+
When I run jekyll
|
84
|
+
Then the _site directory should exist
|
85
|
+
And the "_site/scholar.html" file should exist
|
86
|
+
And I should see "<blockquote><p>We <3 Ruby</p><cite><a .*#ruby.+\(Flanagan" in "_site/scholar.html"
|
87
87
|
|
88
88
|
@tags @cite
|
89
|
-
|
89
|
+
Scenario: A prefixed citation
|
90
90
|
Given I have a scholar configuration with:
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
91
|
+
| key | value |
|
92
|
+
| source | ./_bibliography |
|
93
|
+
| bibliography | my_references |
|
94
|
+
And I have a "_bibliography" directory
|
95
|
+
And I have a file "_bibliography/my_references.bib":
|
96
|
+
"""
|
97
|
+
@book{ruby,
|
98
|
+
title = {The Ruby Programming Language},
|
99
|
+
author = {Flanagan, David and Matsumoto, Yukihiro},
|
100
|
+
year = {2008},
|
101
|
+
publisher = {O'Reilly Media}
|
102
|
+
}
|
103
|
+
"""
|
104
|
+
And I have a page "scholar.html":
|
105
|
+
"""
|
106
|
+
---
|
107
|
+
---
|
108
|
+
{% cite ruby --prefix a %}
|
109
|
+
"""
|
110
|
+
When I run jekyll
|
111
|
+
Then the _site directory should exist
|
112
|
+
And the "_site/scholar.html" file should exist
|
113
|
+
And I should see "#a-ruby" in "_site/scholar.html"
|
@@ -3,55 +3,55 @@ Feature: Citations
|
|
3
3
|
I want to reference cool papers and books from my bibliography
|
4
4
|
|
5
5
|
@tags @cite_details
|
6
|
-
|
6
|
+
Scenario: A Simple Cite Details Link
|
7
7
|
Given I have a scholar configuration with:
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
8
|
+
| key | value |
|
9
|
+
| source | ./_bibliography |
|
10
|
+
| bibliography | my_references |
|
11
|
+
And I have a "_bibliography" directory
|
12
|
+
And I have a file "_bibliography/my_references.bib":
|
13
|
+
"""
|
14
|
+
@book{ruby,
|
15
|
+
title = {The Ruby Programming Language},
|
16
|
+
author = {Flanagan, David and Matsumoto, Yukihiro},
|
17
|
+
year = {2008},
|
18
|
+
publisher = {O'Reilly Media}
|
19
|
+
}
|
20
|
+
"""
|
21
|
+
And I have a page "scholar.html":
|
22
|
+
"""
|
23
|
+
---
|
24
|
+
---
|
25
|
+
{% cite_details ruby %}
|
26
|
+
"""
|
27
|
+
When I run jekyll
|
28
|
+
Then the _site directory should exist
|
29
|
+
And the "_site/scholar.html" file should exist
|
30
|
+
And I should see "Details</a>" in "_site/scholar.html"
|
31
31
|
|
32
32
|
@tags @cite_details
|
33
|
-
|
33
|
+
Scenario: A Simple Cite Details Link With A Text Argument
|
34
34
|
Given I have a scholar configuration with:
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
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_details ruby --text Click For More %}
|
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 "Click For More</a>" in "_site/scholar.html"
|
data/features/details.feature
CHANGED
@@ -4,74 +4,139 @@ Feature: BibTeX
|
|
4
4
|
And I want Jekyll to generate detail pages for all the entries in my bibliography
|
5
5
|
|
6
6
|
@generators
|
7
|
-
|
7
|
+
Scenario: A bibliography with a single entry
|
8
8
|
Given I have a scholar configuration with:
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
9
|
+
| key | value |
|
10
|
+
| source | ./_bibliography |
|
11
|
+
| details_layout | details.html |
|
12
|
+
And I have a "_bibliography" directory
|
13
|
+
And I have a file "_bibliography/references.bib":
|
14
|
+
"""
|
15
|
+
@book{ruby,
|
16
|
+
title = {The Ruby Programming Language},
|
17
|
+
author = {Flanagan, David and Matsumoto, Yukihiro},
|
18
|
+
year = {2008},
|
19
|
+
publisher = {O'Reilly Media}
|
20
|
+
}
|
21
|
+
"""
|
22
|
+
And I have a "_layouts" directory
|
23
|
+
And I have a file "_layouts/details.html":
|
24
|
+
"""
|
25
|
+
---
|
26
|
+
---
|
27
|
+
<html>
|
28
|
+
<head></head>
|
29
|
+
<body>
|
30
|
+
{{ page.entry.title }}
|
31
|
+
</body>
|
32
|
+
</html>
|
33
|
+
"""
|
34
|
+
When I run jekyll
|
35
|
+
Then the _site directory should exist
|
36
|
+
And the "_site/bibliography/ruby.html" file should exist
|
37
|
+
And I should see "The Ruby Programming Language" in "_site/bibliography/ruby.html"
|
38
|
+
|
39
|
+
@generators
|
40
|
+
Scenario: LaTeX conversion is applied to everything except the bibtex field
|
41
|
+
Given I have a scholar configuration with:
|
42
|
+
| key | value |
|
43
|
+
| source | ./_bibliography |
|
44
|
+
| details_layout | details.html |
|
45
|
+
And I have a "_bibliography" directory
|
46
|
+
And I have a file "_bibliography/references.bib":
|
47
|
+
"""
|
48
|
+
@book{ruby,
|
49
|
+
title = {An Umlaut \"a!},
|
50
|
+
}
|
51
|
+
"""
|
52
|
+
And I have a "_layouts" directory
|
53
|
+
And I have a file "_layouts/details.html":
|
54
|
+
"""
|
55
|
+
---
|
56
|
+
---
|
57
|
+
<html>
|
58
|
+
<head></head>
|
59
|
+
<body>
|
60
|
+
Title: {{ page.entry.title }}
|
61
|
+
{{ page.entry.bibtex }}
|
62
|
+
</body>
|
63
|
+
</html>
|
64
|
+
"""
|
65
|
+
When I run jekyll
|
66
|
+
Then the _site directory should exist
|
67
|
+
And the "_site/bibliography/ruby.html" file should exist
|
68
|
+
And I should see "Title: An Umlaut ä!" in "_site/bibliography/ruby.html"
|
69
|
+
And I should see "title = {An Umlaut \\\"a!}" in "_site/bibliography/ruby.html"
|
70
|
+
|
71
|
+
@generators
|
72
|
+
Scenario: LaTeX conversion can be turned off
|
73
|
+
Given I have a scholar configuration with:
|
74
|
+
| key | value |
|
75
|
+
| source | ./_bibliography |
|
76
|
+
| details_layout | details.html |
|
77
|
+
| bibtex_filters | |
|
78
|
+
And I have a "_bibliography" directory
|
79
|
+
And I have a file "_bibliography/references.bib":
|
80
|
+
"""
|
81
|
+
@book{ruby,
|
82
|
+
title = {An Umlaut \"a!},
|
83
|
+
}
|
84
|
+
"""
|
85
|
+
And I have a "_layouts" directory
|
86
|
+
And I have a file "_layouts/details.html":
|
87
|
+
"""
|
88
|
+
---
|
89
|
+
---
|
90
|
+
<html>
|
91
|
+
<head></head>
|
92
|
+
<body>
|
93
|
+
Title: {{ page.entry.title }}
|
94
|
+
{{ page.entry.bibtex }}
|
95
|
+
</body>
|
96
|
+
</html>
|
97
|
+
"""
|
98
|
+
When I run jekyll
|
99
|
+
Then the _site directory should exist
|
100
|
+
And the "_site/bibliography/ruby.html" file should exist
|
101
|
+
And I should see "Title: An Umlaut \\\"a!" in "_site/bibliography/ruby.html"
|
102
|
+
And I should see "title = {An Umlaut \\\"a!}" in "_site/bibliography/ruby.html"
|
38
103
|
|
39
104
|
@tags @details
|
40
|
-
|
105
|
+
Scenario: Links to Detail Pages are Generated Automatically
|
41
106
|
Given I have a scholar configuration with:
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
107
|
+
| key | value |
|
108
|
+
| source | ./_bibliography |
|
109
|
+
| bibliogaphy | references |
|
110
|
+
| details_layout | details.html |
|
111
|
+
And I have a "_bibliography" directory
|
112
|
+
And I have a file "_bibliography/references.bib":
|
113
|
+
"""
|
114
|
+
@book{ruby,
|
115
|
+
title = {The Ruby Programming Language},
|
116
|
+
author = {Flanagan, David and Matsumoto, Yukihiro},
|
117
|
+
year = {2008},
|
118
|
+
publisher = {O'Reilly Media}
|
119
|
+
}
|
120
|
+
"""
|
121
|
+
And I have a "_layouts" directory
|
122
|
+
And I have a file "_layouts/details.html":
|
123
|
+
"""
|
124
|
+
---
|
125
|
+
---
|
126
|
+
<html>
|
127
|
+
<head></head>
|
128
|
+
<body>
|
129
|
+
{{ page.entry.title }}
|
130
|
+
</body>
|
131
|
+
</html>
|
132
|
+
"""
|
133
|
+
And I have a page "scholar.html":
|
134
|
+
"""
|
135
|
+
---
|
136
|
+
---
|
137
|
+
{% bibliography %}
|
138
|
+
"""
|
139
|
+
When I run jekyll
|
140
|
+
Then the _site directory should exist
|
141
|
+
And the "_site/scholar.html" file should exist
|
142
|
+
And I should see "<a[^>]+href=\"/bibliography/ruby.html\">" in "_site/scholar.html"
|