From 4ca8c6ee23c1024276117ac5710d5e5838aa1a85 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 21 Aug 2016 17:39:43 -0400 Subject: [PATCH] Update CakePHP documentation (3.3.1, 3.2.8, 3.1.13, 2.8.3, 2.7.11) --- assets/stylesheets/pages/_cakephp.scss | 2 +- lib/docs/filters/cakephp/clean_html.rb | 24 ++++++++++++------------ lib/docs/filters/cakephp/entries.rb | 6 +++--- lib/docs/scrapers/cakephp.rb | 22 +++++++++++++++++----- 4 files changed, 33 insertions(+), 21 deletions(-) diff --git a/assets/stylesheets/pages/_cakephp.scss b/assets/stylesheets/pages/_cakephp.scss index c7ef5d15..11825c4d 100644 --- a/assets/stylesheets/pages/_cakephp.scss +++ b/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; } } diff --git a/lib/docs/filters/cakephp/clean_html.rb b/lib/docs/filters/cakephp/clean_html.rb index 4bb760be..d31f7ed1 100644 --- a/lib/docs/filters/cakephp/clean_html.rb +++ b/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' diff --git a/lib/docs/filters/cakephp/entries.rb b/lib/docs/filters/cakephp/entries.rb index b0f0a001..3163ef67 100644 --- a/lib/docs/filters/cakephp/entries.rb +++ b/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 diff --git a/lib/docs/scrapers/cakephp.rb b/lib/docs/scrapers/cakephp.rb index eb0a4eb4..0c39acf1 100644 --- a/lib/docs/scrapers/cakephp.rb +++ b/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! '
', '

' + super + end end end