diff --git a/lib/docs/core/scraper.rb b/lib/docs/core/scraper.rb index bee6347f..836734f0 100644 --- a/lib/docs/core/scraper.rb +++ b/lib/docs/core/scraper.rb @@ -154,6 +154,15 @@ module Docs Parser.new(string).html end + def with_filters(*filters) + stack = FilterStack.new + stack.push(*filters) + pipeline.instance_variable_set :@filters, stack.to_a.freeze + yield + ensure + @pipeline = nil + end + module StubRootPage private diff --git a/lib/docs/core/scrapers/url_scraper.rb b/lib/docs/core/scrapers/url_scraper.rb index 7092de01..68436281 100644 --- a/lib/docs/core/scrapers/url_scraper.rb +++ b/lib/docs/core/scrapers/url_scraper.rb @@ -42,11 +42,9 @@ module Docs end module ClassMethods - attr_accessor :fix_redirections attr_reader :redirections def store_pages(store) - return super unless fix_redirections instrument 'info.doc', msg: 'Fetching redirections...' with_redirections do instrument 'info.doc', msg: 'Building pages...' @@ -84,17 +82,6 @@ module Docs def additional_options { redirections: self.class.redirections } end - - def with_filters(*filters) - stack = FilterStack.new - stack.push(*filters) - pipeline.instance_variable_set :@filters, stack.to_a.freeze - yield - ensure - @pipeline = nil - end end - - include FixRedirectionsBehavior end end diff --git a/lib/docs/scrapers/mdn/dom.rb b/lib/docs/scrapers/mdn/dom.rb index ed57a3eb..116a1d36 100644 --- a/lib/docs/scrapers/mdn/dom.rb +++ b/lib/docs/scrapers/mdn/dom.rb @@ -1,8 +1,9 @@ module Docs class Dom < Mdn + include FixRedirectionsBehavior + self.name = 'DOM' self.base_url = 'https://developer.mozilla.org/en-US/docs/Web/API' - self.fix_redirections = true html_filters.push 'dom/clean_html', 'dom/entries', 'title' diff --git a/lib/docs/scrapers/mdn/svg.rb b/lib/docs/scrapers/mdn/svg.rb index 7fb1df48..6e038b5b 100644 --- a/lib/docs/scrapers/mdn/svg.rb +++ b/lib/docs/scrapers/mdn/svg.rb @@ -1,8 +1,9 @@ module Docs class Svg < Mdn + include FixRedirectionsBehavior + self.name = 'SVG' self.base_url = 'https://developer.mozilla.org/en-US/docs/Web/SVG' - self.fix_redirections = true html_filters.push 'svg/clean_html', 'svg/entries', 'title'