瀏覽代碼

feat: varnish chedckout

Terry Cai 2 年之前
父節點
當前提交
8e5c9bbc56

+ 60 - 0
lib/docs/filters/varnish/entries.rb

@@ -0,0 +1,60 @@
+module Docs
+  class Varnish
+    class EntriesFilter < Docs::EntriesFilter
+      TYPE_BY_SLUG = {}
+
+      def call
+        if root_page?
+          css('.section').each do |node|
+            type = node.at_css('h2').content[0..-2]
+            node.css('li > a').each do |n|
+              s = n['href'].split('/')[-2]
+              TYPE_BY_SLUG[s] = type
+            end
+          end
+        end
+        super
+      end
+
+      def get_name
+        at_css('h1').content[0..-2]
+      end
+
+      def get_type
+        case slug
+        when /installation/
+          'Installation'
+        when /users-guide/
+          'Users Guide'
+        when /tutorial/
+          'Tutorial'
+        when /reference/
+          'Reference Manual'
+        when /dev-guide/
+          'Dev Guide'
+        else
+          TYPE_BY_SLUG[slug.split('/').first] || 'Other'
+        end
+      end
+
+      def include_default_entry?
+        slug != 'reference/'
+      end
+
+      def additional_entries
+        entries = []
+
+        css('dl.class > dt[id]').each do |node|
+          name = node['id'].split('.').last
+          id = node['id']
+          type = node['id'].split('.')[0..-2].join('.')
+          entries << [name, id, type]
+        end
+
+
+        entries
+      end
+
+    end
+  end
+end

+ 40 - 0
lib/docs/scrapers/varnish.rb

@@ -0,0 +1,40 @@
+module Docs
+  class Varnish < UrlScraper
+    self.name = 'Varnish'
+    self.type = 'sphinx'
+
+    self.root_path = 'index.html'
+    self.links = {
+      home: 'https://varnish-cache.org/',
+      code: 'https://github.com/varnishcache/varnish-cache'
+    }
+
+
+    html_filters.push 'varnish/entries', 'sphinx/clean_html'
+
+    options[:container] = '.body > section'
+
+
+    options[:skip] = %w(genindex.html search.html)
+
+    options[:skip_patterns] = [/phk/, /glossary/, /whats-new/]
+
+
+    options[:attribution] = <<-HTML
+      Copyright &copy; 2006 Verdens Gang AS<br>
+      Copyright &copy; 2006&ndash;2020 Varnish Software AS<br>
+      Licensed under the BSD-2-Clause License.
+    HTML
+
+    version do
+      self.release = '7.3.0'
+      self.base_url = 'https://varnish-cache.org/docs/7.3/'
+    end
+
+    def get_latest_version(opts)
+      contents = get_github_file_contents('varnishcache', 'varnish-cache', 'doc/changes.rst', opts)
+      contents.scan(/Varnish\s+Cache\s+([0-9.]+)/)[0][0]
+    end
+
+  end
+end

二進制
public/icons/docs/varnish/16.png


二進制
public/icons/docs/varnish/16@2x.png


+ 1 - 0
public/icons/docs/varnish/SOURCE

@@ -0,0 +1 @@
+https://www.varnish-software.com/branding/