asciidoctor-bibtex 0.3.1 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ef28bb04622b1fb0a08734642f086ecbafe496aad434374407cb8bbc4a88adcd
|
4
|
+
data.tar.gz: 80eaab008974ae4b2afbdf5f73229adaf11760954c5153471df5c78c39fb7b19
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db5db5a418b582cf9df51a6b7fdf3bc45540e5514abfeb25a187576781442351bc1c9e71e50b977695bd0286a63c6522ca0014def475c1484f42d1840c6127e4
|
7
|
+
data.tar.gz: 86a4f7e498827c8ec94b5432d88d044307432df19d091ff58f209e2daa08d839c9a2108b5f074a73677a60942f2e0f7bbd0a71bb559b5abc09115a5c1dac134f
|
@@ -35,9 +35,7 @@ module AsciidoctorBibtex
|
|
35
35
|
LaTeX::Decode::Punctuation.decode!(text)
|
36
36
|
LaTeX::Decode::Symbols.decode!(text)
|
37
37
|
LaTeX::Decode::Greek.decode!(text)
|
38
|
-
text.gsub
|
39
|
-
text.gsub!(/\\\w+(?=\s+\w)/, "")
|
40
|
-
text.gsub!(/\\\w+(?:\[.+?\])?\s*\{(.+?)\}/, "\\1")
|
38
|
+
text = text.gsub(/\\url\{(.+?)\}/, " \\1 ").gsub(/\\\w+(?=\s+\w)/, "").gsub(/\\\w+(?:\[.+?\])?\s*\{(.+?)\}/, "\\1")
|
41
39
|
LaTeX::Decode::Base.strip_braces(text)
|
42
40
|
LaTeX.normalize_C(text)
|
43
41
|
end
|
@@ -64,6 +62,9 @@ module AsciidoctorBibtex
|
|
64
62
|
if attrs.key? :style and not parent.document.attr? 'bibtex-style'
|
65
63
|
parent.document.set_attribute 'bibtex-style', attrs[:style]
|
66
64
|
end
|
65
|
+
if attrs.key? :locale and not parent.document.attr? 'bibtex-locale'
|
66
|
+
parent.document.set_attribute 'bibtex-locale', attrs[:locale]
|
67
|
+
end
|
67
68
|
create_paragraph parent, BibliographyBlockMacroPlaceholder, {}
|
68
69
|
end
|
69
70
|
end
|
@@ -77,6 +78,7 @@ module AsciidoctorBibtex
|
|
77
78
|
def process document
|
78
79
|
bibtex_file = (document.attr 'bibtex-file').to_s
|
79
80
|
bibtex_style = ((document.attr 'bibtex-style') || 'ieee').to_s
|
81
|
+
bibtex_locale = ((document.attr 'bibtex-locale') || 'en-US').to_s
|
80
82
|
bibtex_order = ((document.attr 'bibtex-order') || 'appearance').to_sym
|
81
83
|
bibtex_format = ((document.attr 'bibtex-format') || 'asciidoc').to_sym
|
82
84
|
|
@@ -92,7 +94,7 @@ module AsciidoctorBibtex
|
|
92
94
|
end
|
93
95
|
|
94
96
|
bibtex = BibTeX.open bibtex_file, :filter => [LatexFilter]
|
95
|
-
processor = Processor.new bibtex, true, bibtex_style, bibtex_order == :appearance, bibtex_format
|
97
|
+
processor = Processor.new bibtex, true, bibtex_style, bibtex_locale, bibtex_order == :appearance, bibtex_format
|
96
98
|
|
97
99
|
prose_blocks = document.find_by {|b| b.content_model == :simple or b.context == :list_item}
|
98
100
|
prose_blocks.each do |block|
|
@@ -110,13 +112,13 @@ module AsciidoctorBibtex
|
|
110
112
|
if block.context == :list_item
|
111
113
|
line = block.instance_variable_get :@text
|
112
114
|
processor.citations.retrieve_citations(line).each do |citation|
|
113
|
-
line.gsub
|
115
|
+
line = line.gsub(citation.original, processor.complete_citation(citation))
|
114
116
|
end
|
115
117
|
block.instance_variable_set :@text, line
|
116
118
|
else
|
117
119
|
block.lines.each do |line|
|
118
120
|
processor.citations.retrieve_citations(line).each do |citation|
|
119
|
-
line.gsub
|
121
|
+
line = line.gsub(citation.original, processor.complete_citation(citation))
|
120
122
|
end
|
121
123
|
end
|
122
124
|
end
|
@@ -13,18 +13,19 @@ module AsciidoctorBibtex
|
|
13
13
|
|
14
14
|
attr_reader :biblio, :links, :style, :citations
|
15
15
|
|
16
|
-
def initialize biblio, links, style, numeric_in_appearance_order = false, output = :asciidoc, bibfile = ""
|
16
|
+
def initialize biblio, links, style, locale, numeric_in_appearance_order = false, output = :asciidoc, bibfile = ""
|
17
17
|
@biblio = biblio
|
18
18
|
@links = links
|
19
19
|
@numeric_in_appearance_order = numeric_in_appearance_order
|
20
20
|
@style = style
|
21
|
+
@locale = locale
|
21
22
|
@citations = Citations.new
|
22
23
|
@filenames = Set.new
|
23
24
|
@output = output
|
24
25
|
@bibfile = bibfile
|
25
26
|
|
26
27
|
if output != :latex and output != :bibtex and output != :biblatex
|
27
|
-
@citeproc = CiteProc::Processor.new style: @style, format: :html
|
28
|
+
@citeproc = CiteProc::Processor.new style: @style, format: :html, locale: @locale
|
28
29
|
@citeproc.import @biblio.to_citeproc
|
29
30
|
end
|
30
31
|
end
|
@@ -36,9 +37,16 @@ module AsciidoctorBibtex
|
|
36
37
|
result = '+++'
|
37
38
|
cite_data.cites.each do |cite|
|
38
39
|
# NOTE: xelatex does not support "\citenp", so we output all
|
39
|
-
# references as "cite" here.
|
40
|
-
|
41
|
-
|
40
|
+
# references as "cite" here unless we're using biblatex.
|
41
|
+
if @output == :biblatex
|
42
|
+
if cite_data.type == "citenp"
|
43
|
+
result << "\\" << 'textcite'
|
44
|
+
else
|
45
|
+
result << "\\" << 'parencite'
|
46
|
+
end
|
47
|
+
else
|
48
|
+
result << "\\" << 'cite'
|
49
|
+
end
|
42
50
|
if cite.pages != ''
|
43
51
|
result << "[p. " << cite.pages << "]"
|
44
52
|
end
|
@@ -165,22 +173,19 @@ module AsciidoctorBibtex
|
|
165
173
|
lc = ']'
|
166
174
|
else
|
167
175
|
cite_text = @citeproc.process id: ref, mode: :citation
|
168
|
-
|
169
|
-
|
170
|
-
lc = cite_text[-1,1]
|
171
|
-
cite_text = cite_text[1..-2]
|
176
|
+
fc = ''
|
177
|
+
lc = ''
|
172
178
|
end
|
173
179
|
|
174
180
|
if Styles.is_numeric? @style
|
175
181
|
cite_text << "#{page_str(cite)}"
|
176
182
|
elsif cite_data.type == "citenp"
|
177
|
-
cite_text.gsub
|
178
|
-
cite_text.gsub!(", #{fc}", " #{fc}")
|
183
|
+
cite_text = cite_text.gsub(item.year, "#{fc}#{item.year}#{page_str(cite)}#{lc}").gsub(", #{fc}", " #{fc}")
|
179
184
|
else
|
180
185
|
cite_text << page_str(cite)
|
181
186
|
end
|
182
187
|
|
183
|
-
cite_text.gsub
|
188
|
+
cite_text = cite_text.gsub(",", ",") if @links # replace comma
|
184
189
|
|
185
190
|
return cite_text, fc, lc
|
186
191
|
end
|
metadata
CHANGED
@@ -1,15 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asciidoctor-bibtex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zhang YANG
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-05-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: asciidoctor
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.5.0
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 3.0.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.5.0
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 3.0.0
|
13
33
|
- !ruby/object:Gem::Dependency
|
14
34
|
name: bibtex-ruby
|
15
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,8 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
112
132
|
- !ruby/object:Gem::Version
|
113
133
|
version: '0'
|
114
134
|
requirements: []
|
115
|
-
|
116
|
-
rubygems_version: 2.6.7
|
135
|
+
rubygems_version: 3.0.3
|
117
136
|
signing_key:
|
118
137
|
specification_version: 4
|
119
138
|
summary: Adding bibtex functionality to asciidoc
|