Explorar o código

Finish Falcon scraper

Thibaut Courouble %!s(int64=8) %!d(string=hai) anos
pai
achega
899aee8339

BIN=BIN
assets/images/docs-2.png


BIN=BIN
assets/images/docs-2@2x.png


+ 1 - 1
assets/javascripts/news.json

@@ -1,7 +1,7 @@
 [
   [
     "2017-06-04",
-    "New documentations: <a href=\"/electron/\">Electron</a>, <a href=\"/pug/\">Pug</a>"
+    "New documentations: <a href=\"/electron/\">Electron</a>, <a href=\"/pug/\">Pug</a>, and <a href=\"/falcon/\">Falcon</a>"
   ], [
     "2017-05-14",
     "New documentations: <a href=\"/jest/\">Jest</a>, <a href=\"/jasmine/\">Jasmine</a> and <a href=\"/liquid/\">Liquid</a>"

+ 5 - 0
assets/javascripts/templates/pages/about_tmpl.coffee

@@ -243,6 +243,11 @@ credits = [
     '2016 StrongLoop, IBM, and other expressjs.com contributors.',
     'CC BY-SA',
     'https://raw.githubusercontent.com/expressjs/expressjs.com/gh-pages/LICENSE.md'
+  ], [
+    'Falcon',
+    '2012-2016 by Rackspace Hosting, Inc. and other contributors',
+    'Apache',
+    'https://raw.githubusercontent.com/falconry/falcon/master/LICENSE'
   ], [
     'Fish',
     '2005-2009 Axel Liljencrantz',

+ 1 - 0
assets/stylesheets/global/_icons.scss

@@ -174,3 +174,4 @@
 ._icon-jasmine:before       { background-position: 0 -2rem; @extend %doc-icon-2; }
 ._icon-pug:before           { background-position: -1rem -2rem; @extend %doc-icon-2; }
 ._icon-electron:before      { background-position: -2rem -2rem; @extend %doc-icon-2; }
+._icon-falcon:before        { background-position: -3rem -2rem; @extend %doc-icon-2; }

+ 17 - 11
lib/docs/filters/falcon/entries.rb

@@ -9,14 +9,10 @@ module Docs
 
       def get_type
         case slug.split('/').first
-        when 'community'
-          'Community Guide'
         when 'user'
-          'User Guide'
+          'Guide'
         when 'api'
-          'Classes and Functions'
-        else
-          'Other'
+          'API'
         end
       end
 
@@ -24,23 +20,33 @@ module Docs
         entries = []
 
         css('.class').each do |node|
+          namespace = node.at_css('.descclassname').content.strip.remove(/\.\z/)
           class_name = node.at_css('dt > .descname').content
           class_id = node.at_css('dt[id]')['id']
-          entries << [class_name, class_id]
+          entries << ["#{namespace}.#{class_name}", class_id, namespace]
+
+           node.css('.attribute').each do |n|
+            next unless n.at_css('dt[id]')
+            name = n.at_css('.descname').content
+            name = "#{namespace}.#{class_name}.#{name}"
+            id = n.at_css('dt[id]')['id']
+            entries << [name, id, namespace]
+          end
 
           node.css('.method').each do |n|
             next unless n.at_css('dt[id]')
             name = n.at_css('.descname').content
-            name = "#{class_name}.#{name}()"
+            name = "#{namespace}.#{class_name}.#{name}()"
             id = n.at_css('dt[id]')['id']
-            entries << [name, id]
+            entries << [name, id, namespace]
           end
         end
 
         css('.function').each do |node|
-          name = "#{node.at_css('.descname').content}()"
+          namespace = node.at_css('.descclassname').content.strip.remove(/\.\z/)
+          name = "#{namespace}.#{node.at_css('.descname').content}()"
           id = node.at_css('dt[id]')['id']
-          entries << [name, id]
+          entries << [name, id, namespace]
         end
 
         entries

+ 6 - 6
lib/docs/scrapers/falcon.rb

@@ -11,17 +11,17 @@ module Docs
 
     options[:container] = '.body'
 
-    options[:skip_patterns] = [/\Achanges/, /\A_modules/]
+    options[:skip] = %w(user/index.html api/index.html)
+    options[:skip_patterns] = [/\Achanges/, /\A_modules/, /\Acommunity/]
 
     options[:attribution] = <<-HTML
-      &copy; 2016 Falcon Contributors<br>
-      Licensed under the Apache 2 License.
+      &copy; 2012&ndash;2016 by Rackspace Hosting, Inc. and other contributors<br>
+      Licensed under the Apache License, Version 2.0.
     HTML
 
-    version '1.2.0' do
+    version '1.2' do
       self.release = '1.2.0'
-      self.base_url = "https://falcon.readthedocs.io/en/#{self.version}/"
+      self.base_url = "https://falcon.readthedocs.io/en/#{self.release}/"
     end
-
   end
 end

BIN=BIN
public/icons/docs/falcon/16.png


BIN=BIN
public/icons/docs/falcon/16@2x.png


+ 1 - 1
public/icons/docs/falcon/SOURCE

@@ -1 +1 @@
-https://github.com/falconry/falcon/blob/master/docs/_static/img/logo.jpg
+https://github.com/falconry/falconry.github.io