commonmeta-ruby 3.2.2 → 3.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 +2 -2
- data/lib/commonmeta/author_utils.rb +11 -0
- data/lib/commonmeta/cli.rb +5 -1
- data/lib/commonmeta/readers/json_feed_reader.rb +10 -6
- data/lib/commonmeta/utils.rb +4 -2
- data/lib/commonmeta/version.rb +1 -1
- data/spec/author_utils_spec.rb +9 -8
- data/spec/cli_spec.rb +1 -1
- data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/json_feed/blog_post.yml +14 -14
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed/all_posts.yml +2625 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed/behind_the_science.yml +1176 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/blogger_post.yml +7 -7
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_with_doi.yml +7 -7
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_without_doi.yml +196 -0
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/jekyll_post.yml +7 -7
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/wordpress_post.yml +7 -7
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/json_feed_url/all_posts.yml +221 -0
- data/spec/readers/json_feed_reader_spec.rb +35 -10
- data/spec/utils_spec.rb +5 -0
- data/spec/writers/citation_writer_spec.rb +1 -1
- metadata +6 -15
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_metadata/blogger_post.yml +0 -141
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_metadata/ghost_post_with_doi.yml +0 -164
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_metadata/jekyll_post.yml +0 -134
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_metadata/wordpress_post.yml +0 -210
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_item_metadata/blogger_post.yml +0 -94
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_item_metadata/ghost_post.yml +0 -117
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_item_metadata/ghost_post_with_doi.yml +0 -117
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_item_metadata/jekyll_post.yml +0 -170
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_item_metadata/wordpress_post.yml +0 -163
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_post_metadata/blogger_post.yml +0 -141
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_post_metadata/ghost_post_with_doi.yml +0 -164
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_post_metadata/jekyll_post.yml +0 -134
- data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_post_metadata/wordpress_post.yml +0 -210
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d39024b030308bfeb8bddbc31a34396f630967c375c5ee15e38ce76fefd97e5b
|
4
|
+
data.tar.gz: 93e0dcceac66451bbcd81745ef829f2d489a83bad5bd9abd32f74c77efbcb200
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d5fc95306870e50f0db71d994fa41b2d776523535ec2e81f0d5ecac721cff5c0a0b4ead67a0910e7633e9bab66fc65cabc7362a411469c9d31a4fd1cb25d1af8
|
7
|
+
data.tar.gz: 233a74b81551bd4951a3852b400c0fb07baf9bd0c8d557348a1f6c1d17483bc56c158f95a68063490929ff8e9078f67fe9f1094b8ce1b32ddccea6ed2406c1a4
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
commonmeta-ruby (3.2.
|
4
|
+
commonmeta-ruby (3.2.4)
|
5
5
|
activesupport (>= 4.2.5, < 8.0)
|
6
6
|
addressable (~> 2.8.1, < 2.8.2)
|
7
7
|
base32-url (>= 0.5.0, < 1)
|
@@ -84,7 +84,7 @@ GEM
|
|
84
84
|
http-cookie (1.0.5)
|
85
85
|
domain_name (~> 0.5)
|
86
86
|
http-form_data (2.3.0)
|
87
|
-
i18n (1.14.
|
87
|
+
i18n (1.14.1)
|
88
88
|
concurrent-ruby (~> 1.0)
|
89
89
|
json (2.6.3)
|
90
90
|
json-canonicalization (0.3.2)
|
@@ -49,6 +49,8 @@ module Commonmeta
|
|
49
49
|
|
50
50
|
if type.blank? && id.is_a?(String) && URI.parse(id).host == 'ror.org'
|
51
51
|
type = 'Organization'
|
52
|
+
elsif type.blank? && author['type'] == 'Organization'
|
53
|
+
type = 'Organization'
|
52
54
|
elsif type.blank? && id.is_a?(String) && URI.parse(id).host == 'orcid.org'
|
53
55
|
type = 'Person'
|
54
56
|
elsif type.blank? && (given_name.present? || family_name.present?)
|
@@ -108,6 +110,15 @@ module Commonmeta
|
|
108
110
|
def is_personal_name?(name: nil)
|
109
111
|
return true if name_exists?(name.to_s.split.first) || name_exists?(name.to_s.split(', ').last)
|
110
112
|
|
113
|
+
# check if a name has only one word, e.g. "FamousOrganization"
|
114
|
+
return false if name.to_s.split(' ').size == 1
|
115
|
+
|
116
|
+
# check of name can be parsed into given/family name
|
117
|
+
Namae.options[:include_particle_in_family] = true
|
118
|
+
names = Namae.parse(name)
|
119
|
+
parsed_name = names.first
|
120
|
+
return true if parsed_name && parsed_name.given
|
121
|
+
|
111
122
|
false
|
112
123
|
end
|
113
124
|
|
data/lib/commonmeta/cli.rb
CHANGED
@@ -51,7 +51,7 @@ module Commonmeta
|
|
51
51
|
else
|
52
52
|
[]
|
53
53
|
end
|
54
|
-
language = meta.fetch("language", nil) || meta.
|
54
|
+
language = meta.fetch("language", nil) || meta.dig("blog", "language")
|
55
55
|
state = id.present? || read_options.present? ? "findable" : "not_found"
|
56
56
|
subjects = Array.wrap(meta.fetch("tags", nil)).reduce([]) do |sum, subject|
|
57
57
|
sum += name_to_fos(subject)
|
@@ -74,16 +74,20 @@ module Commonmeta
|
|
74
74
|
"state" => state }.compact.merge(read_options)
|
75
75
|
end
|
76
76
|
|
77
|
-
def get_json_feed(id)
|
77
|
+
def get_json_feed(id = nil)
|
78
78
|
# get JSON Feed items not registered as DOIs
|
79
|
-
|
80
|
-
|
79
|
+
|
81
80
|
url = json_feed_url(id)
|
82
81
|
response = HTTP.get(url)
|
83
82
|
return { "string" => nil, "state" => "not_found" } unless response.status.success?
|
84
83
|
|
85
|
-
|
86
|
-
|
84
|
+
if id.present?
|
85
|
+
blog = JSON.parse(response.body.to_s)
|
86
|
+
blog["items"].select { |item| !validate_doi(item["id"]) }.map { |item| item["uuid"] }.first
|
87
|
+
else
|
88
|
+
posts = JSON.parse(response.body.to_s)
|
89
|
+
posts.select { |post| !validate_doi(post["id"]) }.map { |post| post["uuid"] }.first
|
90
|
+
end
|
87
91
|
end
|
88
92
|
end
|
89
93
|
end
|
data/lib/commonmeta/utils.rb
CHANGED
@@ -1381,8 +1381,10 @@ module Commonmeta
|
|
1381
1381
|
Base32::URL.decode(id)
|
1382
1382
|
end
|
1383
1383
|
|
1384
|
-
def json_feed_url(id)
|
1385
|
-
"https://rogue-scholar.org/api/blogs/#{id}"
|
1384
|
+
def json_feed_url(id = nil)
|
1385
|
+
return "https://rogue-scholar.org/api/blogs/#{id}" if id.present?
|
1386
|
+
|
1387
|
+
"https://rogue-scholar.org/api/posts"
|
1386
1388
|
end
|
1387
1389
|
end
|
1388
1390
|
end
|
data/lib/commonmeta/version.rb
CHANGED
data/spec/author_utils_spec.rb
CHANGED
@@ -8,12 +8,6 @@ describe Commonmeta::Metadata, vcr: true do
|
|
8
8
|
end
|
9
9
|
|
10
10
|
context 'is_personal_name?' do
|
11
|
-
it 'has type organization' do
|
12
|
-
author = { 'email' => 'info@ucop.edu', 'name' => 'University of California, Santa Barbara',
|
13
|
-
'role' => { 'namespace' => 'http://www.ngdc.noaa.gov/metadata/published/xsd/schema/resources/Codelist/gmxCodelists.xml#CI_RoleCode', 'roleCode' => 'copyrightHolder' }, 'type' => 'Organization' }
|
14
|
-
expect(subject.is_personal_name?(name: author['name'])).to be false
|
15
|
-
end
|
16
|
-
|
17
11
|
it 'has id' do
|
18
12
|
author = { 'id' => 'http://orcid.org/0000-0003-1419-2405', 'givenName' => 'Martin', 'familyName' => 'Fenner', 'name' => 'Martin Fenner' }
|
19
13
|
expect(subject.is_personal_name?(name: author['name'])).to be true
|
@@ -42,7 +36,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
42
36
|
|
43
37
|
it 'has unknown given name' do
|
44
38
|
author = { 'name' => 'Rintze Zelle' }
|
45
|
-
expect(subject.is_personal_name?(name: author['name'])).to be
|
39
|
+
expect(subject.is_personal_name?(name: author['name'])).to be true
|
46
40
|
end
|
47
41
|
|
48
42
|
it 'has middle initial' do
|
@@ -52,11 +46,18 @@ describe Commonmeta::Metadata, vcr: true do
|
|
52
46
|
|
53
47
|
it 'has no info' do
|
54
48
|
author = { 'name' => 'M Fenner' }
|
55
|
-
expect(subject.is_personal_name?(name: author['name'])).to be
|
49
|
+
expect(subject.is_personal_name?(name: author['name'])).to be true
|
56
50
|
end
|
57
51
|
end
|
58
52
|
|
59
53
|
context 'get_one_author' do
|
54
|
+
it 'has type organization' do
|
55
|
+
author = { 'email' => 'info@ucop.edu', 'name' => 'University of California, Santa Barbara',
|
56
|
+
'role' => { 'namespace' => 'http://www.ngdc.noaa.gov/metadata/published/xsd/schema/resources/Codelist/gmxCodelists.xml#CI_RoleCode', 'roleCode' => 'copyrightHolder' }, 'type' => 'Organization' }
|
57
|
+
response = subject.get_one_author(author)
|
58
|
+
expect(response).to eq('name' => 'University of California, Santa Barbara', 'type' => 'Organization')
|
59
|
+
end
|
60
|
+
|
60
61
|
it 'has familyName' do
|
61
62
|
input = 'https://doi.org/10.5438/4K3M-NYVG'
|
62
63
|
subject = described_class.new(input: input)
|
data/spec/cli_spec.rb
CHANGED
@@ -345,7 +345,7 @@ describe Commonmeta::CLI do
|
|
345
345
|
let(:input) { "prmb582" }
|
346
346
|
|
347
347
|
it "blog post" do
|
348
|
-
expect { subject.json_feed input }.to output(/
|
348
|
+
expect { subject.json_feed input }.to output(/89a326c6-f5d1-443a-99b8-ea75e705ce11\n/).to_stdout
|
349
349
|
end
|
350
350
|
end
|
351
351
|
end
|
@@ -23,13 +23,13 @@ http_interactions:
|
|
23
23
|
Cache-Control:
|
24
24
|
- public, max-age=0, must-revalidate
|
25
25
|
Content-Length:
|
26
|
-
- '
|
26
|
+
- '30046'
|
27
27
|
Content-Type:
|
28
28
|
- application/json; charset=utf-8
|
29
29
|
Date:
|
30
|
-
-
|
30
|
+
- Mon, 05 Jun 2023 08:27:03 GMT
|
31
31
|
Etag:
|
32
|
-
- '"
|
32
|
+
- '"3osxmn59l4n48"'
|
33
33
|
Server:
|
34
34
|
- Vercel
|
35
35
|
Strict-Transport-Security:
|
@@ -39,7 +39,7 @@ http_interactions:
|
|
39
39
|
X-Vercel-Cache:
|
40
40
|
- MISS
|
41
41
|
X-Vercel-Id:
|
42
|
-
- fra1::iad1::
|
42
|
+
- fra1::iad1::djztz-1685953622736-2b55f4de8668
|
43
43
|
Connection:
|
44
44
|
- close
|
45
45
|
body:
|
@@ -47,7 +47,7 @@ http_interactions:
|
|
47
47
|
string: '{"id":"prmb582","title":"Citation Style Language","description":"CitationStyles.org,
|
48
48
|
home of the Citation Style Language (CSL), a popular open XML-based language
|
49
49
|
to describe the formatting of citations and bibliographies.","language":"en","icon":null,"favicon":null,"feed_url":"https://citationstyles.org/feed.xml","feed_format":"application/atom+xml","home_page_url":"https://citationstyles.org/","indexed_at":"2023-04-25","license":"https://creativecommons.org/licenses/by/4.0/legalcode","generator":"Jekyll","category":"Engineering
|
50
|
-
and Technology","items":[{"id":"https://citationstyles.org/2014/01/29/mendeley-donates-to-the-csl-project/","
|
50
|
+
and Technology","items":[{"id":"https://citationstyles.org/2014/01/29/mendeley-donates-to-the-csl-project/","uuid":"89a326c6-f5d1-443a-99b8-ea75e705ce11","url":"https://citationstyles.org/2014/01/29/mendeley-donates-to-the-csl-project/","title":"Mendeley
|
51
51
|
Donates to the CSL Project","summary":"CSL has seen a lot of growth in recent
|
52
52
|
years: more than 20 software products use CSL (see the citationstyles.org
|
53
53
|
frontpage), and we offer over 6750 free citation styles, covering thousands
|
@@ -82,7 +82,7 @@ http_interactions:
|
|
82
82
|
citing items in multiple languages.\nWe’ll of course continue to maintain
|
83
83
|
the project website and documentation, and handle style submissions to the
|
84
84
|
repository.\nFinally, we’ll keep reaching out to publishers to further increase
|
85
|
-
the number of journals covered by CSL styles.</p>","tags":[],"language":"en"},{"id":"https://citationstyles.org/2010/03/22/citation-style-language-1-0/","
|
85
|
+
the number of journals covered by CSL styles.</p>","tags":[],"language":"en"},{"id":"https://citationstyles.org/2010/03/22/citation-style-language-1-0/","uuid":"6cb26c61-ef77-4b7f-9d60-9925298ed738","url":"https://citationstyles.org/2010/03/22/citation-style-language-1-0/","title":"Citation
|
86
86
|
Style Language 1.0","summary":"The Citation Style Language (CSL) team is proud
|
87
87
|
to announce CSL 1.0, a free and open XML language for the formatting of citations
|
88
88
|
and bibliographies. A New Home CitationStyles.org is the new home of the CSL...","date_published":"2010-03-22T00:00:00Z","date_modified":"2010-03-22T00:00:00Z","authors":[{"url":null,"name":"Rintze
|
@@ -125,7 +125,7 @@ http_interactions:
|
|
125
125
|
upgrade the more than thousand CSL 0.8 styles hosted in the <a href=\"http://zotero.org/styles\">Zotero
|
126
126
|
Style Repository</a>.\nTo upgrade a CSL 0.8 style yourself, follow the <a
|
127
127
|
href=\"http://citationstyles.org/downloads/upgrade-notes.html#updating-csl-0-8-styles\">upgrade
|
128
|
-
procedure</a>.</p>","tags":[],"language":"en"},{"id":"https://citationstyles.org/2020/07/11/seeking-public-comment-on-CSL-1-0-2/","
|
128
|
+
procedure</a>.</p>","tags":[],"language":"en"},{"id":"https://citationstyles.org/2020/07/11/seeking-public-comment-on-CSL-1-0-2/","uuid":"efdacb04-bcec-49d7-b689-ab3eab0634bf","url":"https://citationstyles.org/2020/07/11/seeking-public-comment-on-CSL-1-0-2/","title":"Seeking
|
129
129
|
Public Comment on CSL 1.0.2 Release","summary":"Over the past few months,
|
130
130
|
Citation Style Language developers have worked to address a backlog of feature
|
131
131
|
requests. This work will be reflected in two upcoming releases. The first
|
@@ -161,7 +161,7 @@ http_interactions:
|
|
161
161
|
approximate qualifiers, and decades and centuries.</li>\n <li>A new “custom”
|
162
162
|
property to add extension metadata.</li>\n <li>New related modelling
|
163
163
|
to match the new style attribute (as above, still in discussion).</li>\n <li>An
|
164
|
-
official YAML representation, which can be validated with the same JSON schemas.</li>\n </ul>\n </li>\n</ul>","tags":[],"language":"en"},{"id":"https://citationstyles.org/2015/05/20/papers-and-springer-donation/","
|
164
|
+
official YAML representation, which can be validated with the same JSON schemas.</li>\n </ul>\n </li>\n</ul>","tags":[],"language":"en"},{"id":"https://citationstyles.org/2015/05/20/papers-and-springer-donation/","uuid":"e185bf99-5d57-49ef-ae77-f30dd838f53a","url":"https://citationstyles.org/2015/05/20/papers-and-springer-donation/","title":"Papers
|
165
165
|
and Springer Donation","summary":"Today, with 30 software products using the
|
166
166
|
Citation Style Language (CSL), and a style repository with over 7700 styles,
|
167
167
|
we are excited to announce that Papers and Springer have made a $5000 donation
|
@@ -194,7 +194,7 @@ http_interactions:
|
|
194
194
|
these automated reports into easy-to-understand feedback, and provide contributors
|
195
195
|
with detailed instructions on how to correct their submissions.\nAnd last
|
196
196
|
but not least, we also hope to pick up the pace again on creating the next
|
197
|
-
version of CSL.</p>","tags":[],"language":"en"},{"id":"https://citationstyles.org/2010/05/30/csl-1-0-specification-update-2010-05-30/","
|
197
|
+
version of CSL.</p>","tags":[],"language":"en"},{"id":"https://citationstyles.org/2010/05/30/csl-1-0-specification-update-2010-05-30/","uuid":"3f903896-a7bc-4342-ab5a-6f9ce57c9683","url":"https://citationstyles.org/2010/05/30/csl-1-0-specification-update-2010-05-30/","title":"CSL
|
198
198
|
1.0 Specification Update 2010-05-30","summary":"Changelog The CSL 1.0 specification
|
199
199
|
update of 2010-05-30 includes the following changes: clarified behavior of
|
200
200
|
the line-spacing and entry-spacing attributes [diff] clarified behavior of
|
@@ -223,7 +223,7 @@ http_interactions:
|
|
223
223
|
to the CSL schema will be accompanied by an updated CSL specification.\nIn
|
224
224
|
addition, minor date-versioned updates to the CSL specification can be released
|
225
225
|
without accompanying changes to the CSL schema (as is the case for the current
|
226
|
-
specification update).</p>","tags":[],"language":null},{"id":"https://citationstyles.org/2015/07/21/mendeley-and-elsevier-donation-for-2015/","
|
226
|
+
specification update).</p>","tags":[],"language":null},{"id":"https://citationstyles.org/2015/07/21/mendeley-and-elsevier-donation-for-2015/","uuid":"f520b59c-db35-4b19-9085-8f7ac35e0532","url":"https://citationstyles.org/2015/07/21/mendeley-and-elsevier-donation-for-2015/","title":"Mendeley
|
227
227
|
and Elsevier Donation for 2015","summary":"For a second year, Mendeley and
|
228
228
|
Elsevier have generously supported the CSL project with a $5,000 donation.
|
229
229
|
Donations like these allow us to dedicate time to the project, cover expenses,
|
@@ -254,7 +254,7 @@ http_interactions:
|
|
254
254
|
for a new maintainer/developer of the <a href=\"http://editor.citationstyles.org/about/\">Visual
|
255
255
|
CSL Editor</a>.\nThanks to the donations made to the CSL project, we are able
|
256
256
|
to offer (limited) funding to anybody willing to take over this work from
|
257
|
-
Steve Ridout, the editor’s original developer.</p>","tags":[],"language":null},{"id":"https://citationstyles.org/2016/10/06/mendeley-and-elsevier-donation-for-2016/","
|
257
|
+
Steve Ridout, the editor’s original developer.</p>","tags":[],"language":null},{"id":"https://citationstyles.org/2016/10/06/mendeley-and-elsevier-donation-for-2016/","uuid":"a30f5f1d-0b27-44f8-ad16-d41ed1cbd0ed","url":"https://citationstyles.org/2016/10/06/mendeley-and-elsevier-donation-for-2016/","title":"Mendeley
|
258
258
|
and Elsevier Donation for 2016","summary":"For their third straight year,
|
259
259
|
Mendeley and Elsevier have kindly supported the open source Citation Style
|
260
260
|
Language project with a $5000 donation. Donations allow us to hire developers
|
@@ -289,7 +289,7 @@ http_interactions:
|
|
289
289
|
multiple citation formats are used across your collection, an indication of
|
290
290
|
which journal uses which citation format.\nWe’ll gladly (and without charge)
|
291
291
|
use this metadata to generate CSL styles for all your journals.\nYou can also
|
292
|
-
help us by standardizing citation formats across your journals.</p>","tags":[],"language":null},{"id":"https://citationstyles.org/2012/09/03/citation-style-language-1-0-1-update/","
|
292
|
+
help us by standardizing citation formats across your journals.</p>","tags":[],"language":null},{"id":"https://citationstyles.org/2012/09/03/citation-style-language-1-0-1-update/","uuid":"7555e981-a931-4df1-adc0-1cdc4a1b417a","url":"https://citationstyles.org/2012/09/03/citation-style-language-1-0-1-update/","title":"Citation
|
293
293
|
Style Language 1.0.1 Update","summary":"The Citation Style Language (CSL)
|
294
294
|
team is happy to announce CSL 1.0.1. CSL 1.0.1 is an (almost completely) backwards
|
295
295
|
compatible release, and CSL 1.0 styles and locale files don’t have to be updated
|
@@ -330,7 +330,7 @@ http_interactions:
|
|
330
330
|
quite the challenge).\nAnother exciting development is the work of Frank Bennett
|
331
331
|
on his forks of Zotero and CSL to revolutionize the field of multilingual
|
332
332
|
and legal citation management, the progress of which can be followed on his
|
333
|
-
website <a href=\"http://citationstylist.org/\">citationstylist.org</a>.</p>","tags":[],"language":"en"},{"id":"https://citationstyles.org/2011/03/18/csl-1-0-first-anniversary/","
|
333
|
+
website <a href=\"http://citationstylist.org/\">citationstylist.org</a>.</p>","tags":[],"language":"en"},{"id":"https://citationstyles.org/2011/03/18/csl-1-0-first-anniversary/","uuid":"031faba3-3a6e-49d1-a540-26523be2fd09","url":"https://citationstyles.org/2011/03/18/csl-1-0-first-anniversary/","title":"CSL
|
334
334
|
1.0 First Anniversary","summary":"It’s been a year since version 1.0 of the
|
335
335
|
Citation Style Language was released, but now is as an exciting time as ever.
|
336
336
|
Zotero 2.1, Mendeley 0.9.8 and Papers2 now all use CSL 1.0 for citation formatting...","date_published":"2011-03-18T00:00:00Z","date_modified":"2011-03-18T00:00:00Z","authors":[{"url":null,"name":"Rintze
|
@@ -356,5 +356,5 @@ http_interactions:
|
|
356
356
|
preview and install styles.\nInterested parties are strongly invited to participate
|
357
357
|
in the <a href=\"http://sourceforge.net/mail/?group_id=117435\">xbiblio mailing
|
358
358
|
list</a> to discuss and help out with these future improvements.</p>","tags":[],"language":"en"}]}'
|
359
|
-
recorded_at:
|
359
|
+
recorded_at: Mon, 05 Jun 2023 08:27:03 GMT
|
360
360
|
recorded_with: VCR 6.1.0
|