module Docs class Sqlite < FileScraper self.name = 'SQLite' self.type = 'sqlite' self.release = '3.38.0' self.base_url = 'https://sqlite.org/' self.root_path = 'docs.html' self.initial_paths = %w(keyword_index.html) self.links = { home: 'https://sqlite.org/', code: 'https://www.sqlite.org/src/' } html_filters.insert_before 'clean_html', 'sqlite/clean_js_tables' html_filters.push 'sqlite/entries', 'sqlite/clean_html' options[:clean_text] = false # keep SVG elements options[:only_patterns] = [/\.html\z/] options[:skip_patterns] = [/releaselog/, /consortium/] options[:skip] = %w( index.html about.html download.html copyright.html support.html prosupport.html hp1.html news.html oldnews.html doclist.html dev.html chronology.html not-found.html famous.html books.html crew.html mostdeployed.html requirements.html session/intro.html syntax.html src/doc/trunk/doc/lemon.html ) options[:attribution] = 'SQLite is in the Public Domain.' def get_latest_version(opts) doc = fetch_doc('https://sqlite.org/chronology.html', opts) doc.at_css('#chrontab > tbody > tr > td:last-child > a').content end private def parse(response) response.body.gsub! %r{(]*>[^<]+)}, '\1' super end end end