History

Improve Ruby/RDoc scraper

Thibaut committed 12 years ago

Commit 7c1bd6b1 parent 49de7362 files · +36 −36Browse files

Unified · Split

2 files
  1. lib/docs/filters/rdoc/entries.rb +4 −2
  2. lib/docs/scrapers/rdoc/ruby.rb +32 −34
lib/docs/filters/rdoc/entries.rb+4−2
@@ -23,14 +23,16 @@ module Docs · 22 unmodified lines
2323 return [] if root_page?
2424 require 'cgi'
2525
26− css('.method-detail').map do |node|
26+ css('.method-detail').inject [] do |entries, node|
2727 name = node['id'].dup
2828 name.sub! %r{\A\w+?\-.}, ''
2929 name.sub! %r{\A-(?!\d)}, ''
3030 name.gsub! '-', '%'
3131 name = CGI.unescape(name)
3232 name.prepend self.name + (node['id'] =~ /\A\w+-c-/ ? '::' : '#')
33− [name, node['id']]
33+
34+ entries << [name, node['id']] unless entries.any? { |entry| entry[0] == name }
35+ entries
3436 end
3537 end
3638 end
lib/docs/scrapers/rdoc/ruby.rb+32−34
@@ -1,38 +1,24 @@
11 module Docs
22 class Ruby < Rdoc
33 # Generated with:
4− # rdoc \
5− # --format=darkfish \
6− # --no-line-numbers \
7− # --op=rdoc \
8− # --visibility=public \
4+ # find \
95 # *.c \
10− # lib/**/*.rb \
11− # lib/*.rb \
12− # ext/bigdecimal/*.c \
13− # ext/bigdecimal/lib/*.rb \
14− # ext/bigdecimal/lib/**/*.rb \
15− # ext/date/*.c \
16− # ext/date/lib/*.rb \
17− # ext/date/lib/**/*.rb \
18− # ext/digest/*.c \
19− # ext/digest/**/*.c \
20− # ext/digest/**/*.rb \
21− # ext/json/lib/**/*.rb \
22− # ext/pathname/*.c \
23− # ext/pathname/lib/*.rb \
24− # ext/psych/*.c \
25− # ext/psych/lib/*.rb \
26− # ext/psych/lib/**/*.rb \
27− # ext/readline/*.c \
28− # ext/ripper/*.c \
29− # ext/ripper/lib/*.rb \
30− # ext/ripper/lib/**/*.rb \
31− # ext/socket/*.c \
32− # ext/socket/lib/*.rb \
33− # ext/socket/lib/**/*.rb \
34− # ext/stringio/*.c \
35− # ext/zlib/*.c
6+ # lib \
7+ # ext/bigdecimal \
8+ # ext/date \
9+ # ext/digest \
10+ # ext/json \
11+ # ext/pathname \
12+ # ext/psych \
13+ # ext/readline \
14+ # ext/ripper \
15+ # ext/socket \
16+ # ext/stringio \
17+ # ext/zlib \
18+ # \( -name '*.c' -or -name '*.rb' \) \
19+ # -not -wholename '*sample/*' \
20+ # | xargs \
21+ # rdoc --format=darkfish --no-line-numbers --op=rdoc --visibility=public
3622
3723 self.version = '2.0.0'
3824 self.dir = '/Users/Thibaut/DevDocs/Docs/RDoc/Ruby'
@@ -44,36 +30,48 @@ module Docs · 5 unmodified lines
4430 options[:skip] += %w(
4531 fatal.html
4632 unknown.html
33+ CompositePublisher.html
4734 Data.html
4835 E2MM.html
4936 English.html
5037 Exception2MessageMapper.html
38+ EXCEPTION_TYPE.html
5139 GServer.html
40+ Logging.html
5241 MakeMakefile.html
5342 ParallelEach.html
5443 Requirement.html
44+ SshDirPublisher.html
45+ SshFilePublisher.html
46+ SshFreshDirPublisher.html
47+ Sys.html
5548 YAML/DBM.html)
5649
5750 options[:skip_patterns] = [
5851 /\AComplex/,
52+ /\AJSON\/Ext/,
5953 /\AGem/,
60− /\AHttpServer/,
54+ /\AHTTP/i,
6155 /\AIRB/,
6256 /\AMiniTest/i,
57+ /\ANet\/(?!HTTP)/,
6358 /\ANQXML/,
6459 /\AOpenSSL/,
60+ /\AOptionParser\//,
6561 /\APride/,
62+ /\APsych\//,
6663 /\ARacc/,
6764 /\ARake/,
6865 /\ARbConfig/,
6966 /\ARDoc/,
7067 /\AREXML/,
7168 /\ARSS/,
69+ /\AShell\//,
70+ /\ASocket\//,
7271 /\ATest/,
7372 /\AWEBrick/,
7473 /\AXML/,
75− /\AXMP/
76− ]
74+ /\AXMP/]
7775
7876 options[:attribution] = <<-HTML
7977 Ruby Core &copy; 1993&ndash;2013 Yukihiro Matsumoto<br>