Browse Source

Update CakePHP documentation (3.3.1, 3.2.8, 3.1.13, 2.8.3, 2.7.11)

Thibaut Courouble 9 years ago
parent
commit
4ca8c6ee23

+ 1 - 1
assets/stylesheets/pages/_cakephp.scss

@@ -13,5 +13,5 @@
 
   .info { @extend %note; }
   code { @extend %label; }
-  p > .label, dt > .label { @extend %label, %label-yellow; }
+  p > .label, dt > .label, div > .label { @extend %label, %label-yellow; }
 }

+ 12 - 12
lib/docs/filters/cakephp/clean_html.rb

@@ -4,14 +4,10 @@ module Docs
       def call
         css('.breadcrumbs', 'a.permalink', 'a.anchor').remove
 
-        css('.section', '#content', '.description', '.list').each do |node|
+        css('.section', '#content', '.description', '.list', 'span.attributes').each do |node|
           node.before(node.children).remove
         end
 
-        css('h1').drop(1).each do |node|
-          node.name = 'h2'
-        end
-
         css('> h6').each do |node|
           node.name = 'h2'
         end
@@ -20,14 +16,19 @@ module Docs
           node.name = 'h4'
         end
 
-        css('.property-name').each do |node|
-          node.name = 'h3'
-        end
-
         css('var').each do |node|
           node.name = 'code'
         end
 
+        css('.member-summary h3', 'li > h5').each do |node|
+          node.name = 'div'
+          node.remove_attribute('class')
+        end
+
+        css('div.attributes').each do |node|
+          node.name = 'p'
+        end
+
         # Move dummy anchor to method and property name
 
         css('.method-detail').each do |node|
@@ -35,8 +36,7 @@ module Docs
         end
 
         css('.property-detail').each do |node|
-          node.at_css('.property-name')['id'] = node['id']
-          node.remove_attribute('id')
+          node.at_css('.property-name')['id'] = node.at_css('a')['id']
         end
 
         # Break out source link to separate element
@@ -48,7 +48,7 @@ module Docs
           source['class'] = 'source'
         end
 
-        css('.method-signature').each do |node|
+        css('.method-signature', 'pre').each do |node|
           node.name = 'pre'
           node.content = node.content.strip
           node['data-language'] = 'php'

+ 3 - 3
lib/docs/filters/cakephp/entries.rb

@@ -46,12 +46,12 @@ module Docs
         return [] if class_name.end_with?('Exception')
         entries = []
 
-        css('.method-name').each do |node|
+        css('h3.method-name').each do |node|
           break if node.parent.previous_element.content =~ /\AMethods.*from/
-          entries << ["#{class_name}::#{node.at_css('.name').content.strip}()", node['id']]
+          entries << ["#{class_name}::#{node.at_css('.name').content.strip}", node['id']]
         end
 
-        css('.property-name').each do |node|
+        css('h3.property-name').each do |node|
           break if node.parent.parent['class'].include?('used')
           entries << ["#{class_name}::#{node.at_css('.name').content.strip}", node['id']]
         end

+ 17 - 5
lib/docs/scrapers/cakephp.rb

@@ -11,7 +11,7 @@ module Docs
 
     html_filters.push 'cakephp/clean_html', 'cakephp/entries'
 
-    options[:container] = '#right.columns.nine'
+    options[:container] = '#right'
 
     options[:skip_patterns] = [/\Asource-/]
 
@@ -22,24 +22,36 @@ module Docs
       We are not endorsed by or affiliated with CakePHP.
     HTML
 
-    version '3.2' do # http://api.cakephp.org/3.2/cakephp-api-documentation.zip
+    version '3.3' do
+      self.release = '3.3.1'
+      self.base_url = 'http://api.cakephp.org/3.3/'
+    end
+
+    version '3.2' do
       self.release = '3.2.8'
       self.base_url = 'http://api.cakephp.org/3.2/'
     end
 
-    version '3.1' do # http://api.cakephp.org/3.1/cakephp-api-documentation.zip
+    version '3.1' do
       self.release = '3.1.13'
       self.base_url = 'http://api.cakephp.org/3.1/'
     end
 
-    version '2.8' do # http://api.cakephp.org/2.8/cakephp-api-documentation.zip
+    version '2.8' do
       self.release = '2.8.3'
       self.base_url = 'http://api.cakephp.org/2.8/'
     end
 
-    version '2.7' do # http://api.cakephp.org/2.7/cakephp-api-documentation.zip
+    version '2.7' do
       self.release = '2.7.11'
       self.base_url = 'http://api.cakephp.org/2.7/'
     end
+
+    private
+
+    def parse(string)
+      string.gsub! '<h5 class="method-name">', '<h3 class="method-name">'
+      super
+    end
   end
 end