citeproc-ruby 1.1.8 → 1.1.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Gemfile +10 -32
- data/lib/citeproc/ruby/renderer.rb +2 -1
- data/lib/citeproc/ruby/version.rb +1 -1
- metadata +14 -84
- data/.rspec +0 -3
- data/.rubocop.yml +0 -1156
- data/.simplecov +0 -4
- data/Guardfile +0 -14
- data/features/bibliography.feature +0 -25
- data/features/locale_overrides.feature +0 -31
- data/features/name_options.feature +0 -37
- data/features/names.feature +0 -198
- data/features/renderer.feature +0 -94
- data/features/sort.feature +0 -50
- data/features/step_definitions/engine.rb +0 -21
- data/features/step_definitions/renderer.rb +0 -85
- data/features/style_immanent_locale_terms.feature +0 -30
- data/features/support/env.rb +0 -35
- data/features/support/hooks.rb +0 -10
- data/spec/citeproc/ruby/engine_spec.rb +0 -120
- data/spec/citeproc/ruby/formats/default_spec.rb +0 -168
- data/spec/citeproc/ruby/formats/html_spec.rb +0 -167
- data/spec/citeproc/ruby/renderer/choose_spec.rb +0 -293
- data/spec/citeproc/ruby/renderer/date_spec.rb +0 -173
- data/spec/citeproc/ruby/renderer/group_spec.rb +0 -114
- data/spec/citeproc/ruby/renderer/history_spec.rb +0 -47
- data/spec/citeproc/ruby/renderer/label_spec.rb +0 -225
- data/spec/citeproc/ruby/renderer/layout_spec.rb +0 -41
- data/spec/citeproc/ruby/renderer/macro_spec.rb +0 -31
- data/spec/citeproc/ruby/renderer/names_spec.rb +0 -396
- data/spec/citeproc/ruby/renderer/number_spec.rb +0 -120
- data/spec/citeproc/ruby/renderer/text_spec.rb +0 -125
- data/spec/citeproc/ruby/renderer_spec.rb +0 -65
- data/spec/fixtures/items.rb +0 -113
- data/spec/fixtures/locales/locales-de-DE.xml +0 -298
- data/spec/fixtures/locales/locales-en-US.xml +0 -304
- data/spec/fixtures/locales/locales-fr-FR.xml +0 -317
- data/spec/fixtures/styles/apa-with-different-translations.csl +0 -451
- data/spec/fixtures/styles/apa.csl +0 -443
- data/spec/fixtures/styles/modern-language-association-8th-edition.csl +0 -293
- data/spec/spec_helper.rb +0 -73
data/.simplecov
DELETED
data/Guardfile
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
# A sample Guardfile
|
2
|
-
# More info at https://github.com/guard/guard#readme
|
3
|
-
|
4
|
-
guard 'rspec' do
|
5
|
-
watch(%r{^spec/.+_spec\.rb$})
|
6
|
-
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
7
|
-
watch('spec/spec_helper.rb') { 'spec' }
|
8
|
-
end
|
9
|
-
|
10
|
-
guard 'cucumber' do
|
11
|
-
watch(%r{^features/.+\.feature$})
|
12
|
-
watch(%r{^features/support/.+$}) { 'features' }
|
13
|
-
watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
|
14
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
Feature: Rendering bibliography nodes
|
2
|
-
As a hacker of cite processors
|
3
|
-
I want to render citation items
|
4
|
-
Using bibliography nodes
|
5
|
-
|
6
|
-
Scenario: Rendering APA style bibliographies as text
|
7
|
-
Given the "apa" style's bibliography node
|
8
|
-
When I render the following citation items as "text":
|
9
|
-
| type | author | title | issued | publisher | container-title | page | issue |
|
10
|
-
| book | Thomas Pynchon | The crying of lot 49 | November 7, 2006 | Harper Perennial | | | |
|
11
|
-
| article-journal | Derrida, Jacques | The purveyor of truth | 1975 | Yale University Press | Yale French Studies | 31-113 | 52 |
|
12
|
-
Then the results should be:
|
13
|
-
| Pynchon, T. (2006). The crying of lot 49. Harper Perennial. |
|
14
|
-
| Derrida, J. (1975). The purveyor of truth. Yale French Studies, (52), 31–113. |
|
15
|
-
|
16
|
-
Scenario: Rendering APA style bibliographies as HTML
|
17
|
-
Given the "apa" style's bibliography node
|
18
|
-
When I render the following citation item as "html":
|
19
|
-
| type | book |
|
20
|
-
| author | Vladimir Nabokov |
|
21
|
-
| title | Pale fire |
|
22
|
-
| issued | April 23, 1989 |
|
23
|
-
| publisher | Vintage |
|
24
|
-
| publisher-place | London |
|
25
|
-
Then the result should be: Nabokov, V. (1989). <i>Pale fire</i>. London: Vintage.
|
@@ -1,31 +0,0 @@
|
|
1
|
-
Feature: Locale overrides
|
2
|
-
As a hacker of CSL styles
|
3
|
-
I want to overrice localized terms
|
4
|
-
In the locale section of a CSL style
|
5
|
-
|
6
|
-
@locale-override @page-range
|
7
|
-
Scenario: Page range delimiter override
|
8
|
-
Given the following style:
|
9
|
-
"""
|
10
|
-
<style page-range-format="expanded">
|
11
|
-
<locale>
|
12
|
-
<terms>
|
13
|
-
<term name="page-range-delimiter">--</term>
|
14
|
-
</terms>
|
15
|
-
</locale>
|
16
|
-
<citation>
|
17
|
-
<layout>
|
18
|
-
<text variable="page"/>
|
19
|
-
</layout>
|
20
|
-
</citation>
|
21
|
-
</style>
|
22
|
-
"""
|
23
|
-
When I cite the following items as "text":
|
24
|
-
| page |
|
25
|
-
| 23 |
|
26
|
-
| 23-5 |
|
27
|
-
| 23-25 |
|
28
|
-
Then the results should be:
|
29
|
-
| 23 |
|
30
|
-
| 23--25 |
|
31
|
-
| 23--25 |
|
@@ -1,37 +0,0 @@
|
|
1
|
-
Feature: Inheritance of Name Options
|
2
|
-
As a style author
|
3
|
-
I want name nodes to inherit attributes
|
4
|
-
From the citation/bibliography and style nodes
|
5
|
-
|
6
|
-
Scenario: Name options from bibliography node
|
7
|
-
Given the following style node:
|
8
|
-
"""
|
9
|
-
<bibliography name-form="short">
|
10
|
-
<layout>
|
11
|
-
<names variable="author">
|
12
|
-
<name />
|
13
|
-
</names>
|
14
|
-
</layout>
|
15
|
-
</bibliography>
|
16
|
-
"""
|
17
|
-
When I render the following citation items as "html":
|
18
|
-
| author |
|
19
|
-
| John Doe |
|
20
|
-
Then the results should be:
|
21
|
-
| Doe |
|
22
|
-
|
23
|
-
Given the following style node:
|
24
|
-
"""
|
25
|
-
<bibliography name-form="short">
|
26
|
-
<layout>
|
27
|
-
<names variable="author"/>
|
28
|
-
<!--it works without a name node-->
|
29
|
-
</layout>
|
30
|
-
</bibliography>
|
31
|
-
"""
|
32
|
-
When I render the following citation items as "html":
|
33
|
-
| author |
|
34
|
-
| John Doe |
|
35
|
-
Then the results should be:
|
36
|
-
| Doe |
|
37
|
-
|
data/features/names.feature
DELETED
@@ -1,198 +0,0 @@
|
|
1
|
-
Feature: CSL Name Rendering
|
2
|
-
As a CSL hacker
|
3
|
-
I want to render names
|
4
|
-
Using names nodes
|
5
|
-
|
6
|
-
Scenario: Names Rendering
|
7
|
-
Given the following style node:
|
8
|
-
"""
|
9
|
-
<names variable="translator" delimiter=", " prefix="(" suffix=")">
|
10
|
-
<name and="symbol" delimiter=", "/>
|
11
|
-
<label form="short" prefix=", " text-case="capitalize-first" suffix=""/>
|
12
|
-
</names>
|
13
|
-
"""
|
14
|
-
When I render the following citation items as "text":
|
15
|
-
| translator |
|
16
|
-
| Romy Schneider and Peter Sellers |
|
17
|
-
Then the results should be:
|
18
|
-
| (Romy Schneider & Peter Sellers, Trans.) |
|
19
|
-
|
20
|
-
|
21
|
-
Scenario: Initials
|
22
|
-
Given the following style node:
|
23
|
-
"""
|
24
|
-
<names variable="translator author" delimiter=", " prefix="(" suffix=")">
|
25
|
-
<name and="symbol" delimiter=", " initialize-with=". "/>
|
26
|
-
<label form="short" prefix=", " text-case="capitalize-first" suffix=""/>
|
27
|
-
</names>
|
28
|
-
"""
|
29
|
-
When I render the following citation items as "text":
|
30
|
-
| translator | author |
|
31
|
-
| Romy Schneider and Peter Sellers | |
|
32
|
-
Then the results should be:
|
33
|
-
| (R. Schneider & P. Sellers, Trans.) |
|
34
|
-
|
35
|
-
Scenario: Initials when given part is uppercased
|
36
|
-
Given the following style node:
|
37
|
-
"""
|
38
|
-
<names variable="author" suffix=".">
|
39
|
-
<name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter="; " delimiter-precedes-last="always">
|
40
|
-
<name-part name="family" text-case="uppercase"/>
|
41
|
-
<name-part name="given" text-case="uppercase"/>
|
42
|
-
</name>
|
43
|
-
<et-al prefix=" " font-style="italic"/>
|
44
|
-
<label form="short" prefix=" (" suffix=".)" text-case="uppercase"/>
|
45
|
-
</names>
|
46
|
-
"""
|
47
|
-
When I render the following citation items as "html":
|
48
|
-
| author |
|
49
|
-
| Cole, Steven J. and Moore, Robert |
|
50
|
-
Then the results should be:
|
51
|
-
| COLE, S. J.; MOORE, R. |
|
52
|
-
|
53
|
-
|
54
|
-
Scenario: Name as sort order
|
55
|
-
Given the following style node:
|
56
|
-
"""
|
57
|
-
<names variable="author">
|
58
|
-
<name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />
|
59
|
-
</names>
|
60
|
-
"""
|
61
|
-
When I render the following citation items as "html":
|
62
|
-
| author |
|
63
|
-
| John Doe |
|
64
|
-
| John Doe and Jane Doe |
|
65
|
-
Then the results should be:
|
66
|
-
| Doe, John |
|
67
|
-
| Doe, John, and Jane Doe |
|
68
|
-
|
69
|
-
|
70
|
-
Scenario: Substitutions
|
71
|
-
Given the following style node:
|
72
|
-
"""
|
73
|
-
<names variable="author">
|
74
|
-
<name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />
|
75
|
-
<substitute>
|
76
|
-
<names variable="editor"/>
|
77
|
-
<text value="UNKNOWN"/>
|
78
|
-
</substitute>
|
79
|
-
</names>
|
80
|
-
"""
|
81
|
-
When I render the following citation items as "html":
|
82
|
-
| editor |
|
83
|
-
| John Doe |
|
84
|
-
| |
|
85
|
-
| John Doe and Jane Doe |
|
86
|
-
Then the results should be:
|
87
|
-
| Doe, John |
|
88
|
-
| UNKNOWN |
|
89
|
-
| Doe, John, and Jane Doe |
|
90
|
-
|
91
|
-
|
92
|
-
Scenario: Suppression after substitutions
|
93
|
-
Given the following style node:
|
94
|
-
"""
|
95
|
-
<group delimiter=", ">
|
96
|
-
<names variable="author">
|
97
|
-
<name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />
|
98
|
-
<substitute>
|
99
|
-
<names variable="editor"/>
|
100
|
-
<text variable="title"/>
|
101
|
-
</substitute>
|
102
|
-
</names>
|
103
|
-
<names variable="editor">
|
104
|
-
<label prefix=" (" suffix=")"/>
|
105
|
-
<substitute>
|
106
|
-
<text variable="title"/>
|
107
|
-
</substitute>
|
108
|
-
</names>
|
109
|
-
<text variable="title" text-case="uppercase"/>
|
110
|
-
</group>
|
111
|
-
"""
|
112
|
-
When I render the following citation items as "html":
|
113
|
-
| editor | author | title |
|
114
|
-
| John Doe | Jane Doe | The Title |
|
115
|
-
| | Jane Doe | The Title |
|
116
|
-
| John Doe | | The Title |
|
117
|
-
| | | The Title |
|
118
|
-
Then the results should be:
|
119
|
-
| Doe, Jane, John Doe (editor), THE TITLE |
|
120
|
-
| Doe, Jane, The Title |
|
121
|
-
| Doe, John, THE TITLE |
|
122
|
-
| The Title |
|
123
|
-
|
124
|
-
Scenario: Subsequent author substitutes complete-all with different roles
|
125
|
-
Given the following style node:
|
126
|
-
"""
|
127
|
-
<bibliography subsequent-author-substitute="---">
|
128
|
-
<layout>
|
129
|
-
<group delimiter=" ">
|
130
|
-
<names variable="author" delimiter=", " suffix=".">
|
131
|
-
<name name-as-sort-order="first"/>
|
132
|
-
<substitute>
|
133
|
-
<names variable="editor">
|
134
|
-
<name name-as-sort-order="first"/>
|
135
|
-
<label form="short" prefix=" " suffix="."/>
|
136
|
-
</names>
|
137
|
-
</substitute>
|
138
|
-
</names>
|
139
|
-
<text variable="title" suffix="."/>
|
140
|
-
</group>
|
141
|
-
</layout>
|
142
|
-
</bibliography>
|
143
|
-
"""
|
144
|
-
When I render the following citation items as "text":
|
145
|
-
| editor | author | title |
|
146
|
-
| | Jane Doe | Title A |
|
147
|
-
| | Jane Doe | Title B |
|
148
|
-
| | John Doe | Title C |
|
149
|
-
| John Doe | | Title D |
|
150
|
-
| | Jane Doe and John Doe | Title E |
|
151
|
-
| | Jane Doe and John Doe | Title F |
|
152
|
-
Then the results should be:
|
153
|
-
| Doe, Jane. Title A. |
|
154
|
-
| ---. Title B. |
|
155
|
-
| Doe, John. Title C. |
|
156
|
-
| --- ed. Title D. |
|
157
|
-
| Doe, Jane, John Doe. Title E. |
|
158
|
-
| ---. Title F. |
|
159
|
-
|
160
|
-
Scenario: Name / Label Order
|
161
|
-
Given the following style node:
|
162
|
-
"""
|
163
|
-
<group delimiter=". ">
|
164
|
-
<names variable="author" delimiter=". ">
|
165
|
-
<name and="symbol" delimiter=", "/>
|
166
|
-
<label prefix=" (" suffix=")"/>
|
167
|
-
</names>
|
168
|
-
<names variable="translator" delimiter=". ">
|
169
|
-
<label form="verb-short" text-case="capitalize-first" suffix=" "/>
|
170
|
-
<name and="symbol" delimiter=", "/>
|
171
|
-
</names>
|
172
|
-
</group>
|
173
|
-
"""
|
174
|
-
When I render the following citation items as "text":
|
175
|
-
| translator | author |
|
176
|
-
| John Doe | Jane Doe |
|
177
|
-
| John Doe and Jack Doe | Jane Doe and Jill Doe |
|
178
|
-
Then the results should be:
|
179
|
-
| Jane Doe (author). Trans. John Doe |
|
180
|
-
| Jane Doe & Jill Doe (authors). Trans. John Doe & Jack Doe |
|
181
|
-
|
182
|
-
Scenario: EtAlUseFirst options
|
183
|
-
Given the following style node:
|
184
|
-
"""
|
185
|
-
<group delimiter=" // ">
|
186
|
-
<names variable="author">
|
187
|
-
<name et-al-min="2" et-al-use-first="0"/>
|
188
|
-
</names>
|
189
|
-
<names variable="author">
|
190
|
-
<name et-al-min="2" et-al-use-first="1"/>
|
191
|
-
</names>
|
192
|
-
</group>
|
193
|
-
"""
|
194
|
-
When I render the following citation item as "text":
|
195
|
-
| author | John Doe and Jane Roe |
|
196
|
-
Then the result should be: John Doe et al.
|
197
|
-
|
198
|
-
|
data/features/renderer.feature
DELETED
@@ -1,94 +0,0 @@
|
|
1
|
-
Feature: Rendering CSL nodes
|
2
|
-
As a hacker of cite processors
|
3
|
-
I want to render citation items
|
4
|
-
With selected CSL nodes
|
5
|
-
|
6
|
-
Scenario: Simple Date Rendering
|
7
|
-
Given the following style node:
|
8
|
-
"""
|
9
|
-
<date variable="issued">
|
10
|
-
<date-part name="year"/>
|
11
|
-
</date>
|
12
|
-
"""
|
13
|
-
When I render the following citation items as "text":
|
14
|
-
| issued |
|
15
|
-
| November 7, 2006 |
|
16
|
-
| 2014-01-01 |
|
17
|
-
| 1999 |
|
18
|
-
Then the results should be:
|
19
|
-
| 2006 |
|
20
|
-
| 2014 |
|
21
|
-
| 1999 |
|
22
|
-
|
23
|
-
Scenario: Date Group Rendering
|
24
|
-
Given the following style node:
|
25
|
-
"""
|
26
|
-
<group prefix="(" suffix=").">
|
27
|
-
<date variable="issued">
|
28
|
-
<date-part name="year"/>
|
29
|
-
</date>
|
30
|
-
<text variable="year-suffix"/>
|
31
|
-
</group>
|
32
|
-
"""
|
33
|
-
When I render the following citation items as "text":
|
34
|
-
| issued | year-suffix |
|
35
|
-
| November 7, 2006 | |
|
36
|
-
| 2014-01-01 | |
|
37
|
-
| 1999 | a |
|
38
|
-
Then the results should be:
|
39
|
-
| (2006). |
|
40
|
-
| (2014). |
|
41
|
-
| (1999a). |
|
42
|
-
|
43
|
-
@html @formatting
|
44
|
-
Scenario: Formatted Groups
|
45
|
-
Given the following style node:
|
46
|
-
"""
|
47
|
-
<group>
|
48
|
-
<group suffix=" " font-weight="bold">
|
49
|
-
<!--group formatting is not pushed down-->
|
50
|
-
<text variable="volume" suffix=","/>
|
51
|
-
</group>
|
52
|
-
<text variable="page" suffix="," font-weight="bold"/>
|
53
|
-
</group>
|
54
|
-
"""
|
55
|
-
When I render the following citation item as "html":
|
56
|
-
| volume | 5 |
|
57
|
-
| page | 23 |
|
58
|
-
Then the result should be: <b>5,</b> <b>23</b>,
|
59
|
-
|
60
|
-
Scenario: Page labels
|
61
|
-
Given the following style node:
|
62
|
-
"""
|
63
|
-
<label variable="page"/>
|
64
|
-
"""
|
65
|
-
When I render the following citation items as "text":
|
66
|
-
| page |
|
67
|
-
| 23 |
|
68
|
-
| |
|
69
|
-
| 23, 34 |
|
70
|
-
Then the results should be:
|
71
|
-
| page |
|
72
|
-
| |
|
73
|
-
| pages |
|
74
|
-
|
75
|
-
@group @substitute
|
76
|
-
Scenario: Substitute in Groups
|
77
|
-
Given the following style node:
|
78
|
-
"""
|
79
|
-
<group>
|
80
|
-
<text value="by: "/>
|
81
|
-
<names variable="author">
|
82
|
-
<substitute>
|
83
|
-
<text value="Anonymous"/>
|
84
|
-
</substitute>
|
85
|
-
</names>
|
86
|
-
</group>
|
87
|
-
"""
|
88
|
-
When I render the following citation items as "text":
|
89
|
-
| author |
|
90
|
-
| Jane Doe |
|
91
|
-
| |
|
92
|
-
Then the results should be:
|
93
|
-
| by: Jane Doe |
|
94
|
-
| by: Anonymous |
|
data/features/sort.feature
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
Feature: Sorting
|
2
|
-
As a hacker of cite processors
|
3
|
-
I want to sort citation items
|
4
|
-
According to the rules of a CSL style
|
5
|
-
|
6
|
-
Scenario: Name sorting
|
7
|
-
Given the following sort keys:
|
8
|
-
"""
|
9
|
-
<sort>
|
10
|
-
<key variable="author"/>
|
11
|
-
</sort>
|
12
|
-
"""
|
13
|
-
When I sort the following items:
|
14
|
-
| author |
|
15
|
-
| Edelweis |
|
16
|
-
| ANZ-Group |
|
17
|
-
| Aardvaark |
|
18
|
-
Then the order should be:
|
19
|
-
| ID-2 |
|
20
|
-
| ID-1 |
|
21
|
-
| ID-0 |
|
22
|
-
|
23
|
-
Scenario: Name sorting macros
|
24
|
-
Given the following sort keys:
|
25
|
-
"""
|
26
|
-
<sort>
|
27
|
-
<key macro="author"/>
|
28
|
-
</sort>
|
29
|
-
"""
|
30
|
-
And the following macro:
|
31
|
-
"""
|
32
|
-
<macro name="author">
|
33
|
-
<names variable="author">
|
34
|
-
<name name-as-sort-order="all" and="symbol" sort-separator=", "
|
35
|
-
initialize-with="." delimiter-precedes-last="never" delimiter=", "/>
|
36
|
-
<label form="short" prefix=" (" suffix=".)" text-case="capitalize-first"/>
|
37
|
-
<substitute>
|
38
|
-
<names variable="editor"/>
|
39
|
-
<text value="Anon"/>
|
40
|
-
</substitute>
|
41
|
-
</names>
|
42
|
-
</macro>
|
43
|
-
"""
|
44
|
-
When I sort the following items:
|
45
|
-
| author |
|
46
|
-
| ABC |
|
47
|
-
| Aaa |
|
48
|
-
Then the order should be:
|
49
|
-
| ID-1 |
|
50
|
-
| ID-0 |
|