bergamasco 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/bergamasco/markdown.rb +4 -20
- data/lib/bergamasco/version.rb +1 -1
- data/spec/markdown_spec.rb +3 -13
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d0569cf27c3e1b39f7f627e8e444904c4d559ac
|
4
|
+
data.tar.gz: b35abe4ff49c530007e5b67648d0d5fba612334f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca6e9010494aa2cd9a0e1fbf8a0ea371a40fc074ea5ec5616e079211baa171961cc02ee1f52594b6957f18f9a74a3de50dd0ec9035d801a0ed16fb7061eea825
|
7
|
+
data.tar.gz: 7ac8ff15b82f376686abd7c50a6c604165542a511b3613eb1e2ead5321597f83f92e827ebae5c8d1452c4e7ab492fdc5d73077f5dfbd0a2629dfdff6658acb8d
|
data/Gemfile.lock
CHANGED
data/lib/bergamasco/markdown.rb
CHANGED
@@ -37,7 +37,7 @@ module Bergamasco
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def self.read_yaml_for_doi_metadata(filepath, options={})
|
40
|
-
keys = options[:keys] || ["title", "author", "date", "tags"]
|
40
|
+
keys = options[:keys] || ["title", "author", "date", "tags", "summary", "doi", "type", "version", "citation"]
|
41
41
|
unless File.exist?(filepath)
|
42
42
|
parentdir = Pathname.new(filepath).parent
|
43
43
|
FileUtils.mkdir_p parentdir
|
@@ -51,7 +51,7 @@ module Bergamasco
|
|
51
51
|
content = YAML_FRONT_MATTER_REGEXP.match(file).post_match
|
52
52
|
html = render_html(content, options)
|
53
53
|
metadata["summary"] = Bergamasco::Summarize.summary_from_html(html, options)
|
54
|
-
metadata["
|
54
|
+
metadata["citation"] = extract_references(html)
|
55
55
|
metadata["date"] = metadata["date"].iso8601
|
56
56
|
metadata
|
57
57
|
end
|
@@ -70,25 +70,9 @@ module Bergamasco
|
|
70
70
|
end
|
71
71
|
|
72
72
|
# expects a references list generated by pandoc
|
73
|
-
def self.extract_references(html
|
73
|
+
def self.extract_references(html)
|
74
74
|
doc = Nokogiri::HTML(html)
|
75
|
-
doc.xpath('//div[@id="refs"]/div/@id').map
|
76
|
-
id = ref.value[4..-1]
|
77
|
-
|
78
|
-
if /(http|https):\/\/(dx\.)?doi\.org\/(\w+)/.match(id)
|
79
|
-
uri = Addressable::URI.parse(id)
|
80
|
-
id = uri.path[1..-1].upcase
|
81
|
-
type = "DOI"
|
82
|
-
else
|
83
|
-
type = "URL"
|
84
|
-
end
|
85
|
-
|
86
|
-
{
|
87
|
-
value: id,
|
88
|
-
related_identifier_type: type,
|
89
|
-
relation_type: "References"
|
90
|
-
}
|
91
|
-
end
|
75
|
+
doc.xpath('//div[@id="refs"]/div/@id').map { |ref| ref.value[4..-1] }
|
92
76
|
end
|
93
77
|
end
|
94
78
|
end
|
data/lib/bergamasco/version.rb
CHANGED
data/spec/markdown_spec.rb
CHANGED
@@ -53,12 +53,7 @@ describe Bergamasco::Markdown do
|
|
53
53
|
filepath = fixture_path + 'cool-dois.html.md'
|
54
54
|
separator = "READMORE"
|
55
55
|
metadata = subject.read_yaml_for_doi_metadata(filepath, separator: separator, csl: 'spec/apa.csl', bibliography: 'spec/references.bib')
|
56
|
-
expect(metadata["
|
57
|
-
:related_identifier_type=>"URL",
|
58
|
-
:relation_type=>"References"},
|
59
|
-
{ :value=>"10.1371/JOURNAL.PONE.0115253",
|
60
|
-
:related_identifier_type=>"DOI",
|
61
|
-
:relation_type=>"References" }])
|
56
|
+
expect(metadata["citation"]).to eq(["https://www.w3.org/Provider/Style/URI", "https://doi.org/10.1371/journal.pone.0115253"])
|
62
57
|
end
|
63
58
|
|
64
59
|
it 'should write yaml' do
|
@@ -88,12 +83,7 @@ describe Bergamasco::Markdown do
|
|
88
83
|
filepath = fixture_path + 'cool-dois.html.md'
|
89
84
|
file = IO.read(filepath)
|
90
85
|
html = subject.render_html(file, skip_yaml_header: true, csl: 'spec/apa.csl', bibliography: 'spec/references.bib')
|
91
|
-
refs = subject.extract_references(html
|
92
|
-
expect(refs).to eq([
|
93
|
-
:related_identifier_type=>"URL",
|
94
|
-
:relation_type=>"References"},
|
95
|
-
{ :value=>"10.1371/JOURNAL.PONE.0115253",
|
96
|
-
:related_identifier_type=>"DOI",
|
97
|
-
:relation_type=>"References" }])
|
86
|
+
refs = subject.extract_references(html)
|
87
|
+
expect(refs).to eq(["https://www.w3.org/Provider/Style/URI", "https://doi.org/10.1371/journal.pone.0115253"])
|
98
88
|
end
|
99
89
|
end
|