diff --git a/lib/docs/filters/phalcon/clean_html.rb b/lib/docs/filters/phalcon/clean_html.rb
index 9ec58102..f3ea4d6d 100644
--- a/lib/docs/filters/phalcon/clean_html.rb
+++ b/lib/docs/filters/phalcon/clean_html.rb
@@ -7,6 +7,11 @@ module Docs
# Remove unnecessary things
css('.headerlink', '#what-is-phalcon', '#other-formats', '#welcome h1', '#welcome p', '#table-of-contents h2').remove
+ # Add id for constants and methods
+ css('#constants strong', '#methods strong').each do |node|
+ node.parent['id'] = node.content.strip
+ end
+
doc
end
end
diff --git a/lib/docs/filters/phalcon/entries.rb b/lib/docs/filters/phalcon/entries.rb
index 9793f97a..3eab0f61 100644
--- a/lib/docs/filters/phalcon/entries.rb
+++ b/lib/docs/filters/phalcon/entries.rb
@@ -1,6 +1,7 @@
module Docs
class Phalcon
class EntriesFilter < Docs::EntriesFilter
+
def get_name
node = css('h1').first
name = node.content.strip
@@ -9,11 +10,25 @@ module Docs
end
def get_type
- if slug.start_with?('reference')
- 'Reference'
+ if slug.start_with? 'reference'
+ 'Guides'
else
- 'API'
+ 'Classes'
+ end
+ end
+
+ def additional_entries
+ entries = []
+
+ css('#constants strong').each do |node|
+ entries << [node.content.strip, node.parent['id'], 'Constants']
+ end
+
+ css('#methods strong').each do |node|
+ entries << [node.content.strip, node.parent['id'], 'Methods']
end
+
+ entries
end
end
end
diff --git a/lib/docs/scrapers/phalcon.rb b/lib/docs/scrapers/phalcon.rb
index ff79cf3e..abb29205 100644
--- a/lib/docs/scrapers/phalcon.rb
+++ b/lib/docs/scrapers/phalcon.rb
@@ -14,6 +14,7 @@ module Docs
options[:root_title] = 'Phalcon'
options[:only_patterns] = [/reference\//, /api\//]
+ options[:skip_patterns] = [/api\/index/]
options[:attribution] = <<-HTML
© 2012–2015 the Phalcon Team