From b74542a1dfb46325bcca4743128ffaae608a532b Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Tue, 29 Mar 2022 13:22:32 -0700 Subject: [PATCH 01/11] Define the format URI to http://www.w3.org/ns/formats/microdata, but only if the RDFa format is not defined. --- lib/rdf/microdata/format.rb | 6 +++++- spec/format_spec.rb | 9 +++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/rdf/microdata/format.rb b/lib/rdf/microdata/format.rb index 4973c9a..cfc33df 100644 --- a/lib/rdf/microdata/format.rb +++ b/lib/rdf/microdata/format.rb @@ -26,7 +26,11 @@ class Format < RDF::Format # Only define content type if RDFa is not available. # The Microdata processor will be launched from there # otherwise. - content_type 'text/html;q=0.5', extension: :html unless RDF::Format.for(:rdfa) + unless RDF::Format.for(:rdfa) + content_type 'text/html;q=0.5', + extension: :html, + uri: 'http://www.w3.org/ns/formats/microdata' + end reader { RDF::Microdata::Reader } ## diff --git a/spec/format_spec.rb b/spec/format_spec.rb index 5baacec..4256031 100644 --- a/spec/format_spec.rb +++ b/spec/format_spec.rb @@ -30,8 +30,13 @@ end end - describe "#to_sym" do - specify {expect(described_class.to_sym).to eq :microdata} + # This interferes with RDFa. + #describe "#to_sym" do + # specify {expect(described_class.to_sym).to eq :microdata} + #end + + describe "#to_uri" do + specify {expect(described_class.to_uri).to eq RDF::URI('http://www.w3.org/ns/formats/microdata')} end describe ".detect" do From 634fed26e233ac23a0851060d0bcc76a11097087 Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Wed, 30 Mar 2022 10:11:27 -0700 Subject: [PATCH 02/11] Fix spec. --- spec/format_spec.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/spec/format_spec.rb b/spec/format_spec.rb index 4256031..b00503c 100644 --- a/spec/format_spec.rb +++ b/spec/format_spec.rb @@ -30,12 +30,12 @@ end end - # This interferes with RDFa. - #describe "#to_sym" do - # specify {expect(described_class.to_sym).to eq :microdata} - #end + describe "#to_sym" do + specify {expect(described_class.to_sym).to eq :microdata} + end - describe "#to_uri" do + # This interferes with RDFa. + describe "#to_uri", skip: true do specify {expect(described_class.to_uri).to eq RDF::URI('http://www.w3.org/ns/formats/microdata')} end From 4c610e65ebc516f8de524d6ad0b510e63afcb6dc Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Wed, 4 Jan 2023 13:34:52 -0800 Subject: [PATCH 03/11] CI on 3.2. --- .github/workflows/ci.yml | 10 ++-------- .github/workflows/generate-docs.yml | 2 +- rdf-microdata.gemspec | 2 +- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2832fda..dfcec00 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,16 +19,10 @@ jobs: strategy: fail-fast: false matrix: - ruby: - - 2.6 - - 2.7 - - "3.0" - - 3.1 - - ruby-head - - jruby + ruby: [2.6, 2.7, '3.0', 3.1, 3.2, ruby-head, jruby] steps: - name: Clone repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: diff --git a/.github/workflows/generate-docs.yml b/.github/workflows/generate-docs.yml index b8d16ed..65aea93 100644 --- a/.github/workflows/generate-docs.yml +++ b/.github/workflows/generate-docs.yml @@ -10,7 +10,7 @@ jobs: name: Update gh-pages with docs steps: - name: Clone repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: diff --git a/rdf-microdata.gemspec b/rdf-microdata.gemspec index 3c7fef1..4d25a9c 100755 --- a/rdf-microdata.gemspec +++ b/rdf-microdata.gemspec @@ -31,7 +31,7 @@ Gem::Specification.new do |gem| gem.add_runtime_dependency 'rdf-rdfa', '~> 3.2' gem.add_runtime_dependency 'rdf-xsd', '~> 3.2' gem.add_runtime_dependency 'htmlentities', '~> 4.3' - gem.add_runtime_dependency 'nokogiri' , '~> 1.13' + gem.add_runtime_dependency 'nokogiri' , '~> 1.13', '>= 1.13.4' gem.add_development_dependency 'equivalent-xml' , '~> 0.6' gem.add_development_dependency 'yard' , '~> 0.9' From bc7744a90e894b288c9be75ad97fb721beaed2ae Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Wed, 3 May 2023 14:27:41 -0700 Subject: [PATCH 04/11] Update badges --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 32bd880..63d6a8e 100755 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [Microdata][] parser for RDF.rb. -[![Gem Version](https://badge.fury.io/rb/rdf-microdata.png)](https://badge.fury.io/rb/rdf-microdata) +[![Gem Version](https://badge.fury.io/rb/rdf-microdata.svg)](https://badge.fury.io/rb/rdf-microdata) [![Build Status](https://github.com/ruby-rdf/rdf-microdata/workflows/CI/badge.svg?branch=develop)](https://github.com/ruby-rdf/rdf-microdata/actions?query=workflow%3ACI) [![Coverage Status](https://coveralls.io/repos/ruby-rdf/rdf-microdata/badge.svg?branch=develop)](https://coveralls.io/github/ruby-rdf/rdf-microdata?branch=develop) [![Gitter chat](https://badges.gitter.im/ruby-rdf/rdf.png)](https://gitter.im/ruby-rdf/rdf) From 7c5f8f2b1f4a66a8fc52cf46db669c4389dfa187 Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Wed, 3 May 2023 14:32:12 -0700 Subject: [PATCH 05/11] Pending specs now pass --- spec/rdfa_reader_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/rdfa_reader_spec.rb b/spec/rdfa_reader_spec.rb index e42a11e..15058e2 100644 --- a/spec/rdfa_reader_spec.rb +++ b/spec/rdfa_reader_spec.rb @@ -629,7 +629,7 @@ ], }.each do |name, (md, nt)| - it "parses #{name}", pending: "Broke in Nokogiri 13.0" do + it "parses #{name}" do expect(parse(md)).to be_equivalent_graph(nt, logger: @logger) end end From 5ea34be7eb776a5ab085916eed4ea6ab11ab2ef9 Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Wed, 3 May 2023 14:45:16 -0700 Subject: [PATCH 06/11] Some nokogiri-dependent code works for Ruby >= 2.7. --- lib/rdf/microdata/rdfa_reader.rb | 1 - spec/rdfa_reader_spec.rb | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rdf/microdata/rdfa_reader.rb b/lib/rdf/microdata/rdfa_reader.rb index bdc674f..0ac34aa 100644 --- a/lib/rdf/microdata/rdfa_reader.rb +++ b/lib/rdf/microdata/rdfa_reader.rb @@ -97,7 +97,6 @@ def initialize(input = $stdin, **options, &block) # Add @vocab to referenced using the closest ansestor having @vocab of item. # If the element with id reference has no resource attribute, add a resource attribute whose value is a NUMBER SIGN U+0023 followed by reference to the element. # If the element with id reference has no typeof attribute, add a typeof="rdfa:Pattern" attribute to the element. - # FIXME: This broke in Nokogiri 13.0 referenced.wrap(%(
)) # Add a link child element to the element that represents the item, with a rel="rdfa:copy" attribute and an href attribute whose value is a NUMBER SIGN U+0023 followed by reference diff --git a/spec/rdfa_reader_spec.rb b/spec/rdfa_reader_spec.rb index 15058e2..0403471 100644 --- a/spec/rdfa_reader_spec.rb +++ b/spec/rdfa_reader_spec.rb @@ -630,6 +630,7 @@ ], }.each do |name, (md, nt)| it "parses #{name}" do + pending "Broke in Nokogiri 13.0" if RUBY_VERSION < "2.7" expect(parse(md)).to be_equivalent_graph(nt, logger: @logger) end end From 78cd79b704bcc3524aa3c1639e19e998c63ab4ac Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Sun, 23 Jul 2023 14:39:44 -0700 Subject: [PATCH 07/11] Update dependencies. --- .github/workflows/ci.yml | 2 +- rdf-microdata.gemspec | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dfcec00..b21f432 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,7 +32,7 @@ jobs: - name: Run tests run: ruby --version; bundle exec rspec spec || $ALLOW_FAILURES - name: Coveralls GitHub Action - uses: coverallsapp/github-action@v1.1.2 + uses: coverallsapp/github-action@v2 if: "matrix.ruby == '3.0'" with: github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/rdf-microdata.gemspec b/rdf-microdata.gemspec index 4d25a9c..8c11f99 100755 --- a/rdf-microdata.gemspec +++ b/rdf-microdata.gemspec @@ -28,14 +28,14 @@ Gem::Specification.new do |gem| gem.required_ruby_version = '>= 2.6' gem.requirements = [] gem.add_runtime_dependency 'rdf', '~> 3.2' - gem.add_runtime_dependency 'rdf-rdfa', '~> 3.2' - gem.add_runtime_dependency 'rdf-xsd', '~> 3.2' + gem.add_runtime_dependency 'rdf-rdfa', '~> 3.2', '>= 3.2.3' + gem.add_runtime_dependency 'rdf-xsd', '~> 3.2', '>= 3.2.1' gem.add_runtime_dependency 'htmlentities', '~> 4.3' - gem.add_runtime_dependency 'nokogiri' , '~> 1.13', '>= 1.13.4' + gem.add_runtime_dependency 'nokogiri' , '~> 1.15', '>= 1.15.3' gem.add_development_dependency 'equivalent-xml' , '~> 0.6' gem.add_development_dependency 'yard' , '~> 0.9' - gem.add_development_dependency 'rspec', '~> 3.10' + gem.add_development_dependency 'rspec', '~> 3.12' gem.add_development_dependency 'rspec-its', '~> 1.3' gem.add_development_dependency 'rdf-spec', '~> 3.2' From 63c57df729d4a185e1bc6d4da188fb9bac5e43b2 Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Sun, 23 Jul 2023 15:43:33 -0700 Subject: [PATCH 08/11] Revert nokogiri dependency to 1.13 due to Ruby 2.6. --- rdf-microdata.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rdf-microdata.gemspec b/rdf-microdata.gemspec index 8c11f99..3281819 100755 --- a/rdf-microdata.gemspec +++ b/rdf-microdata.gemspec @@ -31,7 +31,7 @@ Gem::Specification.new do |gem| gem.add_runtime_dependency 'rdf-rdfa', '~> 3.2', '>= 3.2.3' gem.add_runtime_dependency 'rdf-xsd', '~> 3.2', '>= 3.2.1' gem.add_runtime_dependency 'htmlentities', '~> 4.3' - gem.add_runtime_dependency 'nokogiri' , '~> 1.15', '>= 1.15.3' + gem.add_runtime_dependency 'nokogiri' , '~> 1.13', '>= 1.13.8' gem.add_development_dependency 'equivalent-xml' , '~> 0.6' gem.add_development_dependency 'yard' , '~> 0.9' From 20a9af8373f0387dc77b67985e57d5c7e8191203 Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Sat, 26 Aug 2023 12:37:34 -0700 Subject: [PATCH 09/11] Updates for version 3.3.0 with minimum Ruby version 3.0. Updates Nokogiri to 1.15 to address vulnerability. --- .github/workflows/ci.yml | 4 ++-- Gemfile | 2 +- README.md | 6 +++--- rdf-microdata.gemspec | 12 ++++++------ 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b21f432..6d1b24c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: [2.6, 2.7, '3.0', 3.1, 3.2, ruby-head, jruby] + ruby: ['3.0', 3.1, 3.2, ruby-head, jruby] steps: - name: Clone repository uses: actions/checkout@v3 @@ -33,6 +33,6 @@ jobs: run: ruby --version; bundle exec rspec spec || $ALLOW_FAILURES - name: Coveralls GitHub Action uses: coverallsapp/github-action@v2 - if: "matrix.ruby == '3.0'" + if: "matrix.ruby == '3.2'" with: github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/Gemfile b/Gemfile index f4d64cd..e6160a0 100644 --- a/Gemfile +++ b/Gemfile @@ -22,6 +22,6 @@ group :debug do end group :test do - gem 'simplecov', '~> 0.21', platforms: :mri + gem 'simplecov', '~> 0.22', platforms: :mri gem 'simplecov-lcov', '~> 0.8', platforms: :mri end diff --git a/README.md b/README.md index 63d6a8e..7a12355 100755 --- a/README.md +++ b/README.md @@ -46,11 +46,11 @@ GRDDL-type triple generation, such as for html>head>title anchor tags. If the `RDFa` parser is available, {RDF::Microdata::Format} will not assert content type `text/html` or file extension `.html`, as this is also asserted by RDFa. Instead, the RDFa reader will invoke the microdata reader if an `@itemscope` attribute is detected. ## Dependencies -* [RDF.rb](https://rubygems.org/gems/rdf) (~> 3.2) -* [RDF::RDFa](https://rubygems.org/gems/rdf-xsd) (~> 3.2) +* [RDF.rb](https://rubygems.org/gems/rdf) (~> 3.3) +* [RDF::RDFa](https://rubygems.org/gems/rdf-xsd) (~> 3.3) * [RDF::XSD](https://rubygems.org/gems/rdf-xsd) (~> 3.2) * [HTMLEntities](https://rubygems.org/gems/htmlentities) ('~> 4.3') -* [Nokogiri](https://rubygems.org/gems/nokogiri) (~> 1.12) +* [Nokogiri](https://rubygems.org/gems/nokogiri) (~> 1.15) ## Documentation Full documentation available on [Rubydoc.info][Microdata doc] diff --git a/rdf-microdata.gemspec b/rdf-microdata.gemspec index 3281819..cd7e025 100755 --- a/rdf-microdata.gemspec +++ b/rdf-microdata.gemspec @@ -25,13 +25,13 @@ Gem::Specification.new do |gem| gem.files = %w(AUTHORS README.md UNLICENSE VERSION) + Dir.glob('lib/**/*.rb') + Dir.glob('etc/*') gem.require_paths = %w(lib) - gem.required_ruby_version = '>= 2.6' + gem.required_ruby_version = '>= 3.0' gem.requirements = [] - gem.add_runtime_dependency 'rdf', '~> 3.2' - gem.add_runtime_dependency 'rdf-rdfa', '~> 3.2', '>= 3.2.3' + gem.add_runtime_dependency 'rdf', '~> 3.3' + gem.add_runtime_dependency 'rdf-rdfa', '~> 3.3' gem.add_runtime_dependency 'rdf-xsd', '~> 3.2', '>= 3.2.1' gem.add_runtime_dependency 'htmlentities', '~> 4.3' - gem.add_runtime_dependency 'nokogiri' , '~> 1.13', '>= 1.13.8' + gem.add_runtime_dependency 'nokogiri' , '~> 1.15', '>= 1.15.4' gem.add_development_dependency 'equivalent-xml' , '~> 0.6' gem.add_development_dependency 'yard' , '~> 0.9' @@ -40,8 +40,8 @@ Gem::Specification.new do |gem| gem.add_development_dependency 'rdf-spec', '~> 3.2' gem.add_development_dependency 'rdf-turtle', '~> 3.2' - gem.add_development_dependency 'rdf-isomorphic', '~> 3.2' - gem.add_development_dependency 'json-ld', '~> 3.2' + gem.add_development_dependency 'rdf-isomorphic', '~> 3.3' + gem.add_development_dependency 'json-ld', '~> 3.3' gem.post_install_message = nil end From 22d5625f238f3f41483928ee43aa08481c49bf5b Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Sun, 27 Aug 2023 13:33:00 -0700 Subject: [PATCH 10/11] Update dependencies. --- rdf-microdata.gemspec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rdf-microdata.gemspec b/rdf-microdata.gemspec index cd7e025..d3d09b4 100755 --- a/rdf-microdata.gemspec +++ b/rdf-microdata.gemspec @@ -29,7 +29,7 @@ Gem::Specification.new do |gem| gem.requirements = [] gem.add_runtime_dependency 'rdf', '~> 3.3' gem.add_runtime_dependency 'rdf-rdfa', '~> 3.3' - gem.add_runtime_dependency 'rdf-xsd', '~> 3.2', '>= 3.2.1' + gem.add_runtime_dependency 'rdf-xsd', '~> 3.3' gem.add_runtime_dependency 'htmlentities', '~> 4.3' gem.add_runtime_dependency 'nokogiri' , '~> 1.15', '>= 1.15.4' @@ -38,8 +38,8 @@ Gem::Specification.new do |gem| gem.add_development_dependency 'rspec', '~> 3.12' gem.add_development_dependency 'rspec-its', '~> 1.3' - gem.add_development_dependency 'rdf-spec', '~> 3.2' - gem.add_development_dependency 'rdf-turtle', '~> 3.2' + gem.add_development_dependency 'rdf-spec', '~> 3.3' + gem.add_development_dependency 'rdf-turtle', '~> 3.3' gem.add_development_dependency 'rdf-isomorphic', '~> 3.3' gem.add_development_dependency 'json-ld', '~> 3.3' From e3ef09802dc17bd8d3eff63a84b60e5628ec73bf Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Sun, 27 Aug 2023 14:15:45 -0700 Subject: [PATCH 11/11] Update version to 3.3.0. --- README.md | 2 +- VERSION | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7a12355..3801b35 100755 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ If the `RDFa` parser is available, {RDF::Microdata::Format} will not assert cont ## Dependencies * [RDF.rb](https://rubygems.org/gems/rdf) (~> 3.3) * [RDF::RDFa](https://rubygems.org/gems/rdf-xsd) (~> 3.3) -* [RDF::XSD](https://rubygems.org/gems/rdf-xsd) (~> 3.2) +* [RDF::XSD](https://rubygems.org/gems/rdf-xsd) (~> 3.3) * [HTMLEntities](https://rubygems.org/gems/htmlentities) ('~> 4.3') * [Nokogiri](https://rubygems.org/gems/nokogiri) (~> 1.15) diff --git a/VERSION b/VERSION index e4604e3..15a2799 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.2.1 +3.3.0