|
@@ -2,44 +2,50 @@ module Docs
|
|
|
class Cakephp
|
|
class Cakephp
|
|
|
class CleanHtmlFilter < Filter
|
|
class CleanHtmlFilter < Filter
|
|
|
def call
|
|
def call
|
|
|
- if root_page?
|
|
|
|
|
- css('.section').remove
|
|
|
|
|
- end
|
|
|
|
|
|
|
+ css('.breadcrumbs', 'a.permalink', 'a.anchor').remove
|
|
|
|
|
|
|
|
- css('.breadcrumbs', '.info', 'a.permalink').remove
|
|
|
|
|
|
|
+ css('.section', '#content', '.description', '.list').each do |node|
|
|
|
|
|
+ node.before(node.children).remove
|
|
|
|
|
+ end
|
|
|
|
|
|
|
|
css('h1').drop(1).each do |node|
|
|
css('h1').drop(1).each do |node|
|
|
|
node.name = 'h2'
|
|
node.name = 'h2'
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
+ css('> h6').each do |node|
|
|
|
|
|
+ node.name = 'h2'
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ css('h6').each do |node|
|
|
|
|
|
+ node.name = 'h4'
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
css('.property-name').each do |node|
|
|
css('.property-name').each do |node|
|
|
|
node.name = 'h3'
|
|
node.name = 'h3'
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
+ css('var').each do |node|
|
|
|
|
|
+ node.name = 'code'
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
# Move dummy anchor to method and property name
|
|
# Move dummy anchor to method and property name
|
|
|
|
|
+
|
|
|
css('.method-detail').each do |node|
|
|
css('.method-detail').each do |node|
|
|
|
node.at_css('.method-name')['id'] = node.at_css('a')['id']
|
|
node.at_css('.method-name')['id'] = node.at_css('a')['id']
|
|
|
end
|
|
end
|
|
|
|
|
+
|
|
|
css('.property-detail').each do |node|
|
|
css('.property-detail').each do |node|
|
|
|
node.at_css('.property-name')['id'] = node['id']
|
|
node.at_css('.property-name')['id'] = node['id']
|
|
|
node.remove_attribute('id')
|
|
node.remove_attribute('id')
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
# Break out source link to separate element
|
|
# Break out source link to separate element
|
|
|
|
|
+
|
|
|
css('.method-name', '.property-name').each do |node|
|
|
css('.method-name', '.property-name').each do |node|
|
|
|
source = node.at_css('a')
|
|
source = node.at_css('a')
|
|
|
- source.add_previous_sibling("<span class=\"name\">#{source.content}</span>")
|
|
|
|
|
|
|
+ source.before(%(<span class="name">#{source.content}</span>))
|
|
|
source.content = 'source'
|
|
source.content = 'source'
|
|
|
- end
|
|
|
|
|
-
|
|
|
|
|
- # These are missing in upstream documentation. Not sure why.
|
|
|
|
|
- css('.section > h2').each do |node|
|
|
|
|
|
- if node.content == "Method Detail"
|
|
|
|
|
- node['id'] = 'methods'
|
|
|
|
|
- end
|
|
|
|
|
- if node.content == 'Properties summary'
|
|
|
|
|
- node['id'] = 'properties'
|
|
|
|
|
- end
|
|
|
|
|
|
|
+ source['class'] = 'source'
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
css('.method-signature').each do |node|
|
|
css('.method-signature').each do |node|
|
|
@@ -51,8 +57,15 @@ module Docs
|
|
|
node.content = node.content.strip
|
|
node.content = node.content.strip
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
- # Pages don't share a nice common base css tag.
|
|
|
|
|
- doc.children
|
|
|
|
|
|
|
+ css('code code').each do |node|
|
|
|
|
|
+ node.before(node.children).remove
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ css('code').each do |node|
|
|
|
|
|
+ node.inner_html = node.inner_html.squish
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ doc
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|