History

Merge pull request #1440 from scherepn/codeigniter-fix

Fix CodeIgniter scraper

Simon Legner committed 5 years ago

Commit de33aef2 parents 6fd5b99 130eadd3 files · +16 −6Browse files

Unified · Split

3 files
  1. lib/docs/filters/codeigniter/entries.rb +9 −2
  2. lib/docs/filters/sphinx/clean_html.rb +2 −2
  3. lib/docs/scrapers/codeigniter.rb +5 −2
lib/docs/filters/codeigniter/entries.rb+9−2
@@ -22,12 +22,12 @@ module Docs · 21 unmodified lines
2222 def additional_entries
2323 entries = []
2424
25− css('.class').each do |node|
25+ css('.class', '.interface').each do |node|
2626 class_name = node.at_css('dt > .descname').content.split('\\').last
2727 class_id = node.at_css('dt[id]')['id']
2828 entries << [class_name, class_id]
2929
30− node.css('.method').each do |n|
30+ node.css('.method', '.staticmethod').each do |n|
3131 next unless n.at_css('dt[id]')
3232 name = n.at_css('.descname').content
3333 name = "#{class_name}::#{name}()"
@@ -43,6 +43,13 @@ module Docs · 9 unmodified lines
4343 entries << [name, id, type]
4444 end
4545
46+ css('.const').each do |node|
47+ name = node.at_css('.descname').content
48+ id = node.at_css('dt[id]')['id']
49+ type = self.type.start_with?('User guide') ? 'Global Constants' : self.type
50+ entries << [name, id, type]
51+ end
52+
4653 entries
4754 end
4855 end
lib/docs/filters/sphinx/clean_html.rb+2−2
@@ -20,8 +20,8 @@ module Docs · 19 unmodified lines
2020 css('div[class*="highlight-"]', 'div[class*="hl-"]').each do |node|
2121 pre = node.at_css('pre')
2222 pre.content = pre.content
23− lang = node['class'][/code (\w+) highlight/, 1] || node['class'][/highlight\-(\w+)/, 1] || node['class'][/hl\-(\w+)/, 1]
24− lang = 'php' if lang == 'ci'
23+ lang = node['class'][/code (\w+) highlight/, 1] || node['class'][/highlight\-([\w\+]+)/, 1] || node['class'][/hl\-(\w+)/, 1]
24+ lang = 'php' if lang == 'ci'|| lang == 'html+php'
2525 lang = 'markup' if lang == 'html+django'
2626 lang = 'bash' if lang == 'bash'
2727 lang = 'python' if lang == 'default' || lang.start_with?('python') || lang.start_with?('ipython')
lib/docs/scrapers/codeigniter.rb+5−2
@@ -10,8 +10,6 @@ module Docs · 9 unmodified lines
1010
1111 html_filters.push 'codeigniter/entries', 'sphinx/clean_html'
1212
13− options[:container] = '.document'
14−
1513 options[:skip] = %w(
1614 license.html
1715 changelog.html
@@ -26,6 +24,7 @@ module Docs · 8 unmodified lines
2624 options[:skip_patterns] = [
2725 /\Acontributing/,
2826 /\Adocumentation/,
27+ /\Achangelogs/,
2928 /\Ainstallation\/upgrade/
3029 ]
3130
@@ -37,11 +36,15 @@ module Docs · 5 unmodified lines
3736 version '4' do
3837 self.release = '4.0.4'
3938 self.base_url = 'https://codeigniter.com/userguide4/'
39+
40+ options[:container] = '.document > div'
4041 end
4142
4243 version '3' do
4344 self.release = '3.1.8'
4445 self.base_url = 'https://codeigniter.com/userguide3/'
46+
47+ options[:container] = '.document'
4548 end
4649
4750 def get_latest_version(opts)