98 lines · 2.6 KB · Ruby
RawDownload
module Docs  class D3 < UrlScraper    self.name = 'D3.js'    self.slug = 'd3'    self.type = 'd3'    self.links = {      home: 'https://d3js.org/',      code: 'https://github.com/d3/d3'    }     options[:max_image_size] = 150_000    options[:container] = '.markdown-body'     options[:attribution] = <<-HTML      &copy; 2010&ndash;2023 Michael Bostock<br>      Licensed under the BSD License.    HTML     version '7' do      self.release = '7.8.1'      self.base_url = 'https://github.com/d3/'      self.root_path = 'd3/blob/master/API.md'       html_filters.push 'd3/clean_html', 'd3/entries_v4'       options[:only_patterns] = [/\Ad3[\-\w]+\z/, /\Ad3\/blob\/master\/changes\.md\z/i]      options[:skip_patterns] = [/3\.x-api-reference/]       options[:fix_urls] = ->(url) do        url.sub! %r{/blob/master/readme.md}i, ''        url      end    end     version '6' do      self.release = '6.7.0'      self.base_url = 'https://github.com/d3/'      self.root_path = 'd3/blob/master/API.md'       html_filters.push 'd3/clean_html', 'd3/entries_v4'       options[:only_patterns] = [/\Ad3[\-\w]+\z/, /\Ad3\/blob\/master\/changes\.md\z/i]      options[:skip_patterns] = [/3\.x-api-reference/]       options[:fix_urls] = ->(url) do        url.sub! %r{/blob/master/readme.md}i, ''        url      end    end     version '5' do      self.release = '5.7.0'      self.base_url = 'https://github.com/d3/'      self.root_path = 'd3/blob/master/API.md'       html_filters.push 'd3/clean_html', 'd3/entries_v4'       options[:only_patterns] = [/\Ad3[\-\w]+\z/, /\Ad3\/blob\/master\/changes\.md\z/i]      options[:skip_patterns] = [/3\.x-api-reference/]       options[:fix_urls] = ->(url) do        url.sub! %r{/blob/master/readme.md}i, ''        url      end    end     version '4' do      self.release = '4.12.2'      self.base_url = 'https://github.com/d3/'      self.root_path = 'd3/blob/master/API.md'       html_filters.push 'd3/clean_html', 'd3/entries_v4'       options[:only_patterns] = [/\Ad3[\-\w]+\z/, /\Ad3\/blob\/master\/changes\.md\z/i]      options[:skip_patterns] = [/3\.x-api-reference/]       options[:fix_urls] = ->(url) do        url.sub! %r{/blob/master/readme.md}i, ''        url      end    end     version '3' do      self.release = '3.5.17'      self.base_url = 'https://github.com/d3/d3-3.x-api-reference/blob/master/'      self.root_path = 'API-Reference.md'       html_filters.push 'd3/clean_html', 'd3/entries_v3', 'title'       options[:root_title] = 'D3.js'      options[:only_patterns] = [/\.md\z/]    end     def get_latest_version(opts)      get_npm_version('d3', opts)    end  endend