You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
devdocs/lib/docs/scrapers/mdn/mdn.rb

36 lines
1.0 KiB

11 years ago
module Docs
class Mdn < UrlScraper
self.abstract = true
self.type = 'mdn'
params[:raw] = 1
params[:macros] = 1
html_filters.push 'mdn/clean_html'
11 years ago
text_filters.insert_before 'attribution', 'mdn/contribute_link'
options[:rate_limit] = 200
11 years ago
options[:trailing_slash] = false
options[:skip_link] = ->(link) {
8 years ago
link['title'].try(:include?, 'not yet been written'.freeze) && !link['href'].try(:include?, 'transform-function'.freeze)
}
options[:attribution] = <<-HTML
&copy; 2005&ndash;2018 Mozilla Developer Network and individual contributors.<br>
11 years ago
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
HTML
def get_latest_version(opts)
json = fetch_json("https://developer.mozilla.org/en-US/docs/feeds/json/tag/#{options[:mdn_tag]}", opts)
DateTime.parse(json[0]['pubdate']).to_time.to_i
end
11 years ago
private
def process_response?(response)
super && response.effective_url.query == 'raw=1&macros=1'
end
end
end