| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- module Docs
- class Graphviz < UrlScraper
- self.name = 'Graphviz'
- self.slug = 'graphviz'
- self.type = 'simple'
- self.links = {
- home: 'https://www.graphviz.org/',
- code: 'https://gitlab.com/graphviz/graphviz'
- }
- options[:container] = 'main'
- # These images are too large:
- # 980KB https://www.graphviz.org/doc/info/plugins.png
- # 650KB https://www.graphviz.org/Gallery/twopi/twopi2.svg
- # All other files are under 100KB
- options[:max_image_size] = 100_000
- # TODO: the UrlScraper is very unreliable on this website.
- # I often get several errors:
- # - SSL connect error
- # - Failure when receiving data from the peer
- # - was slow to process (30s)
- # Setting a :rate_limit doesn't help.
- # We have to figure out a more reliable solution.
- #options[:rate_limit] = 100
- options[:attribution] = <<-HTML
- © 2025 The Graphviz Authors<br>
- Licensed under the Eclipse Public License 1.0.
- HTML
- html_filters.push 'graphviz/entries', 'graphviz/clean_html'
- self.release = '14.01'
- self.base_url = 'https://www.graphviz.org/'
- self.root_path = 'documentation/'
- options[:only_patterns] = [
- /^documentation\//,
- /^doc\//,
- /^docs\//,
- ]
- options[:replace_paths] = {
- # Redirections:
- 'docs/outputs/cmap/' => 'docs/outputs/imap/',
- 'doc/info/output.html' => 'docs/outputs/',
- }
- def get_latest_version(opts)
- tags = get_gitlab_tags('gitlab.com', 'graphviz', 'graphviz', opts)
- tags[0]['name']
- end
- end
- end
|