module Docs
class R < FileScraper
self.name = 'R'
self.slug = 'r'
self.type = 'simple'
self.release = '4.1.0'
self.links = {
home: 'https://www.r-project.org/',
code: 'https://svn.r-project.org/R/'
}
self.root_path = 'doc/html/packages.html'
html_filters.push 'r/entries', 'r/clean_html'
options[:skip_links] = false
options[:attribution] = <<-HTML
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.
HTML
# Never want those
options[:skip_patterns] = [
/\/DESCRIPTION$/,
/\/NEWS(\.[^\/]*)?$/,
/\/doc\/index\.html$/,
/\/demo$/,
/\.pdf$/
]
options[:replace_paths] = {
## We want to fix links like so − but only if the targets don’t exist:
# 'library/MASS/html/cov.mve.html' => 'library/MASS/html/cov.rob.html'
## Paths for target packages or keywords that do not have their own file
## are generated in the entries filter from 00Index.html files
}
options[:skip] = %w(
doc/html/packages-head-utf8.html
doc/html/SearchOn.html
doc/html/Search.html
doc/html/UserManuals.html
doc/html/faq.html
doc/manual/R-FAQ.html
doc/manual/R-admin.html
doc/manual/R-exts.html
doc/manual/R-ints.html
doc/manual/R-lang.html
)
def get_latest_version(opts)
body = fetch('https://cran.r-project.org/src/base/NEWS', opts)
body.match(/CHANGES IN R ([\d.]+):/)[1]
end
end
end