From 505c9d893ba67d9690fa9a60f4d7e02ace8ea2c7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 06:32:23 +0000 Subject: [PATCH 1/3] Update html-pipeline requirement from ~> 2.0 to >= 2, < 4 Updates the requirements on [html-pipeline](https://github.com/gjtorikian/html-pipeline) to permit the latest version. - [Release notes](https://github.com/gjtorikian/html-pipeline/releases) - [Changelog](https://github.com/gjtorikian/html-pipeline/blob/main/CHANGELOG.md) - [Commits](https://github.com/gjtorikian/html-pipeline/compare/v2.0...v2.14.3) --- updated-dependencies: - dependency-name: html-pipeline dependency-version: 2.14.3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- qiita-markdown.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qiita-markdown.gemspec b/qiita-markdown.gemspec index 47e4920..b265aa4 100644 --- a/qiita-markdown.gemspec +++ b/qiita-markdown.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |spec| spec.add_dependency "addressable" spec.add_dependency "gemoji" spec.add_dependency "github-linguist", "~> 7.0" - spec.add_dependency "html-pipeline", "~> 2.0" + spec.add_dependency "html-pipeline", ">= 2", "< 4" spec.add_dependency "mem" spec.add_dependency "qiita_marker", "~> 0.23.9" spec.add_dependency "rouge", "~> 4.2" From 516c585d9c049124ed527b05479c620ddb098633 Mon Sep 17 00:00:00 2001 From: getty104 Date: Tue, 3 Jun 2025 12:21:31 +0900 Subject: [PATCH 2/3] Update the html-pipeline require statement --- lib/qiita/markdown.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/qiita/markdown.rb b/lib/qiita/markdown.rb index 8b1f362..ae84706 100644 --- a/lib/qiita/markdown.rb +++ b/lib/qiita/markdown.rb @@ -1,5 +1,5 @@ require "cgi" -require "html/pipeline" +require "html_pipeline" require "linguist" require "mem" require "nokogiri" From 18bdbfd07e8863a9edbbbf50b420e35ca67add11 Mon Sep 17 00:00:00 2001 From: getty104 Date: Mon, 9 Jun 2025 11:52:57 +0900 Subject: [PATCH 3/3] Update the HTMLPipelineFilter references to use the new class name --- lib/qiita/markdown/base_processor.rb | 2 +- lib/qiita/markdown/filters/checkbox.rb | 2 +- lib/qiita/markdown/filters/code_block.rb | 2 +- lib/qiita/markdown/filters/custom_block.rb | 2 +- lib/qiita/markdown/filters/external_link.rb | 2 +- lib/qiita/markdown/filters/final_sanitizer.rb | 2 +- lib/qiita/markdown/filters/footnote.rb | 2 +- lib/qiita/markdown/filters/group_mention.rb | 2 +- lib/qiita/markdown/filters/heading_anchor.rb | 2 +- lib/qiita/markdown/filters/html_toc.rb | 2 +- lib/qiita/markdown/filters/image_link.rb | 2 +- lib/qiita/markdown/filters/inline_code_color.rb | 2 +- lib/qiita/markdown/filters/simplify.rb | 2 +- lib/qiita/markdown/filters/syntax_highlight.rb | 2 +- lib/qiita/markdown/filters/toc.rb | 2 +- lib/qiita/markdown/filters/truncate.rb | 2 +- lib/qiita/markdown/filters/user_input_sanitizer.rb | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/lib/qiita/markdown/base_processor.rb b/lib/qiita/markdown/base_processor.rb index 1d83ced..d6f22cb 100644 --- a/lib/qiita/markdown/base_processor.rb +++ b/lib/qiita/markdown/base_processor.rb @@ -33,7 +33,7 @@ def call(input, context = {}) end # @note Modify filters if you want. - # @return [Array] + # @return [Array] def filters @filters ||= self.class.default_filters end diff --git a/lib/qiita/markdown/filters/checkbox.rb b/lib/qiita/markdown/filters/checkbox.rb index c014afc..d3b01f5 100644 --- a/lib/qiita/markdown/filters/checkbox.rb +++ b/lib/qiita/markdown/filters/checkbox.rb @@ -7,7 +7,7 @@ module Filters # * [ ] Bar # * [ ] Baz # - class Checkbox < HTML::Pipeline::Filter + class Checkbox < ::HTMLPipelineFilter def call doc.search("li").each do |li| list = List.new(li) diff --git a/lib/qiita/markdown/filters/code_block.rb b/lib/qiita/markdown/filters/code_block.rb index d10eed3..e8444f2 100644 --- a/lib/qiita/markdown/filters/code_block.rb +++ b/lib/qiita/markdown/filters/code_block.rb @@ -12,7 +12,7 @@ module Filters # 3. Adds detected code data into `result[:codes]`. # # You can pass language aliases table via context[:language_aliases]. - class CodeBlock < HTML::Pipeline::Filter + class CodeBlock < ::HTMLPipelineFilter def call result[:codes] ||= [] doc.search("pre").each do |pre| diff --git a/lib/qiita/markdown/filters/custom_block.rb b/lib/qiita/markdown/filters/custom_block.rb index b883aac..63a9675 100644 --- a/lib/qiita/markdown/filters/custom_block.rb +++ b/lib/qiita/markdown/filters/custom_block.rb @@ -3,7 +3,7 @@ module Qiita module Markdown module Filters - class CustomBlock < HTML::Pipeline::Filter + class CustomBlock < ::HTMLPipelineFilter ALLOWED_TYPES = %w[note].freeze def call diff --git a/lib/qiita/markdown/filters/external_link.rb b/lib/qiita/markdown/filters/external_link.rb index cbeb082..0bfe271 100644 --- a/lib/qiita/markdown/filters/external_link.rb +++ b/lib/qiita/markdown/filters/external_link.rb @@ -3,7 +3,7 @@ module Qiita module Markdown module Filters - class ExternalLink < HTML::Pipeline::Filter + class ExternalLink < ::HTMLPipelineFilter def call doc.search("a").each do |anchor| next unless anchor["href"] diff --git a/lib/qiita/markdown/filters/final_sanitizer.rb b/lib/qiita/markdown/filters/final_sanitizer.rb index 878508f..56253f9 100644 --- a/lib/qiita/markdown/filters/final_sanitizer.rb +++ b/lib/qiita/markdown/filters/final_sanitizer.rb @@ -11,7 +11,7 @@ module Filters # generated by other filters. # # @see Qiita::Markdown::Filters::UserInputSanitizerr - class FinalSanitizer < ::HTML::Pipeline::Filter + class FinalSanitizer < ::HTMLPipelineFilter RULE = { attributes: { "a" => %w[ diff --git a/lib/qiita/markdown/filters/footnote.rb b/lib/qiita/markdown/filters/footnote.rb index 351e698..0debbb2 100644 --- a/lib/qiita/markdown/filters/footnote.rb +++ b/lib/qiita/markdown/filters/footnote.rb @@ -1,7 +1,7 @@ module Qiita module Markdown module Filters - class Footnote < HTML::Pipeline::Filter + class Footnote < ::HTMLPipelineFilter def call doc.search("sup > a").each do |a| footnote = find_footnote(a) diff --git a/lib/qiita/markdown/filters/group_mention.rb b/lib/qiita/markdown/filters/group_mention.rb index 7389d25..e550961 100644 --- a/lib/qiita/markdown/filters/group_mention.rb +++ b/lib/qiita/markdown/filters/group_mention.rb @@ -1,7 +1,7 @@ module Qiita module Markdown module Filters - class GroupMention < HTML::Pipeline::Filter + class GroupMention < ::HTMLPipelineFilter # @note Override def call if context[:group_mention_url_generator] diff --git a/lib/qiita/markdown/filters/heading_anchor.rb b/lib/qiita/markdown/filters/heading_anchor.rb index 01891aa..64cc96d 100644 --- a/lib/qiita/markdown/filters/heading_anchor.rb +++ b/lib/qiita/markdown/filters/heading_anchor.rb @@ -3,7 +3,7 @@ module Qiita module Markdown module Filters - class HeadingAnchor < ::HTML::Pipeline::Filter + class HeadingAnchor < ::HTMLPipelineFilter def call doc.search("h1, h2, h3, h4, h5, h6").each do |heading| heading["id"] = suffixed_id(heading) diff --git a/lib/qiita/markdown/filters/html_toc.rb b/lib/qiita/markdown/filters/html_toc.rb index 346f7ba..b366f6c 100644 --- a/lib/qiita/markdown/filters/html_toc.rb +++ b/lib/qiita/markdown/filters/html_toc.rb @@ -3,7 +3,7 @@ module Qiita module Markdown module Filters - class HtmlToc < ::HTML::Pipeline::Filter + class HtmlToc < ::HTMLPipelineFilter # @return [Nokogiri::HTML::DocumentFragment] def call headings = doc.search("h1, h2, h3, h4, h5, h6") diff --git a/lib/qiita/markdown/filters/image_link.rb b/lib/qiita/markdown/filters/image_link.rb index f8bdba9..3ebe170 100644 --- a/lib/qiita/markdown/filters/image_link.rb +++ b/lib/qiita/markdown/filters/image_link.rb @@ -1,7 +1,7 @@ module Qiita module Markdown module Filters - class ImageLink < HTML::Pipeline::Filter + class ImageLink < ::HTMLPipelineFilter def call doc.search("img").each do |img| next if img.ancestors.any? { |ancestor| ancestor.name == "a" } diff --git a/lib/qiita/markdown/filters/inline_code_color.rb b/lib/qiita/markdown/filters/inline_code_color.rb index 1505363..2854ac3 100644 --- a/lib/qiita/markdown/filters/inline_code_color.rb +++ b/lib/qiita/markdown/filters/inline_code_color.rb @@ -1,7 +1,7 @@ module Qiita module Markdown module Filters - class InlineCodeColor < HTML::Pipeline::Filter + class InlineCodeColor < ::HTMLPipelineFilter DEFAULT_CLASS_NAME = "inline-code-color".freeze REGEXPS = Regexp.union( diff --git a/lib/qiita/markdown/filters/simplify.rb b/lib/qiita/markdown/filters/simplify.rb index 1d66b40..4625827 100644 --- a/lib/qiita/markdown/filters/simplify.rb +++ b/lib/qiita/markdown/filters/simplify.rb @@ -14,7 +14,7 @@ module Filters # want to clean up only some elements, and they would be run in the # `FinalSanitizer` filter later. # https://github.com/rgrove/sanitize/blob/v3.1.2/lib/sanitize.rb#L77-L100 - class Simplify < HTML::Pipeline::Filter + class Simplify < ::HTMLPipelineFilter SIMPLE_ELEMENTS = %w[a b code em i ins q s samp span strike strong sub sup var] COMPLEX_CONTENT_ELEMENTS = %w[table] diff --git a/lib/qiita/markdown/filters/syntax_highlight.rb b/lib/qiita/markdown/filters/syntax_highlight.rb index 5c50a5e..9059251 100644 --- a/lib/qiita/markdown/filters/syntax_highlight.rb +++ b/lib/qiita/markdown/filters/syntax_highlight.rb @@ -1,7 +1,7 @@ module Qiita module Markdown module Filters - class SyntaxHighlight < HTML::Pipeline::Filter + class SyntaxHighlight < ::HTMLPipelineFilter DEFAULT_LANGUAGE = "text" DEFAULT_TIMEOUT = Float::INFINITY DEFAULT_OPTION = "html_legacy" diff --git a/lib/qiita/markdown/filters/toc.rb b/lib/qiita/markdown/filters/toc.rb index 7d2230d..1ab9d61 100644 --- a/lib/qiita/markdown/filters/toc.rb +++ b/lib/qiita/markdown/filters/toc.rb @@ -1,7 +1,7 @@ module Qiita module Markdown module Filters - class Toc < HTML::Pipeline::Filter + class Toc < ::HTMLPipelineFilter def call doc.css("h1[id], h2[id], h3[id], h4[id], h5[id], h6[id]").each do |node| Heading.new(node).decorate diff --git a/lib/qiita/markdown/filters/truncate.rb b/lib/qiita/markdown/filters/truncate.rb index 9906c60..7eb425f 100644 --- a/lib/qiita/markdown/filters/truncate.rb +++ b/lib/qiita/markdown/filters/truncate.rb @@ -8,7 +8,7 @@ module Filters # # @example # Truncate.new(doc, truncate: { length: 50, omission: '... (continued)' }) - class Truncate < HTML::Pipeline::Filter + class Truncate < ::HTMLPipelineFilter DEFAULT_OPTIONS = { length: 100, omission: "…".freeze, diff --git a/lib/qiita/markdown/filters/user_input_sanitizer.rb b/lib/qiita/markdown/filters/user_input_sanitizer.rb index ca94082..4815a06 100644 --- a/lib/qiita/markdown/filters/user_input_sanitizer.rb +++ b/lib/qiita/markdown/filters/user_input_sanitizer.rb @@ -4,7 +4,7 @@ module Qiita module Markdown module Filters # Sanitizes user input if :strict context is given. - class UserInputSanitizer < ::HTML::Pipeline::Filter + class UserInputSanitizer < ::HTMLPipelineFilter RULE = { elements: %w[ a b blockquote br caption code dd del details div dl dt em font h1 h2 h3 h4 h5 h6