commonmeta-ruby 3.5.5 → 3.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (274) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +16 -5
  3. data/lib/commonmeta/readers/crossref_xml_reader.rb +1 -1
  4. data/lib/commonmeta/utils.rb +6 -6
  5. data/lib/commonmeta/version.rb +1 -1
  6. data/spec/cli_spec.rb +8 -8
  7. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/default.yml +13 -13
  8. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/to_bibtex.yml +13 -13
  9. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/to_crossref_xml.yml +25 -25
  10. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/to_datacite.yml +13 -13
  11. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/to_schema_org.yml +13 -13
  12. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/default.yml +7 -7
  13. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_bibtex.yml +7 -7
  14. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_crossref_xml.yml +7 -59
  15. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_datacite.yml +7 -7
  16. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_schema_org.yml +7 -7
  17. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/default.yml +24 -24
  18. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_bibtex.yml +24 -24
  19. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_citation.yml +24 -24
  20. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_crossref_xml.yml +24 -24
  21. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_datacite.yml +24 -24
  22. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_jats.yml +24 -24
  23. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_schema_org.yml +24 -24
  24. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/default.yml +16 -16
  25. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_bibtex.yml +16 -16
  26. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_citation.yml +16 -16
  27. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_datacite.yml +16 -16
  28. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_jats.yml +16 -16
  29. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_schema_org.yml +16 -16
  30. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/schema_org/default.yml +479 -946
  31. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/schema_org/to_crossref_xml.yml +957 -1891
  32. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/schema_org/to_datacite.yml +479 -946
  33. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/schema_org/to_schema_org.yml +481 -950
  34. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/encode/by_blog.yml +5540 -968
  35. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/encode/by_blog_unknown_blog_id.yml +22 -29
  36. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/encode/by_id.yml +25 -39
  37. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/encode/by_id_unknown_uuid.yml +18 -28
  38. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/crossref.yml +7 -7
  39. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/datacite.yml +7 -7
  40. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/jalc.yml +7 -7
  41. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/kisti.yml +7 -7
  42. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/medra.yml +7 -7
  43. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/op.yml +7 -7
  44. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/json_feed/json_feed_blog_id.yml +19 -90
  45. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/json_feed/json_feed_by_blog.yml +5578 -246
  46. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/json_feed/json_feed_not_indexed.yml +13 -2201
  47. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/json_feed/json_feed_unregistered.yml +176 -72
  48. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +16 -16
  49. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/crossref.yml +6 -6
  50. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/datacite.yml +6 -6
  51. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/jalc.yml +6 -6
  52. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/kisti.yml +6 -6
  53. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/medra.yml +6 -6
  54. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/not_found.yml +6 -6
  55. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/op.yml +6 -6
  56. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/crossref.yml +6 -6
  57. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +6 -6
  58. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/datacite.yml +6 -6
  59. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/datacite_doi_http.yml +6 -6
  60. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +6 -6
  61. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_blog_id_for_json_feed_item_id/by_blog_post_id.yml +27 -105
  62. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_blog_id_for_json_feed_item_id/not_found.yml +20 -27
  63. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_cff_metadata/cff-converter-python.yml +51 -25
  64. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_cff_metadata/ruby-cff.yml +12 -12
  65. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_cff_metadata/ruby-cff_repository_url.yml +9 -9
  66. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_codemeta_metadata/maremma.yml +10 -10
  67. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_codemeta_metadata/metadata_reports.yml +11 -11
  68. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +78 -78
  69. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +76 -76
  70. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +35 -35
  71. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/JaLC.yml +162 -162
  72. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/KISTI.yml +131 -131
  73. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/OP.yml +75 -75
  74. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/affiliation_is_space.yml +76 -76
  75. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/another_book.yml +113 -113
  76. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/another_book_chapter.yml +74 -74
  77. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/article_id_as_page_number.yml +77 -77
  78. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/author_literal.yml +84 -84
  79. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/book.yml +77 -77
  80. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/book_chapter.yml +75 -75
  81. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/book_chapter_with_RDF_for_container.yml +73 -73
  82. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/book_oup.yml +72 -72
  83. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/component.yml +94 -94
  84. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/dataset.yml +104 -104
  85. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/dataset_usda.yml +136 -136
  86. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/date_in_future.yml +80 -80
  87. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/dissertation.yml +103 -103
  88. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/empty_given_name.yml +75 -75
  89. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/invalid_date.yml +77 -77
  90. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article.yml +76 -76
  91. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +73 -73
  92. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article_with.yml +128 -210
  93. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article_with_RDF_for_container.yml +74 -74
  94. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article_with_funding.yml +76 -76
  95. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_issue.yml +72 -72
  96. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/mEDRA.yml +72 -72
  97. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/markup.yml +81 -81
  98. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/missing_contributor.yml +71 -71
  99. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/multiple_issn.yml +75 -75
  100. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/multiple_titles.yml +71 -71
  101. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/multiple_titles_with_missing.yml +573 -573
  102. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/not_found_error.yml +65 -65
  103. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/peer_review.yml +77 -77
  104. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/posted_content.yml +74 -74
  105. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/posted_content_copernicus.yml +76 -76
  106. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/report_osti.yml +120 -120
  107. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/vor_with_url.yml +78 -78
  108. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/yet_another_book.yml +74 -74
  109. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +73 -73
  110. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_raw/journal_article.yml +59 -59
  111. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datacite_metadata/SoftwareSourceCode.yml +4 -4
  112. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datacite_metadata/dissertation.yml +13 -13
  113. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datacite_metadata/funding_references.yml +15 -15
  114. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datacite_metadata/subject_scheme.yml +120 -120
  115. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_doi_prefix_for_blog/by_blog_id.yml +5540 -555
  116. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_doi_prefix_for_blog/by_blog_post_id.yml +31 -42
  117. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_doi_prefix_for_blog/by_blog_post_id_specific_prefix.yml +25 -39
  118. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed/by_blog_id.yml +5540 -247
  119. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed/not_indexed_posts.yml +14 -26
  120. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed/unregistered_posts.yml +176 -72
  121. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/archived_wordpress_post.yml +27 -95
  122. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/blog_post_with_non-url_id.yml +28 -106
  123. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/blogger_post.yml +21 -65
  124. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_with_author_name_suffix.yml +20 -208
  125. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_with_doi.yml +26 -97
  126. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_with_institutional_author.yml +24 -55
  127. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_with_organizational_author.yml +27 -70
  128. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_with_related_identifiers.yml +41 -143
  129. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_with_related_identifiers_and_funding.yml +54 -132
  130. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_with_related_identifiers_and_link_to_peer-reviewed_article.yml +304 -818
  131. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/ghost_post_without_doi.yml +24 -169
  132. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/jekyll_post.yml +24 -63
  133. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/jekyll_post_with_anonymous_author.yml +25 -40
  134. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/substack_post_with_broken_reference.yml +278 -591
  135. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/syldavia_gazette_post_with_references.yml +59 -101
  136. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/upstream_post_with_references.yml +135 -331
  137. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/wordpress_post.yml +24 -134
  138. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/wordpress_post_with_many_references.yml +578 -2967
  139. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/wordpress_post_with_references.yml +44 -205
  140. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed_item_metadata/wordpress_post_with_tracking_code_on_url.yml +26 -160
  141. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_one_author/affiliation_is_space.yml +21 -21
  142. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_one_author/has_familyName.yml +15 -15
  143. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +13 -13
  144. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_one_author/name_with_affiliation_crossref.yml +16 -16
  145. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_one_author/only_familyName_and_givenName.yml +66 -61
  146. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/BlogPosting.yml +145 -146
  147. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +149 -150
  148. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/get_schema_org_metadata_front_matter/BlogPosting.yml +114 -115
  149. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/harvard_dataverse.yml +300 -289
  150. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/pangaea.yml +66 -61
  151. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/upstream_blog.yml +64 -57
  152. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/zenodo.yml +27 -24
  153. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +6 -6
  154. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/handle_input/unknown_DOI_prefix.yml +6 -6
  155. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/json_schema_errors/is_valid.yml +16 -16
  156. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/BlogPosting.yml +10 -10
  157. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/Dataset.yml +10 -10
  158. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +16 -16
  159. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/climate_data.yml +10 -10
  160. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/from_schema_org.yml +145 -146
  161. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +8 -8
  162. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/maremma.yml +12 -12
  163. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/text.yml +8 -8
  164. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/with_data_citation.yml +16 -16
  165. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/with_pages.yml +16 -16
  166. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_cff/Collection_of_Jupyter_notebooks.yml +13 -13
  167. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_cff/SoftwareSourceCode_Zenodo.yml +13 -13
  168. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_cff/SoftwareSourceCode_also_Zenodo.yml +8 -8
  169. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_cff/ruby-cff.yml +10 -10
  170. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/Dataset.yml +10 -10
  171. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/Journal_article.yml +16 -16
  172. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +21 -21
  173. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/Missing_author.yml +15 -15
  174. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml +8 -8
  175. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/software_w/version.yml +8 -8
  176. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +8 -8
  177. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +8 -8
  178. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_commonmeta/with_data_citation.yml +12 -12
  179. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/another_schema_org_from_front-matter.yml +32 -32
  180. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/journal_article.yml +5 -5
  181. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/journal_article_from_datacite.yml +5 -5
  182. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/journal_article_plos.yml +16 -16
  183. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_anonymous_author.yml +25 -40
  184. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_doi.yml +24 -134
  185. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_organizational_author.yml +27 -70
  186. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_relations.yml +41 -143
  187. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_relations_and_funding.yml +55 -133
  188. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_upstream_blog.yml +21 -224
  189. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_with_references.yml +134 -330
  190. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/posted_content.yml +19 -19
  191. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/schema_org_from_another_science_blog.yml +9 -9
  192. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/schema_org_from_front_matter.yml +92 -91
  193. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/schema_org_from_upstream_blog.yml +6 -6
  194. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/Another_dataset.yml +8 -8
  195. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/BlogPosting.yml +10 -10
  196. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/BlogPosting_schema_org.yml +146 -147
  197. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/Dataset.yml +10 -10
  198. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/container_title.yml +16 -21
  199. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/interactive_resource_without_dates.yml +8 -8
  200. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/journal_article.yml +16 -16
  201. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/keywords_subject_scheme.yml +8 -8
  202. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/maremma.yml +10 -10
  203. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/missing_creator.yml +15 -15
  204. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/multiple_abstracts.yml +8 -8
  205. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/organization_author.yml +22 -22
  206. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/software.yml +8 -8
  207. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/software_w/version.yml +8 -8
  208. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/with_only_first_page.yml +16 -16
  209. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/with_pages.yml +16 -16
  210. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/climate_data.yml +10 -10
  211. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/maremma.yml +10 -10
  212. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/text.yml +8 -8
  213. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/with_data_citation.yml +16 -16
  214. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/with_pages.yml +16 -16
  215. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/dissertation.yml +20 -20
  216. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/from_schema_org.yml +146 -147
  217. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/journal_article.yml +22 -22
  218. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/maremma.yml +10 -10
  219. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/with_ORCID_ID.yml +16 -16
  220. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/with_data_citation.yml +16 -16
  221. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +10 -10
  222. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +8 -8
  223. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/book_chapter.yml +15 -15
  224. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/from_schema_org.yml +146 -147
  225. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml +8 -8
  226. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/maremma.yml +10 -10
  227. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +16 -16
  228. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +16 -16
  229. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/with_editor.yml +17 -17
  230. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/BlogPosting.yml +10 -10
  231. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +145 -146
  232. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/Dataset.yml +10 -10
  233. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/alternate_name.yml +8 -8
  234. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/journal_article.yml +9 -9
  235. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +8 -8
  236. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/maremma.yml +10 -10
  237. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/with_pages.yml +10 -10
  238. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Another_Schema_org_JSON.yml +10 -10
  239. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Funding.yml +13 -13
  240. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +13 -13
  241. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +8 -8
  242. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Schema_org_JSON_Cyark.yml +13 -13
  243. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +13 -13
  244. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/data_catalog.yml +13 -13
  245. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/geo_location_box.yml +13 -13
  246. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml +13 -13
  247. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/journal_article.yml +16 -16
  248. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +11 -11
  249. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/series_information.yml +17 -16
  250. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/subject_scheme.yml +15 -15
  251. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +13 -13
  252. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_turtle/BlogPosting.yml +10 -10
  253. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_turtle/Dataset.yml +10 -10
  254. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_turtle/journal_article.yml +16 -16
  255. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_turtle/with_pages.yml +16 -16
  256. data/spec/readers/cff_reader_spec.rb +2 -20
  257. data/spec/readers/crossref_reader_spec.rb +10 -16
  258. data/spec/readers/crossref_xml_reader_spec.rb +61 -64
  259. data/spec/readers/json_feed_reader_spec.rb +56 -56
  260. data/spec/readers/schema_org_reader_spec.rb +1 -1
  261. data/spec/utils_spec.rb +1 -1
  262. data/spec/writers/crossref_xml_writer_spec.rb +9 -8
  263. data/spec/writers/csv_writer_spec.rb +1 -1
  264. data/spec/writers/ris_writer_spec.rb +2 -2
  265. metadata +2 -11
  266. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_crossref_xml_refresh.yml +0 -107
  267. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/doi_prefix/doi_prefix_by_blog.yml +0 -997
  268. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/doi_prefix/doi_prefix_by_uuid.yml +0 -256
  269. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/encode/by_uuid.yml +0 -256
  270. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/encode/by_uuid_unknown_uuid.yml +0 -49
  271. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/missing_creator.yml +0 -307
  272. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_doi_prefix_for_blog/by_blog_post_uuid.yml +0 -136
  273. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_doi_prefix_for_blog/by_blog_post_uuid_specific_prefix.yml +0 -256
  274. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/book_oup.yml +0 -107
@@ -4,7 +4,7 @@ http_interactions:
4
4
  method: get
5
5
  uri: https://blog.front-matter.io/posts/eating-your-own-dog-food
6
6
  body:
7
- encoding: UTF-8
7
+ encoding: ASCII-8BIT
8
8
  string: ''
9
9
  headers:
10
10
  Connection:
@@ -27,8 +27,8 @@ http_interactions:
27
27
  Status:
28
28
  - 301 Moved Permanently
29
29
  X-Request-Id:
30
- - c3be1a0a-105c-4e24-ae5a-7dfd98d9cd9d
31
- - c3be1a0a-105c-4e24-ae5a-7dfd98d9cd9d
30
+ - 9cd1257e-e40e-423c-8d38-96fe27f2a7ce
31
+ - 9cd1257e-e40e-423c-8d38-96fe27f2a7ce
32
32
  Location:
33
33
  - "/posts/eating-your-own-dog-food/"
34
34
  Ghost-Cache:
@@ -40,19 +40,19 @@ http_interactions:
40
40
  Accept-Ranges:
41
41
  - bytes
42
42
  Date:
43
- - Sun, 18 Jun 2023 15:23:26 GMT
43
+ - Thu, 05 Oct 2023 19:45:42 GMT
44
44
  Via:
45
45
  - 1.1 varnish
46
46
  Age:
47
- - '82'
47
+ - '1956'
48
48
  X-Served-By:
49
- - cache-ams21078-AMS
49
+ - cache-ams21025-AMS
50
50
  X-Cache:
51
51
  - HIT
52
52
  X-Cache-Hits:
53
53
  - '1'
54
54
  X-Timer:
55
- - S1687101806.439287,VS0,VE2
55
+ - S1696535142.025757,VS0,VE1
56
56
  Vary:
57
57
  - Cookie
58
58
  Ghost-Fastly:
@@ -62,12 +62,12 @@ http_interactions:
62
62
  body:
63
63
  encoding: ASCII-8BIT
64
64
  string: ''
65
- recorded_at: Sun, 18 Jun 2023 15:23:26 GMT
65
+ recorded_at: Thu, 05 Oct 2023 19:45:41 GMT
66
66
  - request:
67
67
  method: get
68
68
  uri: https://blog.front-matter.io/posts/eating-your-own-dog-food/
69
69
  body:
70
- encoding: UTF-8
70
+ encoding: ASCII-8BIT
71
71
  string: ''
72
72
  headers:
73
73
  Connection:
@@ -84,7 +84,7 @@ http_interactions:
84
84
  Connection:
85
85
  - close
86
86
  Content-Length:
87
- - '35313'
87
+ - '36385'
88
88
  Server:
89
89
  - openresty
90
90
  Content-Type:
@@ -92,10 +92,10 @@ http_interactions:
92
92
  Status:
93
93
  - 200 OK
94
94
  X-Request-Id:
95
- - 1a97b75d-1352-4f4c-b83a-3dd3c890943a
96
- - 1a97b75d-1352-4f4c-b83a-3dd3c890943a
95
+ - bdb05297-88df-4ad1-b33a-59ac8a68c029
96
+ - bdb05297-88df-4ad1-b33a-59ac8a68c029
97
97
  Etag:
98
- - W/"89f1-oEW5acXDcdQnN+2n8cbS4LTHno8"
98
+ - W/"8e21-Aw7bQMYR1NmUtfW12qMOMiNspGA"
99
99
  Ghost-Cache:
100
100
  - MISS
101
101
  Cache-Control:
@@ -105,19 +105,19 @@ http_interactions:
105
105
  Accept-Ranges:
106
106
  - bytes
107
107
  Date:
108
- - Sun, 18 Jun 2023 15:23:26 GMT
108
+ - Thu, 05 Oct 2023 19:45:42 GMT
109
109
  Via:
110
110
  - 1.1 varnish
111
111
  Age:
112
- - '81'
112
+ - '1956'
113
113
  X-Served-By:
114
- - cache-ams21040-AMS
114
+ - cache-ams21024-AMS
115
115
  X-Cache:
116
116
  - HIT
117
117
  X-Cache-Hits:
118
118
  - '1'
119
119
  X-Timer:
120
- - S1687101807.603849,VS0,VE1
120
+ - S1696535142.171016,VS0,VE2
121
121
  Vary:
122
122
  - Cookie, Accept-Encoding
123
123
  Ghost-Fastly:
@@ -129,7 +129,7 @@ http_interactions:
129
129
  string: "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n <meta charset=\"utf-8\">\n
130
130
  \ <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n
131
131
  \ <title>Eating your own Dog Food</title>\n <link rel=\"stylesheet\"
132
- href=\"https://blog.front-matter.io/assets/built/screen.css?v=848cb6eb27\">\n\n
132
+ href=\"https://blog.front-matter.io/assets/built/screen.css?v=6869c21382\">\n\n
133
133
  \ <meta name=\"citation_doi\" content=\"https://doi.org/10.53731/r79vxn1-97aq74v-ag58n\">\n
134
134
  \ <meta name=\"citation_title\" content=\"Eating your own Dog Food\">\n
135
135
  \ <meta name=\"citation_abstract\" content=\"Eating your own dog food is
@@ -166,7 +166,7 @@ http_interactions:
166
166
  part\">\n <meta property=\"og:url\" content=\"https://doi.org/10.53731/r79vxn1-97aq74v-ag58n\">\n
167
167
  \ <meta property=\"og:image\" content=\"https://blog.front-matter.io/content/images/2022/08/230785.jpeg\">\n
168
168
  \ <meta property=\"article:published_time\" content=\"2016-12-20T00:00:00.000Z\">\n
169
- \ <meta property=\"article:modified_time\" content=\"2022-08-15T09:06:22.000Z\">\n
169
+ \ <meta property=\"article:modified_time\" content=\"2023-09-07T08:34:41.000Z\">\n
170
170
  \ <meta property=\"article:tag\" content=\"Feature\">\n \n <meta name=\"twitter:card\"
171
171
  content=\"summary_large_image\">\n <meta name=\"twitter:title\" content=\"Eating
172
172
  your own Dog Food\">\n <meta name=\"twitter:description\" content=\"Eating
@@ -194,7 +194,7 @@ http_interactions:
194
194
  \ \"https://orcid.org/0000-0003-1419-2405\"\n ]\n },\n
195
195
  \ \"headline\": \"Eating your own Dog Food\",\n \"url\": \"https://blog.front-matter.io/posts/eating-your-own-dog-food/\",\n
196
196
  \ \"datePublished\": \"2016-12-20T00:00:00.000Z\",\n \"dateModified\":
197
- \"2022-08-15T09:06:22.000Z\",\n \"image\": {\n \"@type\": \"ImageObject\",\n
197
+ \"2023-09-07T08:34:41.000Z\",\n \"image\": {\n \"@type\": \"ImageObject\",\n
198
198
  \ \"url\": \"https://blog.front-matter.io/content/images/2022/08/230785.jpeg\",\n
199
199
  \ \"width\": 2000,\n \"height\": 1372\n },\n \"keywords\":
200
200
  \"Feature\",\n \"description\": \"Eating your own dog food is a slang term
@@ -202,13 +202,13 @@ http_interactions:
202
202
  it provides. For DataCite this means that we should use DOIs with appropriate
203
203
  metadata and strategies for long-term preservation for the scholarly outputs
204
204
  we produce. For the most part this is not research data, but rather technical
205
- documents such as the DataCite Schema and its documentation (2016).\\n\\nThese
206
- outputs also include the posts on this blog, where we discuss topics relev\",\n
205
+ documents such as the DataCite Schema and its documentation (2016).\\n\\n\\nThese
206
+ outputs also include the posts on this blog, where we discuss topics rele\",\n
207
207
  \ \"mainEntityOfPage\": \"https://blog.front-matter.io/posts/eating-your-own-dog-food/\"\n}\n
208
- \ </script>\n\n <meta name=\"generator\" content=\"Ghost 5.51\">\n <link
208
+ \ </script>\n\n <meta name=\"generator\" content=\"Ghost 5.67\">\n <link
209
209
  rel=\"alternate\" type=\"application/rss+xml\" title=\"Front Matter\" href=\"https://blog.front-matter.io/rss/\">\n
210
- \ <script defer src=\"https://cdn.jsdelivr.net/ghost/portal@~2.33/umd/portal.min.js\"
211
- data-i18n=\"false\" data-ghost=\"https://blog.front-matter.io/\" data-key=\"d0d5aabcc0f96718307d5944b6\"
210
+ \ <script defer src=\"https://cdn.jsdelivr.net/ghost/portal@~2.36/umd/portal.min.js\"
211
+ data-i18n=\"true\" data-ghost=\"https://blog.front-matter.io/\" data-key=\"d0d5aabcc0f96718307d5944b6\"
212
212
  data-api=\"https://front-matter.ghost.io/ghost/api/content/\" crossorigin=\"anonymous\"></script><style
213
213
  id=\"gh-members-styles\">.gh-post-upgrade-cta-content,\n.gh-post-upgrade-cta
214
214
  {\n display: flex;\n flex-direction: column;\n align-items: center;\n
@@ -231,19 +231,20 @@ http_interactions:
231
231
  data-key=\"d0d5aabcc0f96718307d5944b6\" data-styles=\"https://cdn.jsdelivr.net/ghost/sodo-search@~1.1/umd/main.css\"
232
232
  data-sodo-search=\"https://front-matter.ghost.io/\" crossorigin=\"anonymous\"></script>\n
233
233
  \ \n <link href=\"https://blog.front-matter.io/webmentions/receive/\"
234
- rel=\"webmention\">\n <script defer src=\"/public/cards.min.js?v=848cb6eb27\"></script>\n
235
- \ <link rel=\"stylesheet\" type=\"text/css\" href=\"/public/cards.min.css?v=848cb6eb27\">\n
236
- \ <script defer src=\"/public/comment-counts.min.js?v=848cb6eb27\" data-ghost-comments-counts-api=\"https://blog.front-matter.io/members/api/comments/counts/\"></script>\n
234
+ rel=\"webmention\">\n <script defer src=\"/public/cards.min.js?v=6869c21382\"></script>\n
235
+ \ <link rel=\"stylesheet\" type=\"text/css\" href=\"/public/cards.min.css?v=6869c21382\">\n
236
+ \ <script defer src=\"/public/comment-counts.min.js?v=6869c21382\" data-ghost-comments-counts-api=\"https://blog.front-matter.io/members/api/comments/counts/\"></script>\n
237
237
  \ <link href=\"/atom/\" type=\"application/atom+xml\" rel=\"alternate\"
238
- title=\"Atom feed\" />\n<script defer data-domain=\"blog.front-matter.io\"
239
- src=\"https://plausible.io/js/plausible.js\"></script><style>:root {--ghost-accent-color:
240
- #059669;}</style>\n</head>\n\n<body class=\"post-template tag-feature is-head-stacked
241
- has-serif-body\">\n<div class=\"gh-site\">\n\n <header id=\"gh-head\" class=\"gh-head
242
- gh-outer\">\n <div class=\"gh-head-inner gh-inner\">\n <div
243
- class=\"gh-head-brand\">\n <div class=\"gh-head-brand-wrapper\">\n
244
- \ \n <a class=\"gh-head-logo\" href=\"https://blog.front-matter.io\">\n
245
- \ <img src=\"https://blog.front-matter.io/content/images/2022/12/logo.png\"
246
- alt=\"Front Matter\">\n </a>\n \n </div>\n
238
+ title=\"Atom feed\" />\n<link rel=\"me\" href=\"https://hachyderm.io/@mfenner\">\n<script
239
+ defer data-domain=\"blog.front-matter.io\" src=\"https://plausible.io/js/plausible.js\"></script><style>:root
240
+ {--ghost-accent-color: #059669;}</style>\n</head>\n\n<body class=\"post-template
241
+ tag-feature is-head-stacked has-serif-body\">\n<div class=\"gh-site\">\n\n
242
+ \ <header id=\"gh-head\" class=\"gh-head gh-outer\">\n <div class=\"gh-head-inner
243
+ gh-inner\">\n <div class=\"gh-head-brand\">\n <div
244
+ class=\"gh-head-brand-wrapper\">\n \n <a
245
+ class=\"gh-head-logo\" href=\"https://blog.front-matter.io\">\n <img
246
+ src=\"https://blog.front-matter.io/content/images/2022/12/logo.png\" alt=\"Front
247
+ Matter\">\n </a>\n \n </div>\n
247
248
  \ <button class=\"gh-search gh-icon-btn\" aria-label=\"Search
248
249
  this site\" data-ghost-search><svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"
249
250
  viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" width=\"20\"
@@ -299,76 +300,75 @@ http_interactions:
299
300
  that we should use DOIs with appropriate metadata and strategies for long-term
300
301
  preservation for the scholarly outputs we produce. For the most part this
301
302
  is not research data, but rather technical documents such as the DataCite
302
- Schema and its documentation (<a href=\"https://blog.datacite.org/eating-your-own-dog-food/#ref-https://doi.org/10.5438/0012\">2016</a>).</p><p>These
303
+ Schema and its documentation (<a href=\"https://blog.datacite.org/eating-your-own-dog-food/#ref-https://doi.org/10.5438/0012\">2016</a>).</p>\n<p>These
303
304
  outputs also include the posts on this blog, where we discuss topics relevant
304
305
  for the DataCite community, but also of broader interest to anyone who cares
305
306
  about research data, persistent identifiers, and scholarly infrastructure.
306
307
  And starting today all blog posts on this blog will have a DOI, metadata and
307
- use a persistent storage mechanism.</p><h3 id=\"technical-implementation\">Technical
308
- Implementation</h3><p>This blog is powered by the static site generator <a
309
- href=\"https://middlemanapp.com/\">Middleman</a>, with blog posts written
308
+ use a persistent storage mechanism.</p>\n<h3 id=\"technical-implementation\">Technical
309
+ Implementation</h3>\n<p>This blog is powered by the static site generator
310
+ <a href=\"https://middlemanapp.com/\">Middleman</a>, with blog posts written
310
311
  in <a href=\"http://commonmark.org/\">Markdown</a> and converted to HTML using
311
312
  <a href=\"http://pandoc.org/\">Pandoc</a> and the <a href=\"https://travis-ci.org/\">Travis
312
313
  CI</a> continuous integration service. Static site generator means that there
313
314
  is no database or application server powering the site, making website adminstration
314
315
  simpler, cheaper and safer. In addition to the blog, the <a href=\"https://www.datacite.org/\">DataCite
315
316
  homepage</a> and <a href=\"https://schema.datacite.org/\">Metadata Schema
316
- subsite</a> are also generated using Middleman.</p><p>The simplicity is particularly
317
- important here, as registering the DOIs and metadata can be accomplished using
318
- a command line utility written by DataCite staff that doesn't need to know
319
- much about the internals of Middleman, and thus can be easily adapted to other
320
- static site generators such as <a href=\"http://jekyllrb.com/\">Jekyll</a>,
317
+ subsite</a> are also generated using Middleman.</p>\n<p>The simplicity is
318
+ particularly important here, as registering the DOIs and metadata can be accomplished
319
+ using a command line utility written by DataCite staff that doesn't need to
320
+ know much about the internals of Middleman, and thus can be easily adapted
321
+ to other static site generators such as <a href=\"http://jekyllrb.com/\">Jekyll</a>,
321
322
  <a href=\"http://gohugo.io/\">Hugo</a> or <a href=\"https://hexo.io/\">Hexo</a>.
322
323
  The command line utility is <a href=\"https://github.com/datacite/cirneco\">Cirneco</a>,
323
324
  generating the metadata XML according to the DataCite Metadata Schema, and
324
325
  registering DOI and metadata with the DataCite MDS. Like all tools mentioned
325
326
  in this post Cirneco is open source software, please reach out to us if you
326
- are interested in implementing similar functionality for your blog.</p><h3
327
- id=\"generating-dois\">Generating DOIs</h3><p>The DOIs for this blog are generated
328
- automatically, using a modified base32 encoding algorithm that is provided
329
- by Cirneco, as discussed last week (Fenner, <a href=\"https://blog.datacite.org/eating-your-own-dog-food/#ref-https://doi.org/10.5438/55E5-T5C0\">2016</a>).
327
+ are interested in implementing similar functionality for your blog.</p>\n<h3
328
+ id=\"generating-dois\">Generating DOIs</h3>\n<p>The DOIs for this blog are
329
+ generated automatically, using a modified base32 encoding algorithm that is
330
+ provided by Cirneco, as discussed last week (Fenner, <a href=\"https://blog.datacite.org/eating-your-own-dog-food/#ref-https://doi.org/10.5438/55E5-T5C0\">2016</a>).
330
331
  The DOI is generated and minted when a new post is pushed to <a href=\"https://blog.datacite.org/\">https://blog.datacite.org</a>.
331
332
  This avoids two problems: a) DOI-like strings in the wild before publication
332
333
  and b) the randomly generated DOI exists already (we can simply generate a
333
334
  new one). All DOIs are short, without semantic infomation that might change
334
335
  over time, and with a checksum to minimize transcription errors, for example
335
- <strong><strong>https://doi.org/10.5438/XCBJ-G7ZY</strong></strong>. Going
336
- forward we encourage users to link to the DataCite Blog using the DOI, as
337
- these links will continue to work even if we ever move the blog to a different
338
- location.</p><h3 id=\"generating-metadata\">Generating Metadata</h3><p>For
339
- the generation of metadata, we need to strike a balance between simple author
340
- provided metadata, but rich enough to aid discovery. We are doing this via
341
- three mechanisms:</p><ul><li>metadata provided by the author</li><li>default
342
- metadata for the blog</li><li>metadata automatically extracted from content</li></ul><p>The
343
- metadata provided by the author are the typical metadata for blog posts, provided
344
- via <a href=\"https://gohugo.io/content/front-matter/\">YAML front matter</a>
345
- at the beginning of each post:</p><pre><code>---\nlayout: post\ntitle: Eating
346
- your own Dog Food\nauthor: mfenner\ndate: 2016-12-19\ntags:\n- datacite\n-
347
- doi\n- metadata\n---</code></pre><p>We can reuse all these metadata when generating
348
- DataCite metadata, using the tags as <code>subjects</code>.</p><p>The default
349
- metadata are metadata that always stay the same for the blog, such as <code>publisher</code>,
350
- <code>HostingInstitution</code> and <code>rights</code>. We can store them
351
- in a site-wide configuration file. We can also assume reasonable defaults
352
- that can be overridden in the YAML front matter, e.g. <code>resourceType</code>
336
+ <strong>https://doi.org/10.5438/XCBJ-G7ZY</strong>. Going forward we encourage
337
+ users to link to the DataCite Blog using the DOI, as these links will continue
338
+ to work even if we ever move the blog to a different location.</p>\n<h3 id=\"generating-metadata\">Generating
339
+ Metadata</h3>\n<p>For the generation of metadata, we need to strike a balance
340
+ between simple author provided metadata, but rich enough to aid discovery.
341
+ We are doing this via three mechanisms:</p>\n<ul><li>metadata provided by
342
+ the author</li><li>default metadata for the blog</li><li>metadata automatically
343
+ extracted from content</li></ul>\n<p>The metadata provided by the author are
344
+ the typical metadata for blog posts, provided via <a href=\"https://gohugo.io/content/front-matter/\">YAML
345
+ front matter</a> at the beginning of each post:</p>\n<pre><code>---\nlayout:
346
+ post\ntitle: Eating your own Dog Food\nauthor: mfenner\ndate: 2016-12-19\ntags:\n-
347
+ datacite\n- doi\n- metadata\n---</code></pre>\n<p>We can reuse all these metadata
348
+ when generating DataCite metadata, using the tags as <code>subjects</code>.</p>\n<p>The
349
+ default metadata are metadata that always stay the same for the blog, such
350
+ as <code>publisher</code>, <code>HostingInstitution</code> and <code>rights</code>.
351
+ We can store them in a site-wide configuration file. We can also assume reasonable
352
+ defaults that can be overridden in the YAML front matter, e.g. <code>resourceType</code>
353
353
  (we use <a href=\"https://schema.org/BlogPosting\">BlogPosting</a> with <code>resourceTypeGeneral</code>
354
354
  Text) and <code>version</code>. We store more information about authors outside
355
355
  the blog post, including <code>givenName</code>, <code>familyName</code> and
356
356
  <code>nameIdentifier</code> (we now show the ORCID ID of every blog author
357
- at the bottom of the post).</p><p>Finally, there are metadata that we can
357
+ at the bottom of the post).</p>\n<p>Finally, there are metadata that we can
358
358
  automatically extract from the blog post, and we are currently doing this
359
359
  for the <code>description</code> and <code>relatedIdentifier</code>. This
360
360
  blog uses Pandoc and BibTex to generate the references section at the end,
361
361
  and we can fetch this information and convert it into the format needed for
362
- <code>relatedIdentifier</code>.</p><p>Taken together we can provide all metadata
363
- that are <em>required</em> or <em>recommended</em> in the Metadata Schema
364
- documentation (<a href=\"https://blog.datacite.org/eating-your-own-dog-food/#ref-https://doi.org/10.5438/0012\">2016</a>),
362
+ <code>relatedIdentifier</code>.</p>\n<p>Taken together we can provide all
363
+ metadata that are <em>required</em> or <em>recommended</em> in the Metadata
364
+ Schema documentation (<a href=\"https://blog.datacite.org/eating-your-own-dog-food/#ref-https://doi.org/10.5438/0012\">2016</a>),
365
365
  and we can do this without any extra effort for the author. The full XML is
366
- avalailable <a href=\"https://data.crosscite.org/application/vnd.datacite.datacite+xml/10.5438/4K3M-NYVG\">here</a>.</p><p>Not
366
+ avalailable <a href=\"https://data.crosscite.org/application/vnd.datacite.datacite+xml/10.5438/4K3M-NYVG\">here</a>.</p>\n<p>Not
367
367
  all blog posts need to be cited formally with metadata in a <em>references</em>
368
368
  list formatted according to a specific citation style. But these metadata
369
369
  greatly help with discovery, a search in DataCite Search for <a href=\"http://search.datacite.org/works?query=eating+dog+food\">eating
370
- dog food</a> will for example bring up this blog post as the first hit.</p><h3
371
- id=\"persistent-storage\">Persistent storage</h3><p>Using DOIs means that
370
+ dog food</a> will for example bring up this blog post as the first hit.</p>\n<h3
371
+ id=\"persistent-storage\">Persistent storage</h3>\n<p>Using DOIs means that
372
372
  readers not only expect rich metadata that help with citation and discovery,
373
373
  but also that DataCite takes extra care to preserve the blog posts, thinking
374
374
  beyond the particular technical implementation or even the contiuing existence
@@ -378,11 +378,13 @@ http_interactions:
378
378
  of them on Github</a>), and in two independent Amazon S3 buckets that each
379
379
  use <a href=\"http://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html\">versioning</a>.
380
380
  Multiple locations with versioning are a good start, but more work is clearly
381
- needed.</p><p><em>This blog post was <a href=\"https://doi.org/10.5438/4k3m-nyvg\">originally
382
- published</a> on the DataCite Blog.</em></p><h2 id=\"references\">References</h2><p>DataCite
383
- Metadata Working Group. (2016). DataCite metadata schema for the publication
384
- and citation of research data v4.0. <em>DataCite</em>. <a href=\"https://doi.org/10.5438/0012\">https://doi.org/10.5438/0012</a></p><p>Fenner,
385
- M. (2016). Cool doi’s. <em>DataCite</em>. <a href=\"https://doi.org/10.5438/55E5-T5C0\">https://doi.org/10.5438/55E5-T5C0</a></p>\n
381
+ needed.</p>\n<h2 id=\"acknowledgments\">Acknowledgments</h2>\n<p>This blog
382
+ post was <a href=\"https://doi.org/10.5438/4k3m-nyvg\">originally published</a>
383
+ on the DataCite Blog.</p>\n<h2 id=\"references\">References</h2>\n<p>DataCite
384
+ Metadata Working Group. DataCite Metadata Schema Documentation for the Publication
385
+ and Citation of Research Data v4.0. Published online 2016:45 pages. doi:<a
386
+ href=\"https://doi.org/10.5438/0012\">10.5438/0012</a></p>\n<p>Fenner M. Cool
387
+ DOI’s. Published online December 15, 2016. doi:<a href=\"https://doi.org/10.5438/55E5-T5C0\">10.5438/55E5-T5C0</a></p>\n
386
388
  \ <div class=\"gh-license\">\n Copyright
387
389
  © 2016 Martin Fenner. Distributed under the terms of the\n <a\n
388
390
  \ class=\"gh-license-link\"\n href=\"https://creativecommons.org/licenses/by/4.0/legalcode\"\n
@@ -393,75 +395,74 @@ http_interactions:
393
395
  class=\"gh-pagehead\">\n <h4 class=\"gh-pagehead-title\">Read
394
396
  next</h4>\n </section>\n\n <div class=\"gh-topic
395
397
  gh-topic-grid\">\n <div class=\"gh-topic-content\">\n <article
396
- class=\"gh-card post\">\n <a class=\"gh-card-link\" href=\"/posts/starting-to-register-dois-for-all-blog-posts-included-in-the-rogue-scholar/\">\n
397
- \ <figure class=\"gh-card-image\">\n <img\n srcset=\"/content/images/size/w300/2023/06/Bildschirmfoto-2023-06-05-um-14.58.49-1.png
398
- 300w,\n /content/images/size/w720/2023/06/Bildschirmfoto-2023-06-05-um-14.58.49-1.png
399
- 720w,\n /content/images/size/w960/2023/06/Bildschirmfoto-2023-06-05-um-14.58.49-1.png
400
- 960w,\n /content/images/size/w1200/2023/06/Bildschirmfoto-2023-06-05-um-14.58.49-1.png
401
- 1200w,\n /content/images/size/w2000/2023/06/Bildschirmfoto-2023-06-05-um-14.58.49-1.png
398
+ class=\"gh-card post\">\n <a class=\"gh-card-link\" href=\"/posts/the-rise-of-the-science-newsletter/\">\n
399
+ \ <figure class=\"gh-card-image\">\n <img\n srcset=\"https://images.unsplash.com/photo-1518546488314-6ed28acc48e3?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDI1fHxyaXNlfGVufDB8fHx8MTY5NjQwNTMyNnww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300
400
+ 300w,\n https://images.unsplash.com/photo-1518546488314-6ed28acc48e3?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDI1fHxyaXNlfGVufDB8fHx8MTY5NjQwNTMyNnww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;720
401
+ 720w,\n https://images.unsplash.com/photo-1518546488314-6ed28acc48e3?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDI1fHxyaXNlfGVufDB8fHx8MTY5NjQwNTMyNnww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;960
402
+ 960w,\n https://images.unsplash.com/photo-1518546488314-6ed28acc48e3?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDI1fHxyaXNlfGVufDB8fHx8MTY5NjQwNTMyNnww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1200
403
+ 1200w,\n https://images.unsplash.com/photo-1518546488314-6ed28acc48e3?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDI1fHxyaXNlfGVufDB8fHx8MTY5NjQwNTMyNnww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000
402
404
  2000w\"\n sizes=\"(max-width: 1200px) 100vw, 1200px\"\n
403
- \ src=\"/content/images/size/w720/2023/06/Bildschirmfoto-2023-06-05-um-14.58.49-1.png\"\n
404
- \ alt=\"Starting to register DOIs for all blog posts included
405
- in the Rogue Scholar\"\n >\n </figure>\n\n <div
406
- class=\"gh-card-wrapper\">\n <header class=\"gh-card-header\">\n
407
- \ <h3 class=\"gh-card-title\">Starting to register DOIs for
408
- all blog posts included in the Rogue Scholar</h3>\n </header>\n\n
409
- \ <div class=\"gh-card-excerpt\">The Rogue Scholar archive
410
- of scholarly blogs has grown to 34 blogs with about 420 blog posts. In order
411
- to implement DOI registration for these blog posts, I needed two things:\n\n
412
- * Content and metadata, ideally without requiring blogs to implement anything
413
- special.\n * A way to track the DOIs that have</div>\n\n <footer
405
+ \ src=\"https://images.unsplash.com/photo-1518546488314-6ed28acc48e3?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDI1fHxyaXNlfGVufDB8fHx8MTY5NjQwNTMyNnww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;720\"\n
406
+ \ alt=\"The rise of the (science) newsletter\"\n >\n
407
+ \ </figure>\n\n <div class=\"gh-card-wrapper\">\n <header
408
+ class=\"gh-card-header\">\n <h3 class=\"gh-card-title\">The
409
+ rise of the (science) newsletter</h3>\n </header>\n\n <div
410
+ class=\"gh-card-excerpt\">Newsletters have been around forever, but their
411
+ popularity has significantly increased in the past few years, also thanks
412
+ to platforms such as Ghost, Medium, and Substack. Which of course also includes
413
+ science newsletters.\n\n\nFailure of advertising as a revenue model\n\nThe
414
+ most important driver of this trend is probably the</div>\n\n <footer
414
415
  class=\"gh-card-footer\">\n <span class=\"gh-card-author\">Martin
415
- Fenner</span>\n <time class=\"gh-card-date\" datetime=\"2023-06-05\">Jun
416
- 5, 2023</time>\n <script\n data-ghost-comment-count=\"647dd211e640890001564d5a\"\n
416
+ Fenner</span>\n <time class=\"gh-card-date\" datetime=\"2023-10-04\">Oct
417
+ 4, 2023</time>\n <script\n data-ghost-comment-count=\"651d174894e4e100013aeebf\"\n
417
418
  \ data-ghost-comment-count-empty=\"\"\n data-ghost-comment-count-singular=\"comment\"\n
418
419
  \ data-ghost-comment-count-plural=\"comments\"\n data-ghost-comment-count-tag=\"span\"\n
419
420
  \ data-ghost-comment-count-class-name=\"gh-card-comments\"\n data-ghost-comment-count-autowrap=\"true\"\n>\n</script>\n
420
421
  \ </footer>\n </div>\n </a>\n</article> <article
421
- class=\"gh-card post\">\n <a class=\"gh-card-link\" href=\"/posts/dog-food-persistent-identifiers-and-metadata/\">\n
422
- \ <figure class=\"gh-card-image\">\n <img\n srcset=\"https://images.unsplash.com/photo-1608408891486-f5cade977d19?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDR8fGRvZyUyMGZvb2R8ZW58MHx8fHwxNjgxNzQyOTYy&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300
423
- 300w,\n https://images.unsplash.com/photo-1608408891486-f5cade977d19?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDR8fGRvZyUyMGZvb2R8ZW58MHx8fHwxNjgxNzQyOTYy&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;720
424
- 720w,\n https://images.unsplash.com/photo-1608408891486-f5cade977d19?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDR8fGRvZyUyMGZvb2R8ZW58MHx8fHwxNjgxNzQyOTYy&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;960
425
- 960w,\n https://images.unsplash.com/photo-1608408891486-f5cade977d19?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDR8fGRvZyUyMGZvb2R8ZW58MHx8fHwxNjgxNzQyOTYy&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1200
426
- 1200w,\n https://images.unsplash.com/photo-1608408891486-f5cade977d19?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDR8fGRvZyUyMGZvb2R8ZW58MHx8fHwxNjgxNzQyOTYy&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000
422
+ class=\"gh-card post\">\n <a class=\"gh-card-link\" href=\"/posts/collecting-metadata/\">\n
423
+ \ <figure class=\"gh-card-image\">\n <img\n srcset=\"/content/images/size/w300/2023/10/8071729256_19fe2e444c.jpg
424
+ 300w,\n /content/images/size/w720/2023/10/8071729256_19fe2e444c.jpg
425
+ 720w,\n /content/images/size/w960/2023/10/8071729256_19fe2e444c.jpg
426
+ 960w,\n /content/images/size/w1200/2023/10/8071729256_19fe2e444c.jpg
427
+ 1200w,\n /content/images/size/w2000/2023/10/8071729256_19fe2e444c.jpg
427
428
  2000w\"\n sizes=\"(max-width: 1200px) 100vw, 1200px\"\n
428
- \ src=\"https://images.unsplash.com/photo-1608408891486-f5cade977d19?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;MnwxMTc3M3wwfDF8c2VhcmNofDR8fGRvZyUyMGZvb2R8ZW58MHx8fHwxNjgxNzQyOTYy&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;720\"\n
429
- \ alt=\"Dog food, persistent identifiers, and metadata\"\n
430
- \ >\n </figure>\n\n <div class=\"gh-card-wrapper\">\n
431
- \ <header class=\"gh-card-header\">\n <h3 class=\"gh-card-title\">Dog
432
- food, persistent identifiers, and metadata</h3>\n </header>\n\n
433
- \ <div class=\"gh-card-excerpt\">I am a big fan of dog food,
434
- and I wrote about this topic already seven years ago:\n\nEating your own dog
435
- food is a slang term to describe that an organization should itself use the
436
- products and services it provides.\n\nOne of the major projects I am working
437
- on</div>\n\n <footer class=\"gh-card-footer\">\n <span
438
- class=\"gh-card-author\">Martin Fenner</span>\n <time class=\"gh-card-date\"
439
- datetime=\"2023-04-17\">Apr 17, 2023</time>\n <script\n
440
- \ data-ghost-comment-count=\"643d5c67dc6b00003d79d9b7\"\n data-ghost-comment-count-empty=\"\"\n
429
+ \ src=\"/content/images/size/w720/2023/10/8071729256_19fe2e444c.jpg\"\n
430
+ \ alt=\"Collecting metadata for science blog posts\"\n >\n
431
+ \ </figure>\n\n <div class=\"gh-card-wrapper\">\n <header
432
+ class=\"gh-card-header\">\n <h3 class=\"gh-card-title\">Collecting
433
+ metadata for science blog posts</h3>\n </header>\n\n <div
434
+ class=\"gh-card-excerpt\">Metadata are an important feature of every scholarly
435
+ resource. For science blog posts which are published with far fewer resources
436
+ than for example journal articles or books there is an additional requirement:
437
+ make the metadata collection as painless as possible. In this post, I describe
438
+ the lessons learned over the</div>\n\n <footer class=\"gh-card-footer\">\n
439
+ \ <span class=\"gh-card-author\">Martin Fenner</span>\n <time
440
+ class=\"gh-card-date\" datetime=\"2023-10-02\">Oct 2, 2023</time>\n <script\n
441
+ \ data-ghost-comment-count=\"651aebc3bdc3b90001605e56\"\n data-ghost-comment-count-empty=\"\"\n
441
442
  \ data-ghost-comment-count-singular=\"comment\"\n data-ghost-comment-count-plural=\"comments\"\n
442
443
  \ data-ghost-comment-count-tag=\"span\"\n data-ghost-comment-count-class-name=\"gh-card-comments\"\n
443
444
  \ data-ghost-comment-count-autowrap=\"true\"\n>\n</script>\n </footer>\n
444
445
  \ </div>\n </a>\n</article> <article class=\"gh-card
445
- post\">\n <a class=\"gh-card-link\" href=\"/posts/feedback-for-blog-publishers/\">\n
446
- \ <figure class=\"gh-card-image\">\n <img\n srcset=\"/content/images/size/w300/2023/04/Bildschirmfoto-2023-04-11-um-13.14.02.png
447
- 300w,\n /content/images/size/w720/2023/04/Bildschirmfoto-2023-04-11-um-13.14.02.png
448
- 720w,\n /content/images/size/w960/2023/04/Bildschirmfoto-2023-04-11-um-13.14.02.png
449
- 960w,\n /content/images/size/w1200/2023/04/Bildschirmfoto-2023-04-11-um-13.14.02.png
450
- 1200w,\n /content/images/size/w2000/2023/04/Bildschirmfoto-2023-04-11-um-13.14.02.png
446
+ post\">\n <a class=\"gh-card-link\" href=\"/posts/how-to-support-rogue-scholar/\">\n
447
+ \ <figure class=\"gh-card-image\">\n <img\n srcset=\"https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDU5fHxmaW5hbmNpYWwlMjBzdXBwb3J0fGVufDB8fHx8MTY5MTQwNzI5NHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300
448
+ 300w,\n https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDU5fHxmaW5hbmNpYWwlMjBzdXBwb3J0fGVufDB8fHx8MTY5MTQwNzI5NHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;720
449
+ 720w,\n https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDU5fHxmaW5hbmNpYWwlMjBzdXBwb3J0fGVufDB8fHx8MTY5MTQwNzI5NHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;960
450
+ 960w,\n https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDU5fHxmaW5hbmNpYWwlMjBzdXBwb3J0fGVufDB8fHx8MTY5MTQwNzI5NHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1200
451
+ 1200w,\n https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDU5fHxmaW5hbmNpYWwlMjBzdXBwb3J0fGVufDB8fHx8MTY5MTQwNzI5NHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000
451
452
  2000w\"\n sizes=\"(max-width: 1200px) 100vw, 1200px\"\n
452
- \ src=\"/content/images/size/w720/2023/04/Bildschirmfoto-2023-04-11-um-13.14.02.png\"\n
453
- \ alt=\"Feedback for science blog publishers\"\n >\n
453
+ \ src=\"https://images.unsplash.com/photo-1579621970588-a35d0e7ab9b6?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDU5fHxmaW5hbmNpYWwlMjBzdXBwb3J0fGVufDB8fHx8MTY5MTQwNzI5NHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;720\"\n
454
+ \ alt=\"How to support Rogue Scholar?\"\n >\n
454
455
  \ </figure>\n\n <div class=\"gh-card-wrapper\">\n <header
455
- class=\"gh-card-header\">\n <h3 class=\"gh-card-title\">Feedback
456
- for science blog publishers</h3>\n </header>\n\n <div
457
- class=\"gh-card-excerpt\">The Rogue Scholar science blog archive launched
458
- last week. Going forward the focus is on improving the service and adding
459
- more blogs. This includes giving blog authors feedback on how they can improve
460
- their RSS/Atom feeds used by the Rogue Scholar to collect and archive the
461
- blog content.\n\n\nFeedback</div>\n\n <footer class=\"gh-card-footer\">\n
456
+ class=\"gh-card-header\">\n <h3 class=\"gh-card-title\">How
457
+ to support Rogue Scholar?</h3>\n </header>\n\n <div
458
+ class=\"gh-card-excerpt\">The Rogue Scholar science blog archive adds important
459
+ functionality to existing science blogs, namely archiving, full-text search,
460
+ and DOI registration. While a lot of effort has gone into making Rogue Scholar
461
+ as affordable as possible by using Open Source software, automation, and involving
462
+ the community, it still costs money to</div>\n\n <footer class=\"gh-card-footer\">\n
462
463
  \ <span class=\"gh-card-author\">Martin Fenner</span>\n <time
463
- class=\"gh-card-date\" datetime=\"2023-04-11\">Apr 11, 2023</time>\n <script\n
464
- \ data-ghost-comment-count=\"6435410bd3ede1003daa0897\"\n data-ghost-comment-count-empty=\"\"\n
464
+ class=\"gh-card-date\" datetime=\"2023-08-07\">Aug 7, 2023</time>\n <script\n
465
+ \ data-ghost-comment-count=\"64d0b4af12cdf20001f5eacd\"\n data-ghost-comment-count-empty=\"\"\n
465
466
  \ data-ghost-comment-count-singular=\"comment\"\n data-ghost-comment-count-plural=\"comments\"\n
466
467
  \ data-ghost-comment-count-tag=\"span\"\n data-ghost-comment-count-class-name=\"gh-card-comments\"\n
467
468
  \ data-ghost-comment-count-autowrap=\"true\"\n>\n</script>\n </footer>\n
@@ -472,16 +473,14 @@ http_interactions:
472
473
  \ data-ghost-comment-count-empty=\"0\"\n data-ghost-comment-count-singular=\"\"\n
473
474
  \ data-ghost-comment-count-plural=\"\"\n data-ghost-comment-count-tag=\"span\"\n
474
475
  \ data-ghost-comment-count-class-name=\"\"\n data-ghost-comment-count-autowrap=\"true\"\n>\n</script>)</h3>\n
475
- \ </section>\n \n <script defer src=\"https://cdn.jsdelivr.net/ghost/comments-ui@~0.12/umd/comments-ui.min.js\"
476
- data-ghost-comments=\"https://blog.front-matter.io/\" data-api=\"https://front-matter.ghost.io/ghost/api/content/\"
476
+ \ </section>\n \n <script defer src=\"https://cdn.jsdelivr.net/ghost/comments-ui@~0.13/umd/comments-ui.min.js\"
477
+ data-locale=\"en\" data-ghost-comments=\"https://blog.front-matter.io/\" data-api=\"https://front-matter.ghost.io/ghost/api/content/\"
477
478
  data-admin=\"https://front-matter.ghost.io/ghost/\" data-key=\"d0d5aabcc0f96718307d5944b6\"
478
- data-styles=\"https://cdn.jsdelivr.net/ghost/comments-ui@~0.12/umd/main.css\"
479
479
  data-title=\"\" data-count=\"false\" data-post-id=\"62d42bbd41e317003df48efd\"
480
- data-sentry-dsn=\"\" data-color-scheme=\"auto\" data-avatar-saturation=\"60\"
481
- data-accent-color=\"#059669\" data-app-version=\"0.12\" data-comments-enabled=\"all\"
482
- data-publication=\"Front Matter\" crossorigin=\"anonymous\"></script>\n \n
483
- \ </div>\n</main>\n\n <footer class=\"gh-foot gh-outer\">\n <div
484
- class=\"gh-foot-inner gh-inner\">\n <section class=\"gh-subscribe\">\n
480
+ data-color-scheme=\"auto\" data-avatar-saturation=\"60\" data-accent-color=\"#059669\"
481
+ data-comments-enabled=\"all\" data-publication=\"Front Matter\" crossorigin=\"anonymous\"></script>\n
482
+ \ \n </div>\n</main>\n\n <footer class=\"gh-foot gh-outer\">\n
483
+ \ <div class=\"gh-foot-inner gh-inner\">\n <section class=\"gh-subscribe\">\n
485
484
  \ <h3 class=\"gh-subscribe-title\">Subscribe to Front Matter</h3>\n
486
485
  \ <div class=\"gh-subscribe-description\">Subscribe
487
486
  to the Front Matter Blog to automatically receive blog posts via email newsletter.</div>\n
@@ -525,6 +524,6 @@ http_interactions:
525
524
  (arrow left)\"></button>\n <button class=\"pswp__button pswp__button--arrow--right\"
526
525
  title=\"Next (arrow right)\"></button>\n\n <div class=\"pswp__caption\">\n
527
526
  \ <div class=\"pswp__caption__center\"></div>\n </div>\n
528
- \ </div>\n </div>\n</div>\n<script src=\"https://blog.front-matter.io/assets/built/main.min.js?v=848cb6eb27\"></script>\n\n\n\n</body>\n\n</html>\n"
529
- recorded_at: Sun, 18 Jun 2023 15:23:26 GMT
530
- recorded_with: VCR 6.1.0
527
+ \ </div>\n </div>\n</div>\n<script src=\"https://blog.front-matter.io/assets/built/main.min.js?v=6869c21382\"></script>\n\n\n\n</body>\n\n</html>\n"
528
+ recorded_at: Thu, 05 Oct 2023 19:45:42 GMT
529
+ recorded_with: VCR 6.2.0