module Docs class Ocaml < UrlScraper self.name = 'OCaml' self.type = 'ocaml' self.root_path = 'index.html' self.links = { home: 'https://ocaml.org/', code: 'https://github.com/ocaml/ocaml' } html_filters.push 'ocaml/entries', 'ocaml/clean_html' options[:skip] = %w( libref/index.html ) options[:skip_patterns] = [ /\Acompilerlibref\//, /\Aapi\/type_/, /\Aapi\/Stdlib\.\w+\.html/, ] options[:attribution] = <<-HTML © 1995-2024 INRIA. HTML version '' do self.release = '5.2' self.base_url = "https://ocaml.org/manual/#{self.release}/" end version '5.0' do self.release = '5.0' self.base_url = "https://v2.ocaml.org/releases/#{self.release}/htmlman/" end version '4.14' do self.release = '4.14' self.base_url = "https://v2.ocaml.org/releases/#{self.release}/htmlman/" end def get_latest_version(opts) get_latest_github_release('ocaml', 'ocaml', opts) end private def parse(response) # Hook here because Nokogori removes whitespace from code fragments response.body.gsub! %r{
\2' super end end end