commonmeta-ruby 3.2.0 → 3.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/bin/commonmeta +1 -1
  4. data/lib/commonmeta/cli.rb +7 -0
  5. data/lib/commonmeta/metadata_utils.rb +2 -2
  6. data/lib/commonmeta/readers/{json_post_reader.rb → json_feed_reader.rb} +16 -4
  7. data/lib/commonmeta/utils.rb +6 -2
  8. data/lib/commonmeta/version.rb +1 -1
  9. data/spec/cli_spec.rb +8 -0
  10. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/json_feed/blog_post.yml +360 -0
  11. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed/citation_style_language.yml +360 -0
  12. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed/citation_style_language_blog.yml +360 -0
  13. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed/front-matter_blog.yml +1034 -0
  14. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed/upstream.yml +2438 -0
  15. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed/upstream_blog.yml +2438 -0
  16. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/blogger_post.yml +94 -0
  17. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_with_doi.yml +117 -0
  18. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/jekyll_post.yml +87 -0
  19. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/wordpress_post.yml +163 -0
  20. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_metadata/blogger_post.yml +141 -0
  21. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_metadata/ghost_post_with_doi.yml +164 -0
  22. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_metadata/jekyll_post.yml +134 -0
  23. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_metadata/wordpress_post.yml +210 -0
  24. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_post_metadata/blogger_post.yml +47 -0
  25. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_post_metadata/ghost_post_with_doi.yml +47 -0
  26. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_post_metadata/jekyll_post.yml +47 -0
  27. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_post_metadata/wordpress_post.yml +47 -0
  28. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/json_feed_url/front-matter_blog.yml +221 -0
  29. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_doi.yml +163 -0
  30. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_upstream_blog.yml +243 -0
  31. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_post_from_rogue_scholar_with_doi.yml +47 -0
  32. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_post_from_upstream_blog.yml +47 -0
  33. data/spec/readers/{json_post_reader_spec.rb → json_feed_reader_spec.rb} +23 -2
  34. data/spec/utils_spec.rb +8 -0
  35. data/spec/writers/crossref_xml_writer_spec.rb +2 -2
  36. metadata +20 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1ff3685620f0d6399524eac22d162f7b32391fa1424783a30e6c2f914d30deea
4
- data.tar.gz: bf986a52084af3c28fb163a59022b1ede266b37b77bfd0bf8365c35fd98893b3
3
+ metadata.gz: 6489e2d1d9225e98fbf809c51986da2d9959b25dadc51ab5637a8fa43181e743
4
+ data.tar.gz: 0b4d31c968f52baf74848fc51290123db1645503f55840172c01aacb43ec5753
5
5
  SHA512:
6
- metadata.gz: 447cc3b60622046224caf62ee2afa70f35f1b47c229c7407f126a3efcc6815cf129386590c6f1114c894111b657326fc35b442427c84907058bd809236a5afff
7
- data.tar.gz: 69715e0926e03fc2441b8236a6e6beb0440b69dad8bde707f8d097a3d1922b71b3c80ac4c6286d8fc1fa5d489cc29be02250be6c4a6aadd0747d91bef1251b78
6
+ metadata.gz: c6224cacab63d37765875e6e23fe1c70b7443e603b895866d2b192fb5d823d7d98d8613eae03e56debf9fea1a02f7a13f45a4ed5b0d2f37990368a6fe18c8182
7
+ data.tar.gz: c07f1ff76a51a313a96a881077b1a3f5ee918a3cf7012c5edbdd8dce24381d856994b840b76563185fc220ac3f3c75c5edf4e06c6c69524ab48b526b63c1d5d8
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- commonmeta-ruby (3.2.0)
4
+ commonmeta-ruby (3.2.1)
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)
data/bin/commonmeta CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  require File.expand_path("../../lib/commonmeta", __FILE__)
4
4
 
5
- if (ARGV & %w(--version -v help --help encode decode encode_id decode_id)).empty?
5
+ if (ARGV & %w(--version -v help --help encode decode encode_id decode_id json_feed)).empty?
6
6
  Commonmeta::CLI.start(ARGV.dup.unshift("convert"))
7
7
  else
8
8
  Commonmeta::CLI.start
@@ -9,6 +9,7 @@ module Commonmeta
9
9
  class CLI < Thor
10
10
  include Commonmeta::DoiUtils
11
11
  include Commonmeta::Utils
12
+ include Commonmeta::Readers::JsonFeedReader
12
13
 
13
14
  def self.exit_on_failure?
14
15
  true
@@ -79,6 +80,12 @@ module Commonmeta
79
80
  puts decode_container_id(id)
80
81
  end
81
82
 
83
+ desc '', 'feed'
84
+
85
+ def json_feed(id)
86
+ puts get_json_feed(id)
87
+ end
88
+
82
89
  default_task :convert
83
90
  end
84
91
  end
@@ -13,7 +13,7 @@ require_relative 'readers/codemeta_reader'
13
13
  require_relative 'readers/crossref_reader'
14
14
  require_relative 'readers/crossref_xml_reader'
15
15
  require_relative 'readers/datacite_reader'
16
- require_relative 'readers/json_post_reader'
16
+ require_relative 'readers/json_feed_reader'
17
17
  require_relative 'readers/npm_reader'
18
18
  require_relative 'readers/ris_reader'
19
19
  require_relative 'readers/schema_org_reader'
@@ -47,7 +47,7 @@ module Commonmeta
47
47
  include Commonmeta::Readers::CrossrefXmlReader
48
48
  include Commonmeta::Readers::CslReader
49
49
  include Commonmeta::Readers::DataciteReader
50
- include Commonmeta::Readers::JsonPostReader
50
+ include Commonmeta::Readers::JsonFeedReader
51
51
  include Commonmeta::Readers::NpmReader
52
52
  include Commonmeta::Readers::RisReader
53
53
  include Commonmeta::Readers::SchemaOrgReader
@@ -2,8 +2,8 @@
2
2
 
3
3
  module Commonmeta
4
4
  module Readers
5
- module JsonPostReader
6
- def get_json_post(id: nil, **_options)
5
+ module JsonFeedReader
6
+ def get_json_feed_item(id: nil, **_options)
7
7
  return { "string" => nil, "state" => "not_found" } unless id.present?
8
8
 
9
9
  url = normalize_id(id)
@@ -13,7 +13,7 @@ module Commonmeta
13
13
  { "string" => response.body.to_s }
14
14
  end
15
15
 
16
- def read_json_post(string: nil, **options)
16
+ def read_json_feed_item(string: nil, **options)
17
17
  read_options = ActiveSupport::HashWithIndifferentAccess.new(options.except(:doi, :id, :url,
18
18
  :sandbox, :validate, :ra))
19
19
 
@@ -23,7 +23,7 @@ module Commonmeta
23
23
  url = normalize_url(meta.fetch("url", nil))
24
24
  type = "Article"
25
25
  creators = if meta.fetch("authors", nil).present?
26
- get_authors(from_json_post(Array.wrap(meta.fetch("authors"))))
26
+ get_authors(from_json_feed(Array.wrap(meta.fetch("authors"))))
27
27
  else
28
28
  [{ "type" => "Organization", "name" => ":(unav)" }]
29
29
  end
@@ -73,6 +73,18 @@ module Commonmeta
73
73
  "subjects" => subjects.presence,
74
74
  "state" => state }.compact.merge(read_options)
75
75
  end
76
+
77
+ def get_json_feed(id)
78
+ # get JSON Feed items not registered as DOIs
79
+ return { "string" => nil, "state" => "not_found" } unless id.present?
80
+
81
+ url = json_feed_url(id)
82
+ response = HTTP.get(url)
83
+ return { "string" => nil, "state" => "not_found" } unless response.status.success?
84
+
85
+ blog = JSON.parse(response.body.to_s)
86
+ blog["items"].select { |item| !validate_doi(item["id"]) }.map { |item| item["short_id"] }.join(",").presence
87
+ end
76
88
  end
77
89
  end
78
90
  end
@@ -469,7 +469,7 @@ module Commonmeta
469
469
  elsif %r{\A(http|https):/(/)?github\.com/(.+)\z}.match?(id)
470
470
  "cff"
471
471
  elsif %r{\A(http|https):/(/)?rogue-scholar\.org/api/posts/(.+)\z}.match?(id)
472
- "json_post"
472
+ "json_feed_item"
473
473
  else
474
474
  "schema_org"
475
475
  end
@@ -877,7 +877,7 @@ module Commonmeta
877
877
  }
878
878
  end
879
879
 
880
- def from_json_post(element)
880
+ def from_json_feed(element)
881
881
  mapping = { "url" => "id" }
882
882
 
883
883
  map_hash_keys(element: element, mapping: mapping)
@@ -1380,5 +1380,9 @@ module Commonmeta
1380
1380
  def decode_container_id(id)
1381
1381
  Base32::URL.decode(id)
1382
1382
  end
1383
+
1384
+ def json_feed_url(id)
1385
+ "https://rogue-scholar.org/api/blogs/#{id}"
1386
+ end
1383
1387
  end
1384
1388
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Commonmeta
4
- VERSION = '3.2.0'
4
+ VERSION = '3.2.1'
5
5
  end
data/spec/cli_spec.rb CHANGED
@@ -340,4 +340,12 @@ describe Commonmeta::CLI do
340
340
  expect { subject.decode_id input }.to output(/18397685862\n/).to_stdout
341
341
  end
342
342
  end
343
+
344
+ describe "json_feed", vcr: true do
345
+ let(:input) { "prmb582" }
346
+
347
+ it "blog post" do
348
+ expect { subject.json_feed input }.to output(/1jdkoe52,4qe9ypg1,1jdkwod5,56glp9d9,1xdnk0d0,56glmmd9,1xdnoje0,31epl0dn,q0dqm6go\n/).to_stdout
349
+ end
350
+ end
343
351
  end
@@ -0,0 +1,360 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://rogue-scholar.org/api/blogs/prmb582
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Connection:
11
+ - close
12
+ Host:
13
+ - rogue-scholar.org
14
+ User-Agent:
15
+ - http.rb/5.1.1
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Age:
22
+ - '0'
23
+ Cache-Control:
24
+ - public, max-age=0, must-revalidate
25
+ Content-Length:
26
+ - '29830'
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Date:
30
+ - Sun, 04 Jun 2023 14:05:32 GMT
31
+ Etag:
32
+ - '"pp488uitdomy8"'
33
+ Server:
34
+ - Vercel
35
+ Strict-Transport-Security:
36
+ - max-age=63072000
37
+ X-Matched-Path:
38
+ - "/api/blogs/[slug]"
39
+ X-Vercel-Cache:
40
+ - MISS
41
+ X-Vercel-Id:
42
+ - fra1::iad1::wc5sv-1685887531972-fdcad9a39325
43
+ Connection:
44
+ - close
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"id":"prmb582","title":"Citation Style Language","description":"CitationStyles.org,
48
+ home of the Citation Style Language (CSL), a popular open XML-based language
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/","short_id":"1jdkoe52","url":"https://citationstyles.org/2014/01/29/mendeley-donates-to-the-csl-project/","title":"Mendeley
51
+ Donates to the CSL Project","summary":"CSL has seen a lot of growth in recent
52
+ years: more than 20 software products use CSL (see the citationstyles.org
53
+ frontpage), and we offer over 6750 free citation styles, covering thousands
54
+ of scientific...","date_published":"2014-01-29T00:00:00Z","date_modified":"2014-01-29T00:00:00Z","authors":[{"url":null,"name":"Rintze
55
+ M. Zelle"}],"image":null,"content_html":"<p>CSL has seen a lot of growth in
56
+ recent years: more than 20 software products use CSL (see the <a href=\"http://citationstyles.org/\">citationstyles.org</a>
57
+ frontpage), and we offer over 6750 free citation styles, covering thousands
58
+ of scientific journals.</p>\n\n<p><img style=\"float: right;\" src=\"/assets/img/mendeley-csl-stickers.jpg\"
59
+ width=\"320\" height=\"256\" /></p>\n\n<p>We could only have come this far
60
+ with our great user community, and with a lot of institutional support from
61
+ Mendeley, Papers, Zotero, and others.</p>\n\n<p><a href=\"http://www.mendeley.com/\">Mendeley</a>
62
+ has been using CSL since their first release in 2008, and adopted Frank Bennett’s
63
+ <a href=\"https://bitbucket.org/fbennett/citeproc-js/wiki/Home\">citeproc-js</a>
64
+ CSL processor in 2010.\nThey have since moved away from simply using CSL to
65
+ become one of our biggest contributors.\nCarles Pina of Mendeley helped us
66
+ improve the central CSL style repository, and create CSL styles for 1500 Elsevier
67
+ journals.\nMendeley also <a href=\"http://www.prnewswire.co.uk/news-releases/mendeley-teams-up-with-columbia-university-libraries-to-develop-a-citation-style-language-editor-through-125000-sloan-foundation-award-144578085.html\">collaborated</a>
68
+ with Columbia University Libraries to created the <a href=\"http://editor.citationstyles.org/about/\">Visual
69
+ CSL Editor</a>, which was funded by a Sloan Foundation Award and <a href=\"http://blog.mendeley.com/academic-features/make-your-citations-look-exactly-how-they-should-with-mendeleys-visual-citation-style-editor/\">released</a>
70
+ in 2012.</p>\n\n<p>Now, Mendeley, together with Elsevier, stepped up once
71
+ more, and made the first major financial contribution to the CSL project.\nWe
72
+ received a $5000 donation, which we will use to cover project expenses and
73
+ help ensure the long-term sustainability of CSL.\nMendeley is one of the most
74
+ popular products to use CSL, and this level of involvement is crucial in helping
75
+ us move CSL forward.\nWe hope others will follow Mendeley’s lead, and we look
76
+ forward to continue improving CSL.</p>\n\n<p>In particular, we will collaborate
77
+ with Zotero on their upcoming data model redesign, which should help us provide
78
+ guidance to other projects on which fields each item type should carry and,
79
+ among other things, improve support for primary and archival sources.\nWe
80
+ also plan to adopt features from Frank Bennett’s <a href=\"http://citationstylist.org/\">Multilingual
81
+ Zotero</a> into official CSL, such as better support for legal citations and
82
+ citing items in multiple languages.\nWe’ll of course continue to maintain
83
+ the project website and documentation, and handle style submissions to the
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/","short_id":"4qe9ypg1","url":"https://citationstyles.org/2010/03/22/citation-style-language-1-0/","title":"Citation
86
+ Style Language 1.0","summary":"The Citation Style Language (CSL) team is proud
87
+ to announce CSL 1.0, a free and open XML language for the formatting of citations
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
89
+ M. Zelle"}],"image":null,"content_html":"<p>The Citation Style Language (CSL)
90
+ team is proud to announce CSL 1.0, a free and open XML language for the formatting
91
+ of citations and bibliographies.</p>\n\n<h2 id=\"a-new-home\">A New Home</h2>\n\n<p><a
92
+ href=\"http://citationstyles.org\">CitationStyles.org</a> is the new home
93
+ of the CSL project, hosting the schema, documentation, project news, and more.\nIn
94
+ the near future <a href=\"http://citationstyles.org\">CitationStyles.org</a>
95
+ will also host the style repository currently found at <a href=\"http://www.zotero.org/styles\">www.zotero.org/styles</a>.</p>\n\n<h2
96
+ id=\"by-academics-for-academics\">By Academics, for Academics</h2>\n\n<p>CSL
97
+ 1.0 has been developed by academics, for academics.\nThe members of the development
98
+ team hail from diverse fields, covering social science, law, and natural science.\nWe
99
+ are keenly aware of the diverse and demanding requirements of scholars working
100
+ in different languages and different fields of research.\nAt the end of an
101
+ intensive year of development work, we feel confident that CSL 1.0 marks an
102
+ important step forward in academic productivity.</p>\n\n<h2 id=\"new-features\">New
103
+ features</h2>\n\n<p>The top 5 new features that we would like to highlight:</p>\n\n<ul>\n <li><strong>In-field
104
+ markup</strong>: CSL 1.0 compatible programs now support markup within titles,
105
+ with support for <sup>superscript</sup>, <sub>subscript</sub>, <span style=\"font-variant:
106
+ small-caps;\">small capitals</span>, <em>italics</em> and <strong>boldface</strong>.</li>\n <li><strong>Full
107
+ localization</strong>: whereas CSL 0.8 only offered localization of terms,
108
+ CSL 1.0 offers full style localization, adding support for localized dates
109
+ and punctuation.</li>\n <li><strong>Names</strong>: many new features are
110
+ related to names.\nName disambiguation has been refined, and name particles
111
+ (“van” in “Ludwig van Beethoven”) can now be sorted and rendered according
112
+ to conventions that reflect the culture and personal preferences of each author.</li>\n <li><strong>Documentation</strong>:
113
+ the schema for the 1.0 release is accompanied by a full set of documentation.\nA
114
+ <a href=\"http://citationstyles.org/downloads/specification.html\">specification</a>
115
+ gives all the details on CSL 1.0, and <a href=\"http://citationstyles.org/downloads/upgrade-notes.html\">upgrade
116
+ notes</a> discuss the changes made between CSL 0.8 and 1.0.\nA <a href=\"http://citationstyles.org/downloads/primer.html\">primer</a>
117
+ offers a concise tutorial on editing CSL 1.0 styles.</li>\n <li><strong>CSL
118
+ processors</strong>: CSL 1.0 is released alongside <a href=\"http://bitbucket.org/fbennett/citeproc-js/wiki/Home\">citeproc-js</a>,
119
+ the first CSL 1.0 compatible CSL processor, as well as a CSL 1.0 test suite.\nVarious
120
+ features of CSL 1.0 and citeproc-js can be seen in action in the <a href=\"http://gsl-nagoya-u.net/http/pub/citeproc-demo/demo.html\">online
121
+ demo</a>.\nAdding support for CSL was never easier.</li>\n</ul>\n\n<p>CSL
122
+ 1.0 includes many more improvements.\nFor a full overview, see the <a href=\"http://citationstyles.org/downloads/upgrade-notes.html\">upgrade-notes</a>.</p>\n\n<h2
123
+ id=\"using-existing-styles\">Using Existing Styles</h2>\n\n<p>Zotero support
124
+ for CSL 1.0 is scheduled for Zotero 2.1.\nWhen released, the Zotero team will
125
+ upgrade the more than thousand CSL 0.8 styles hosted in the <a href=\"http://zotero.org/styles\">Zotero
126
+ Style Repository</a>.\nTo upgrade a CSL 0.8 style yourself, follow the <a
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/","short_id":"1jdkwod5","url":"https://citationstyles.org/2020/07/11/seeking-public-comment-on-CSL-1-0-2/","title":"Seeking
129
+ Public Comment on CSL 1.0.2 Release","summary":"Over the past few months,
130
+ Citation Style Language developers have worked to address a backlog of feature
131
+ requests. This work will be reflected in two upcoming releases. The first
132
+ of these, 1.0.2, is slated...","date_published":"2020-07-11T00:00:00Z","date_modified":"2020-07-11T00:00:00Z","authors":[{"url":null,"name":"Sebastian
133
+ Karcher"}],"image":null,"content_html":"<p>Over the past few months, Citation
134
+ Style Language developers have worked to address a backlog of feature requests.
135
+ This work will be reflected in two upcoming releases. The first of these,
136
+ 1.0.2, is slated for release shortly. Its focus is on easy to implement, non-controversial
137
+ additions, principally new item types, fields, and terms. We’re seeking public
138
+ comment on the planned released from now until <strong>July 26, 2020, 12pm
139
+ EDT</strong>.</p>\n\n<p>A non-technical summary of the release can be found
140
+ in a <a href=\"https://docs.google.com/document/d/1wY1cOOamDYYh8VNW7h_uleqieBDGOa_LYsRiVdQy1RI/edit#heading=h.wsywjzy5t4j6\">google
141
+ doc here</a>. For more technical details, you can follow the development on
142
+ the <a href=\"https://github.com/orgs/citation-style-language/projects/3\">github
143
+ project board</a>. We welcome feedback directly on the google doc, in specific
144
+ github issues, or on our <a href=\"https://discourse.citationstyles.org/\">forums</a>.</p>\n\n<p>Tremendous
145
+ thanks to Bruce D’Arcus, Denis Maier, and Brenton Wiernik, who did the bulk
146
+ of the work of organizing proposals accumulated over the last 8 years and
147
+ preparing the release.</p>\n\n<h2 id=\"previewing-csl-11\">Previewing CSL
148
+ 1.1</h2>\n<p>CSL 1.1, slated for release later this year, will include more
149
+ significant extensions of CSL functionality. While we’ll have a separate public
150
+ comment period for this release, we’re happy for input on the ongoing discussions
151
+ on github and the forums. In particular, we’re eager to hear from projects
152
+ implementing CSL styles, both in a citeproc and in user-facing applications
153
+ such as reference managers or citation formatters.</p>\n\n<p>This release
154
+ will primarily add the following new features:</p>\n<ul>\n <li>Full support
155
+ for narrative citation styles (“Like Doe (2018)”).</li>\n <li>Ability to
156
+ specify more complex conditional logic.</li>\n <li>Ability to independently
157
+ format subtitles and main titles.</li>\n <li>A new “related” attribute to
158
+ express related reviewed and original items (still in discussion).</li>\n <li>Improvements
159
+ to the CSL input format(s):\n <ul>\n <li>Adopting the new EDTF ISO
160
+ standard, which offers full support for date ranges, seasons, uncertain and
161
+ approximate qualifiers, and decades and centuries.</li>\n <li>A new “custom”
162
+ property to add extension metadata.</li>\n <li>New related modelling
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/","short_id":"56glp9d9","url":"https://citationstyles.org/2015/05/20/papers-and-springer-donation/","title":"Papers
165
+ and Springer Donation","summary":"Today, with 30 software products using the
166
+ Citation Style Language (CSL), and a style repository with over 7700 styles,
167
+ we are excited to announce that Papers and Springer have made a $5000 donation
168
+ to...","date_published":"2015-05-20T00:00:00Z","date_modified":"2015-05-20T00:00:00Z","authors":[{"url":null,"name":"Rintze
169
+ M. Zelle"}],"image":null,"content_html":"<p>Today, with 30 software products
170
+ using the Citation Style Language (CSL), and a style repository with over
171
+ 7700 styles, we are excited to announce that <a href=\"http://papersapp.com/\">Papers</a>
172
+ and <a href=\"http://www.springer.com/\">Springer</a> have made a $5000 donation
173
+ to CSL.</p>\n\n<p>Our collaboration with Papers started in 2011, when Papers2
174
+ for Mac shipped with CSL-based citation features.\nPapers’ largest contribution
175
+ to CSL came from former Papers-programmer Charles Parnot, who created a system
176
+ to automatically generate CSL styles for journals with the same citation style.\nHe
177
+ used this setup to contribute over 1300 CSL styles for Springer journals,
178
+ and today, over 6000 of our journal-specific CSL styles have been automatically
179
+ generated.\nPapers also introduced the long-running and still ongoing “<a
180
+ href=\"http://support.mekentosj.com/kb/cite-write-your-manuscripts-and-essays-with-citations/a-serial-for-a-style\">A
181
+ Serial for a Style</a>” program, rewarding contributors of CSL styles with
182
+ free Papers licenses.</p>\n\n<p>We are thankful for the appreciation and support
183
+ shown through this donation.\nAs before, funds available to the CSL project
184
+ will be used to support the style repository maintainers and CSL developers,
185
+ and to finance the creation of new tools.\nLast year, this resulted in a more
186
+ user-friendly <a href=\"http://validator.citationstyles.org/\">CSL validator</a>.\nWe
187
+ migrated our in-depth <a href=\"http://docs.citationstyles.org/\">documentation</a>
188
+ (including the CSL primer and specification) to a new platform that is both
189
+ mobile-friendly and easier to maintain.\nWe also improved Zotero’s built-in
190
+ CSL editor.</p>\n\n<p>This year, we plan to further streamline our style submission
191
+ process.\nSubmissions on GitHub are already automatically checked, but the
192
+ resulting error reports are difficult to interpret.\nBy offering a bounty,
193
+ we were able to find a professional programmer who just started work to translate
194
+ these automated reports into easy-to-understand feedback, and provide contributors
195
+ with detailed instructions on how to correct their submissions.\nAnd last
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/","short_id":"1xdnk0d0","url":"https://citationstyles.org/2010/05/30/csl-1-0-specification-update-2010-05-30/","title":"CSL
198
+ 1.0 Specification Update 2010-05-30","summary":"Changelog The CSL 1.0 specification
199
+ update of 2010-05-30 includes the following changes: clarified behavior of
200
+ the line-spacing and entry-spacing attributes [diff] clarified behavior of
201
+ the position...","date_published":"2010-05-30T00:00:00Z","date_modified":"2010-05-30T00:00:00Z","authors":[{"url":null,"name":"Rintze
202
+ M. Zelle"}],"image":null,"content_html":"<h2 id=\"changelog\">Changelog</h2>\n\n<p>The
203
+ <a href=\"http://citationstyles.org/downloads/specification.html\">CSL 1.0
204
+ specification</a> update of 2010-05-30 includes the following changes:</p>\n\n<ul>\n <li>clarified
205
+ behavior of the line-spacing and entry-spacing attributes [<a href=\"http://bitbucket.org/bdarcus/csl-docs/changeset/8b97e20c3b7a\">diff</a>]</li>\n <li>clarified
206
+ behavior of the position condition when used for bibliography formatting [<a
207
+ href=\"http://bitbucket.org/bdarcus/csl-docs/changeset/9e8d4e2dfdc7\">diff</a>]</li>\n <li>clarified
208
+ behavior of the et-al-subsequent attributes [<a href=\"http://bitbucket.org/bdarcus/csl-docs/changeset/a9076d57fe13\">diff</a>]</li>\n <li>changed
209
+ the handling of name suffixes (now aligns with Chicago Manual of Style) [<a
210
+ href=\"http://bitbucket.org/bdarcus/csl-docs/changeset/a72b88502be9\">diff</a>]</li>\n <li>changed
211
+ et-al abbreviation to use a context-dependent prefix (aligns with CSL processor
212
+ in Zotero 2.0) [<a href=\"http://bitbucket.org/bdarcus/csl-docs/changeset/7a2bc6389c2d\">diff</a>]</li>\n <li>clarified
213
+ the behavior of the choose element, and mentioned the dual effect of the match
214
+ attribute on if and else-if elements [<a href=\"http://bitbucket.org/bdarcus/csl-docs/changeset/8b0ef58210b4\">diff</a>]</li>\n <li>removed
215
+ the substitution of empty date variables by the “no date” term [<a href=\"http://bitbucket.org/bdarcus/csl-docs/changeset/8dfe31ed8555\">diff</a>]</li>\n</ul>\n\n<p>Discussions
216
+ on these changes can typically be found at the <a href=\"http://sourceforge.net/mailarchive/forum.php?forum_name=xbiblio-devel\">xbiblio
217
+ mailing list</a>.</p>\n\n<h2 id=\"a-note-on-csl-versioning\">A Note on CSL
218
+ Versioning</h2>\n\n<p>A three-number system (e.g. “1.2.3”) will be used for
219
+ versioning of the CSL schema and specification.\nThe first and second number
220
+ are used for respectively major and minor backwards incompatible updates to
221
+ the CSL schema (these updates will require upgrading of existing CSL styles).\nThe
222
+ third number is used for small backwards compatible updates.\nEach update
223
+ to the CSL schema will be accompanied by an updated CSL specification.\nIn
224
+ addition, minor date-versioned updates to the CSL specification can be released
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/","short_id":"56glmmd9","url":"https://citationstyles.org/2015/07/21/mendeley-and-elsevier-donation-for-2015/","title":"Mendeley
227
+ and Elsevier Donation for 2015","summary":"For a second year, Mendeley and
228
+ Elsevier have generously supported the CSL project with a $5,000 donation.
229
+ Donations like these allow us to dedicate time to the project, cover expenses,
230
+ and pay out bounties...","date_published":"2015-07-21T00:00:00Z","date_modified":"2015-07-21T00:00:00Z","authors":[{"url":null,"name":"Rintze
231
+ M. Zelle"}],"image":null,"content_html":"<p>For a second year, Mendeley and
232
+ Elsevier have generously supported the CSL project with a $5,000 donation.\nDonations
233
+ like these allow us to dedicate time to the project, cover expenses, and pay
234
+ out bounties for third-party work—in short, they help to keep CSL thriving.\nOur
235
+ heartfelt thanks!</p>\n\n<p>Over the past few months, <a href=\"https://github.com/Sankar-GEO-ELS\">Sankar
236
+ Murugesan</a> from Elsevier has also been contributing many custom CSL styles
237
+ for Elsevier journals that don’t (yet) use one of the standard Elsevier citation
238
+ formats.\nIn addition, we were happy to see that Mendeley Desktop now recognizes
239
+ the locale of non-English CSL styles, while providing an easy way to use CSL
240
+ styles in other languages (see our guest post on the <a href=\"http://blog.mendeley.com/elsevier/mendeley-and-elsevier-continue-to-support-the-csl-project/\">Mendeley
241
+ blog</a>).</p>\n\n<h2 id=\"in-related-news\">In Related News…</h2>\n\n<p>We
242
+ recently created a <a href=\"http://formatter.citationstyles.org/\">CSL style
243
+ formatter</a> as part of our efforts to make it easier to contribute styles.\nWe
244
+ contributed code to Zotero, which now like Mendeley allows users to quickly
245
+ change the language used with their CSL styles (see the <a href=\"https://www.zotero.org/blog/zotero-4-0-27-streamlined-saving-easier-bibliography-language-selection-and-more/\">Zotero
246
+ blog post</a>).\nAs the CSL project has become ever more mature and popular,
247
+ we created a <a href=\"https://github.com/citation-style-language/governance/blob/master/governance.md\">governance
248
+ document</a> to make our structure and decision-making more transparent to
249
+ outsiders.\nFinally, part of this year’s donations have been reserved to pay
250
+ a bounty to <a href=\"https://github.com/inukshuk/\">Sylvester Keil</a>, who
251
+ is <a href=\"https://github.com/citation-style-language/utilities/issues/20\">developing</a>
252
+ a system to provide better feedback to style contributors.\nWe are also <a
253
+ href=\"https://github.com/citation-style-editor/csl-editor/issues/178#issuecomment-120888118\">looking</a>
254
+ for a new maintainer/developer of the <a href=\"http://editor.citationstyles.org/about/\">Visual
255
+ CSL Editor</a>.\nThanks to the donations made to the CSL project, we are able
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/","short_id":"1xdnoje0","url":"https://citationstyles.org/2016/10/06/mendeley-and-elsevier-donation-for-2016/","title":"Mendeley
258
+ and Elsevier Donation for 2016","summary":"For their third straight year,
259
+ Mendeley and Elsevier have kindly supported the open source Citation Style
260
+ Language project with a $5000 donation. Donations allow us to hire developers
261
+ for small projects,...","date_published":"2016-10-06T00:00:00Z","date_modified":"2016-10-06T00:00:00Z","authors":[{"url":null,"name":"Rintze
262
+ M. Zelle"}],"image":null,"content_html":"<p>For their third straight year,
263
+ <a href=\"http://www.mendeley.com/\">Mendeley</a> and <a href=\"https://www.elsevier.com/\">Elsevier</a>
264
+ have kindly supported the open source Citation Style Language project with
265
+ a $5000 donation.\nDonations allow us to hire developers for small projects,
266
+ purchase materials such as the latest style manuals, and support our style
267
+ repository maintainers.\nWe’re very grateful for this continuing sponsorship!</p>\n\n<p>In
268
+ July, <a href=\"https://github.com/cpina\">Carles Pina</a> from Mendeley also
269
+ updated over 150 CSL styles for Elsevier journals.\nOur collection now counts
270
+ over 8300 free CSL styles, for use with Mendeley, Zotero, Papers, and many
271
+ other applications.</p>\n\n<p>Further development of the Citation Style Language
272
+ specification has been on the back burner as we have focused on maintaining
273
+ the CSL style repository.\nFortunately, previous donations allowed us to pay
274
+ a bounty to <a href=\"https://github.com/inukshuk\">Sylvester Keil</a> for
275
+ the development of an <a href=\"https://github.com/citation-style-language/Sheldon\">automated
276
+ system</a> to check GitHub pull requests.\nThe system, coined “Sheldon” after
277
+ the socially inept and obsessive-compulsive character Sheldon Cooper from
278
+ The Big Bang Theory, has become a great time-saver and helped us improve the
279
+ quality of our styles.\nThis focus on quality seems to be paying off: <a href=\"https://doi.org/10.1016/j.acalib.2016.09.001\">a
280
+ recent study</a> [paywalled] in <em>The Journal of Academic Librarianship</em>
281
+ concluded that Zotero and Mendeley, using CSL styles, produced the most accurate
282
+ citations among leading reference managers.</p>\n\n<p>Going forward, we keep
283
+ trying to handle all style repository contributions in a timely manner.\nWe
284
+ also plan to return to development of the Citation Style Language specification
285
+ in the coming year.</p>\n\n<p>We’d like to end with a call to other publishers.\nPlease
286
+ do <a href=\"/contact/\">reach out</a> if you want to make sure we have accurate
287
+ and up-to-date CSL styles for all your journals.\nOften, all we need is a
288
+ spreadsheet of your journal metadata, with journal titles, ISSNs, and, if
289
+ multiple citation formats are used across your collection, an indication of
290
+ which journal uses which citation format.\nWe’ll gladly (and without charge)
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/","short_id":"31epl0dn","url":"https://citationstyles.org/2012/09/03/citation-style-language-1-0-1-update/","title":"Citation
293
+ Style Language 1.0.1 Update","summary":"The Citation Style Language (CSL)
294
+ team is happy to announce CSL 1.0.1. CSL 1.0.1 is an (almost completely) backwards
295
+ compatible release, and CSL 1.0 styles and locale files don’t have to be updated
296
+ to work...","date_published":"2012-09-03T00:00:00Z","date_modified":"2012-09-03T00:00:00Z","authors":[{"url":null,"name":"Rintze
297
+ M. Zelle"}],"image":null,"content_html":"<p>The Citation Style Language (CSL)
298
+ team is happy to announce CSL 1.0.1.</p>\n\n<p>CSL 1.0.1 is an (almost completely)
299
+ backwards compatible release, and CSL 1.0 styles and locale files don’t have
300
+ to be updated to work with CSL 1.0.1-compatible software.\nCSL 1.0.1 is a
301
+ relatively minor update, but adds a variety of new features to CSL, and an
302
+ extra layer of polish to both the specification and schema.\nThe <a href=\"http://citationstyles.org/downloads/specification.html\">CSL
303
+ 1.0.1 specification</a> is accompanied by <a href=\"http://citationstyles.org/downloads/release-notes-csl101.html\">CSL
304
+ 1.0.1 release notes</a>, which give a comprehensive overview of the changes
305
+ in this update.</p>\n\n<h2 id=\"state-of-the-union\">State of the Union</h2>\n\n<p>This
306
+ is the first update of the CSL schema since the release of CSL 1.0 in 2010.\nWhile
307
+ CSL development has slowed since the flurry of activity leading up to the
308
+ release of 1.0, we consider the project to be in great shape.\nCSL 1.0 has
309
+ proven to be a very popular release, and we now have a well-curated collection
310
+ of over 2500 CSL 1.0 styles, many of which have been contributed by users.\nAll
311
+ styles are now available under the permissive Creative Commons Attribution-ShareAlike
312
+ license.\nA redesign of the <a href=\"http://www.zotero.org/styles\">Zotero
313
+ Style Repository</a> page has made browsing and searching styles easier.\nCSL
314
+ 1.0 is now supported by <a href=\"http://www.zotero.org/\">Zotero</a>, <a
315
+ href=\"http://www.mendeley.com/\">Mendeley</a>, <a href=\"http://www.mekentosj.com/papers/\">Papers</a>,
316
+ and <a href=\"http://www.qiqqa.com/\">Qiqqa</a>, and we expect that these
317
+ programs will support CSL 1.0.1 in the near future.</p>\n\n<p>In addition
318
+ to Frank Bennett’s <a href=\"https://bitbucket.org/fbennett/citeproc-js/wiki/Home\">citeproc-js</a>,
319
+ used by Zotero, Mendeley, and Qiqqa, there are several other actively maintained
320
+ open source CSL processors.\nThe PHP-based <a href=\"https://bitbucket.org/rjerome/citeproc-php\">citeproc-php</a>
321
+ by Ron Jerome offers CSL support in Drupal through the <a href=\"http://drupal.org/project/biblio\">Bibliography
322
+ Module</a>.\nThe Haskell-based <a href=\"http://hackage.haskell.org/package/citeproc-hs\">citeproc-hs</a>
323
+ by Andrea Rossato adds CSL support to the versatile <a href=\"http://johnmacfarlane.net/pandoc/\">Pandoc</a>
324
+ document converter.\nFinally, the Ruby-based <a href=\"https://github.com/inukshuk/citeproc-ruby\">citeproc-ruby</a>,
325
+ by Sylvester Keil, can easily be deployed for the web, and has recently been
326
+ accepted as a 2012 Google Summer of Code project .</p>\n\n<p>A <a href=\"http://csleditor.wordpress.com/about/\">collaboration</a>
327
+ between <a href=\"http://library.columbia.edu/\">Columbia University Libraries</a>
328
+ and <a href=\"http://www.mendeley.com/\">Mendeley</a> is underway to create
329
+ a more user-friendly CSL editor (although this previously has proven to be
330
+ quite the challenge).\nAnother exciting development is the work of Frank Bennett
331
+ on his forks of Zotero and CSL to revolutionize the field of multilingual
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/","short_id":"q0dqm6go","url":"https://citationstyles.org/2011/03/18/csl-1-0-first-anniversary/","title":"CSL
334
+ 1.0 First Anniversary","summary":"It’s been a year since version 1.0 of the
335
+ Citation Style Language was released, but now is as an exciting time as ever.
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
337
+ M. Zelle"}],"image":null,"content_html":"<p>It’s been a year since version
338
+ 1.0 of the Citation Style Language was released, but now is as an exciting
339
+ time as ever.\n<a href=\"http://www.zotero.org/\">Zotero 2.1</a>, <a href=\"http://www.mendeley.com/\">Mendeley
340
+ 0.9.8</a> and <a href=\"http://www.mekentosj.com/papers/\">Papers2</a> now
341
+ all use CSL 1.0 for citation formatting (Zotero and Mendeley both use <a href=\"https://bitbucket.org/fbennett/citeproc-js/wiki/Home\">citeproc-js</a>,
342
+ the open source JavaScript CSL 1.0 processor by Frank G. Bennett, Jr.).\nThe
343
+ document converter <a href=\"http://johnmacfarlane.net/pandoc/\">Pandoc</a>
344
+ now supports <a href=\"http://hackage.haskell.org/package/citeproc-hs\">citeproc-hs
345
+ 0.3.2</a>, an open source Haskell CSL 1.0 processor, and work is ongoing for
346
+ CSL 1.0 processors written in PHP (<a href=\"https://bitbucket.org/rjerome/citeproc-php\">https://bitbucket.org/rjerome/citeproc-php</a>)
347
+ and Ruby (<a href=\"https://github.com/inukshuk/citeproc-ruby\">https://github.com/inukshuk/citeproc-ruby</a>).\nFinally,
348
+ Zotero developers created <a href=\"http://www.zotero.org/support/dev/citeproc-node\">citeproc-node</a>,
349
+ a <a href=\"http://nodejs.org/\">NodeJS</a> wrapper for citeproc-js, for easy
350
+ server-side deployment.</p>\n\n<p>With so many parties on board, the main
351
+ challenge for the next few months will be the creation of a CSL 1.0 style
352
+ repository, similar to the existing <a href=\"http://www.zotero.org/styles\">Zotero
353
+ Style Repository</a> for CSL 0.8.1 styles.\nPreferably, this repository should
354
+ use a decentralized version control system like Git to handle the distribution
355
+ and contribution of CSL styles, and have a front end for users to browse,
356
+ preview and install styles.\nInterested parties are strongly invited to participate
357
+ in the <a href=\"http://sourceforge.net/mail/?group_id=117435\">xbiblio mailing
358
+ list</a> to discuss and help out with these future improvements.</p>","tags":[],"language":"en"}]}'
359
+ recorded_at: Sun, 04 Jun 2023 14:05:32 GMT
360
+ recorded_with: VCR 6.1.0