sdoc_local_editor 0.3.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. data/.gitignore +3 -0
  2. data/.rake_tasks~ +20 -0
  3. data/LICENSE +110 -0
  4. data/README.rdoc +37 -0
  5. data/Rakefile +12 -0
  6. data/bin/sdoc_local_editor +27 -0
  7. data/bin/sdoc_local_editor_merge +24 -0
  8. data/lib/rdoc/discover.rb +5 -0
  9. data/lib/rdoc/generator/template/merge/index.rhtml +14 -0
  10. data/lib/rdoc/generator/template/rails/_context.rhtml +210 -0
  11. data/lib/rdoc/generator/template/rails/_head.rhtml +7 -0
  12. data/lib/rdoc/generator/template/rails/class.rhtml +39 -0
  13. data/lib/rdoc/generator/template/rails/file.rhtml +37 -0
  14. data/lib/rdoc/generator/template/rails/index.rhtml +13 -0
  15. data/lib/rdoc/generator/template/rails/resources/apple-touch-icon.png +0 -0
  16. data/lib/rdoc/generator/template/rails/resources/css/github.css +129 -0
  17. data/lib/rdoc/generator/template/rails/resources/css/main.css +346 -0
  18. data/lib/rdoc/generator/template/rails/resources/css/panel.css +389 -0
  19. data/lib/rdoc/generator/template/rails/resources/css/reset.css +48 -0
  20. data/lib/rdoc/generator/template/rails/resources/favicon.ico +0 -0
  21. data/lib/rdoc/generator/template/rails/resources/i/arrows.png +0 -0
  22. data/lib/rdoc/generator/template/rails/resources/i/results_bg.png +0 -0
  23. data/lib/rdoc/generator/template/rails/resources/i/tree_bg.png +0 -0
  24. data/lib/rdoc/generator/template/rails/resources/js/highlight.pack.js +1 -0
  25. data/lib/rdoc/generator/template/rails/resources/js/jquery-1.3.2.min.js +19 -0
  26. data/lib/rdoc/generator/template/rails/resources/js/jquery-effect.js +593 -0
  27. data/lib/rdoc/generator/template/rails/resources/js/main.js +20 -0
  28. data/lib/rdoc/generator/template/rails/resources/js/searchdoc.js +441 -0
  29. data/lib/rdoc/generator/template/rails/resources/panel/index.html +73 -0
  30. data/lib/rdoc/generator/template/rails/se_index.rhtml +8 -0
  31. data/lib/rdoc/generator/template/sdoc/_context.rhtml +221 -0
  32. data/lib/rdoc/generator/template/sdoc/_head.rhtml +7 -0
  33. data/lib/rdoc/generator/template/sdoc/class.rhtml +39 -0
  34. data/lib/rdoc/generator/template/sdoc/file.rhtml +29 -0
  35. data/lib/rdoc/generator/template/sdoc/index.rhtml +13 -0
  36. data/lib/rdoc/generator/template/sdoc/resources/apple-touch-icon.png +0 -0
  37. data/lib/rdoc/generator/template/sdoc/resources/css/github.css +129 -0
  38. data/lib/rdoc/generator/template/sdoc/resources/css/main.css +333 -0
  39. data/lib/rdoc/generator/template/sdoc/resources/css/panel.css +384 -0
  40. data/lib/rdoc/generator/template/sdoc/resources/css/reset.css +48 -0
  41. data/lib/rdoc/generator/template/sdoc/resources/favicon.ico +0 -0
  42. data/lib/rdoc/generator/template/sdoc/resources/i/arrows.png +0 -0
  43. data/lib/rdoc/generator/template/sdoc/resources/i/results_bg.png +0 -0
  44. data/lib/rdoc/generator/template/sdoc/resources/i/tree_bg.png +0 -0
  45. data/lib/rdoc/generator/template/sdoc/resources/js/highlight.pack.js +1 -0
  46. data/lib/rdoc/generator/template/sdoc/resources/js/jquery-1.3.2.min.js +19 -0
  47. data/lib/rdoc/generator/template/sdoc/resources/js/jquery-effect.js +593 -0
  48. data/lib/rdoc/generator/template/sdoc/resources/js/main.js +24 -0
  49. data/lib/rdoc/generator/template/sdoc/resources/js/searchdoc.js +442 -0
  50. data/lib/rdoc/generator/template/sdoc/resources/panel/index.html +73 -0
  51. data/lib/rdoc/generator/template/sdoc/se_index.rhtml +8 -0
  52. data/lib/sdoc_local_editor.rb +9 -0
  53. data/lib/sdoc_local_editor/generator.rb +418 -0
  54. data/lib/sdoc_local_editor/github.rb +61 -0
  55. data/lib/sdoc_local_editor/helpers.rb +26 -0
  56. data/lib/sdoc_local_editor/merge.rb +223 -0
  57. data/lib/sdoc_local_editor/templatable.rb +60 -0
  58. data/sdoc_local_editor.gemspec +31 -0
  59. metadata +139 -0
@@ -0,0 +1,61 @@
1
+ module SDoc::GitHub
2
+ def github_url(path)
3
+ unless @github_url_cache.has_key? path
4
+ @github_url_cache[path] = false
5
+ file = RDoc::TopLevel.find_file_named(path)
6
+ if file
7
+ base_url = repository_url(path)
8
+ if base_url
9
+ sha1 = commit_sha1(path)
10
+ if sha1
11
+ relative_url = path_relative_to_repository(path)
12
+ @github_url_cache[path] = "#{base_url}#{sha1}#{relative_url}"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ @github_url_cache[path]
18
+ end
19
+
20
+ protected
21
+
22
+ def have_git?
23
+ @have_git = system('git --version > /dev/null 2>&1') if @have_git.nil?
24
+ @have_git
25
+ end
26
+
27
+ def commit_sha1(path)
28
+ return false unless have_git?
29
+ name = File.basename(path)
30
+ s = Dir.chdir(File.join(base_dir, File.dirname(path))) do
31
+ `git log -1 --pretty=format:"commit %H" #{name}`
32
+ end
33
+ m = s.match(/commit\s+(\S+)/)
34
+ m ? m[1] : false
35
+ end
36
+
37
+ def repository_url(path)
38
+ return false unless have_git?
39
+ s = Dir.chdir(File.join(base_dir, File.dirname(path))) do
40
+ `git config --get remote.origin.url`
41
+ end
42
+ m = s.match(%r{github.com[/:](.*)\.git$})
43
+ m ? "https://github.com/#{m[1]}/blob/" : false
44
+ end
45
+
46
+ def path_relative_to_repository(path)
47
+ absolute_path = File.join(base_dir, path)
48
+ root = path_to_git_dir(File.dirname(absolute_path))
49
+ absolute_path[root.size..absolute_path.size]
50
+ end
51
+
52
+ def path_to_git_dir(path)
53
+ while !path.empty? && path != '.'
54
+ if (File.exists? File.join(path, '.git'))
55
+ return path
56
+ end
57
+ path = File.dirname(path)
58
+ end
59
+ ''
60
+ end
61
+ end
@@ -0,0 +1,26 @@
1
+ module SDoc::Helpers
2
+ def each_letter_group(methods, &block)
3
+ group = {:name => '', :methods => []}
4
+ methods.sort{ |a, b| a.name <=> b.name }.each do |method|
5
+ gname = group_name method.name
6
+ if gname != group[:name]
7
+ yield group unless group[:methods].size == 0
8
+ group = {
9
+ :name => gname,
10
+ :methods => []
11
+ }
12
+ end
13
+ group[:methods].push(method)
14
+ end
15
+ yield group unless group[:methods].size == 0
16
+ end
17
+
18
+ protected
19
+ def group_name name
20
+ if match = name.match(/^([a-z])/i)
21
+ match[1].upcase
22
+ else
23
+ '#'
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,223 @@
1
+ require 'optparse'
2
+ require 'pathname'
3
+ require 'fileutils'
4
+
5
+ if Gem::Specification.respond_to?(:find_by_name) ? Gem::Specification::find_by_name("json") : Gem.available?("json")
6
+ gem "json", ">= 1.1.3"
7
+ else
8
+ gem "json_pure", ">= 1.1.3"
9
+ end
10
+ require 'json'
11
+
12
+ require 'sdoc_local_editor/templatable'
13
+
14
+ class SDoc::Merge
15
+ include SDoc::Templatable
16
+
17
+ FLAG_FILE = "created.rid"
18
+
19
+ def initialize()
20
+ @names = []
21
+ @urls = []
22
+ @op_dir = 'doc'
23
+ @title = ''
24
+ @directories = []
25
+ end
26
+
27
+ def merge(options)
28
+ parse_options options
29
+
30
+ @outputdir = Pathname.new( @op_dir )
31
+
32
+ check_directories
33
+ setup_output_dir
34
+ setup_names
35
+ copy_files
36
+ copy_docs if @urls.empty?
37
+ merge_search_index
38
+ merge_tree
39
+ generate_index_file
40
+ end
41
+
42
+ def parse_options(options)
43
+ opts = OptionParser.new do |opt|
44
+ opt.banner = "Usage: sdoc-merge [options] directories"
45
+
46
+ opt.on("-n", "--names [NAMES]", "Names of merged repositories. Comma separated") do |v|
47
+ @names = v.split(',').map{|name| name.strip }
48
+ end
49
+
50
+ opt.on("-o", "--op [DIRECTORY]", "Set the output directory") do |v|
51
+ @op_dir = v
52
+ end
53
+
54
+ opt.on("-t", "--title [TITLE]", "Set the title of merged file") do |v|
55
+ @title = v
56
+ end
57
+
58
+ opt.on("-u", "--urls [URLS]", "Paths to merged docs. If you",
59
+ "set this files and classes won't be actualy",
60
+ "copied to merged build") do |v|
61
+ @urls = v.split(' ').map{|name| name.strip }
62
+ end
63
+ end
64
+ opts.parse! options
65
+ @template_dir = Pathname.new(RDoc::Options.new.template_dir_for 'merge')
66
+ @directories = options.dup
67
+ end
68
+
69
+ def merge_tree
70
+ tree = []
71
+ @directories.each_with_index do |dir, i|
72
+ name = @names[i]
73
+ url = @urls.empty? ? name : @urls[i]
74
+ filename = File.join dir, RDoc::Generator::SDoc::TREE_FILE
75
+ data = open(filename).read.sub(/var tree =\s*/, '')
76
+ subtree = JSON.parse(data, :max_nesting => 0)
77
+ item = [
78
+ name,
79
+ url + '/' + extract_index_path(dir),
80
+ '',
81
+ append_path(subtree, url)
82
+ ]
83
+ tree << item
84
+ end
85
+
86
+ dst = File.join @op_dir, RDoc::Generator::SDoc::TREE_FILE
87
+ FileUtils.mkdir_p File.dirname(dst)
88
+ File.open(dst, "w", 0644) do |f|
89
+ f.write('var tree = '); f.write(tree.to_json(:max_nesting => 0))
90
+ end
91
+ end
92
+
93
+ def append_path subtree, path
94
+ subtree.map do |item|
95
+ item[1] = path + '/' + item[1] unless item[1].empty?
96
+ item[3] = append_path item[3], path
97
+ item
98
+ end
99
+ end
100
+
101
+ def merge_search_index
102
+ items = []
103
+ @indexes = {}
104
+ @directories.each_with_index do |dir, i|
105
+ name = @names[i]
106
+ url = @urls.empty? ? name : @urls[i]
107
+ filename = File.join dir, RDoc::Generator::SDoc::SEARCH_INDEX_FILE
108
+ data = open(filename).read.sub(/var search_data =\s*/, '')
109
+ subindex = JSON.parse(data, :max_nesting => 0)
110
+ @indexes[name] = subindex
111
+
112
+ searchIndex = subindex["index"]["searchIndex"]
113
+ longSearchIndex = subindex["index"]["longSearchIndex"]
114
+ subindex["index"]["info"].each_with_index do |info, j|
115
+ info[2] = url + '/' + info[2]
116
+ info[6] = i
117
+ items << {
118
+ :info => info,
119
+ :searchIndex => searchIndex[j],
120
+ :longSearchIndex => name + ' ' + longSearchIndex[j]
121
+ }
122
+ end
123
+ end
124
+ items.sort! do |a, b|
125
+ # type (class/method/file) or name or doc part or namespace
126
+ [a[:info][5], a[:info][0], a[:info][6], a[:info][1]] <=> [b[:info][5], b[:info][0], b[:info][6], b[:info][1]]
127
+ end
128
+
129
+ index = {
130
+ :searchIndex => items.map{|item| item[:searchIndex]},
131
+ :longSearchIndex => items.map{|item| item[:longSearchIndex]},
132
+ :info => items.map{|item| item[:info]}
133
+ }
134
+ search_data = {
135
+ :index => index,
136
+ :badges => @names
137
+ }
138
+
139
+ dst = File.join @op_dir, RDoc::Generator::SDoc::SEARCH_INDEX_FILE
140
+ FileUtils.mkdir_p File.dirname(dst)
141
+ File.open(dst, "w", 0644) do |f|
142
+ f.write('var search_data = '); f.write(search_data.to_json(:max_nesting => 0))
143
+ end
144
+ end
145
+
146
+ def extract_index_path dir
147
+ filename = File.join dir, 'index.html'
148
+ content = File.open(filename) { |f| f.read }
149
+ match = content.match(/<frame\s+src="([^"]+)"\s+name="docwin"/mi)
150
+ if match
151
+ match[1]
152
+ else
153
+ ''
154
+ end
155
+ end
156
+
157
+ def generate_index_file
158
+ templatefile = @template_dir + 'index.rhtml'
159
+ outfile = @outputdir + 'index.html'
160
+ url = @urls.empty? ? @names[0] : @urls[0]
161
+ index_path = url + '/' + extract_index_path(@directories[0])
162
+
163
+ render_template templatefile, binding(), outfile
164
+ end
165
+
166
+ def setup_names
167
+ unless @names.size > 0
168
+ @directories.each do |dir|
169
+ name = File.basename dir
170
+ name = File.basename File.dirname(dir) if name == 'doc'
171
+ @names << name
172
+ end
173
+ end
174
+ end
175
+
176
+ def copy_docs
177
+ @directories.each_with_index do |dir, i|
178
+ name = @names[i]
179
+ index_dir = File.dirname(RDoc::Generator::SDoc::TREE_FILE)
180
+ FileUtils.mkdir_p(File.join(@op_dir, name))
181
+
182
+ Dir.new(dir).each do |item|
183
+ if File.directory?(File.join(dir, item)) && item != '.' && item != '..' && item != index_dir
184
+ FileUtils.cp_r File.join(dir, item), File.join(@op_dir, name, item), :preserve => true
185
+ end
186
+ end
187
+ end
188
+ end
189
+
190
+ def copy_files
191
+ dir = @directories.first
192
+ Dir.new(dir).each do |item|
193
+ if item != '.' && item != '..' && item != RDoc::Generator::SDoc::FILE_DIR && item != RDoc::Generator::SDoc::CLASS_DIR
194
+ FileUtils.cp_r File.join(dir, item), @op_dir, :preserve => true
195
+ end
196
+ end
197
+ end
198
+
199
+ def setup_output_dir
200
+ if File.exists? @op_dir
201
+ error "#{@op_dir} allready exists"
202
+ end
203
+ FileUtils.mkdir_p @op_dir
204
+ end
205
+
206
+ def check_directories
207
+ @directories.each do |dir|
208
+ unless File.exists?(File.join(dir, FLAG_FILE)) &&
209
+ File.exists?(File.join(dir, RDoc::Generator::SDoc::TREE_FILE)) &&
210
+ File.exists?(File.join(dir, RDoc::Generator::SDoc::SEARCH_INDEX_FILE))
211
+ error "#{dir} does not seem to be an sdoc directory"
212
+ end
213
+ end
214
+ end
215
+
216
+ ##
217
+ # Report an error message and exit
218
+
219
+ def error(msg)
220
+ raise RDoc::Error, msg
221
+ end
222
+
223
+ end
@@ -0,0 +1,60 @@
1
+ require 'erb'
2
+ require "sdoc_local_editor"
3
+
4
+ module SDoc::Templatable
5
+ ### Load and render the erb template in the given +templatefile+ within the
6
+ ### specified +context+ (a Binding object) and return output
7
+ ### Both +templatefile+ and +outfile+ should be Pathname-like objects.
8
+ def eval_template(templatefile, context)
9
+ template_src = templatefile.read
10
+ template = ERB.new( template_src, nil, '<>' )
11
+ template.filename = templatefile.to_s
12
+
13
+ begin
14
+ template.result( context )
15
+ rescue NoMethodError => err
16
+ raise RDoc::Error, "Error while evaluating %s: %s (at %p)" % [
17
+ templatefile.to_s,
18
+ err.message,
19
+ eval( "_erbout[-50,50]", context )
20
+ ], err.backtrace
21
+ end
22
+ end
23
+
24
+ ### Load and render the erb template with the given +template_name+ within
25
+ ### current context. Adds all +local_assigns+ to context
26
+ def include_template(template_name, local_assigns = {})
27
+ source = local_assigns.keys.map { |key| "#{key} = local_assigns[:#{key}];" }.join
28
+ templatefile = @template_dir + template_name
29
+ eval("#{source};eval_template(templatefile, binding)")
30
+ end
31
+
32
+ ### Load and render the erb template in the given +templatefile+ within the
33
+ ### specified +context+ (a Binding object) and write it out to +outfile+.
34
+ ### Both +templatefile+ and +outfile+ should be Pathname-like objects.
35
+ def render_template( templatefile, context, outfile )
36
+ output = eval_template(templatefile, context)
37
+
38
+ # TODO delete this dirty hack when documentation for example for GeneratorMethods will not be cutted off by <script> tag
39
+ begin
40
+ if output.respond_to? :force_encoding
41
+ encoding = output.encoding
42
+ output = output.force_encoding('ASCII-8BIT').gsub('<script>', '&lt;script;&gt;').force_encoding(encoding)
43
+ else
44
+ output = output.gsub('<script>', '&lt;script&gt;')
45
+ end
46
+ rescue Exception => e
47
+
48
+ end
49
+
50
+ unless $dryrun
51
+ outfile.dirname.mkpath
52
+ outfile.open( 'w', 0644 ) do |file|
53
+ file.print( output )
54
+ end
55
+ else
56
+ debug_msg " would have written %d bytes to %s" %
57
+ [ output.length, outfile ]
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,31 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = "sdoc_local_editor"
5
+ s.version = "0.3.17"
6
+
7
+ s.authors = ["Vladimir Kolesnikov"]
8
+ s.description = %q{rdoc generator html with javascript search index.}
9
+ s.summary = %q{rdoc html with javascript search index.}
10
+ s.homepage = %q{http://github.com/voloko/sdoc}
11
+ s.email = %q{voloko@gmail.com}
12
+
13
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.3.6") if
14
+ s.respond_to? :required_rubygems_version=
15
+
16
+ s.rdoc_options = ["--charset=UTF-8"]
17
+ s.extra_rdoc_files = ["README.rdoc"]
18
+
19
+ s.add_runtime_dependency('rdoc', "~> 3.10")
20
+ if defined?(JRUBY_VERSION)
21
+ s.platform = Gem::Platform.new(['universal', 'java', nil])
22
+ s.add_runtime_dependency("json_pure", ">= 1.1.3")
23
+ else
24
+ s.add_runtime_dependency("json", ">= 1.1.3")
25
+ end
26
+
27
+ s.files = `git ls-files`.split("\n")
28
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
29
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
30
+ end
31
+
metadata ADDED
@@ -0,0 +1,139 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sdoc_local_editor
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.17
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Vladimir Kolesnikov
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-10-13 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rdoc
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '3.10'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '3.10'
30
+ - !ruby/object:Gem::Dependency
31
+ name: json
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 1.1.3
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 1.1.3
46
+ description: rdoc generator html with javascript search index.
47
+ email: voloko@gmail.com
48
+ executables:
49
+ - sdoc_local_editor
50
+ - sdoc_local_editor_merge
51
+ extensions: []
52
+ extra_rdoc_files:
53
+ - README.rdoc
54
+ files:
55
+ - .gitignore
56
+ - .rake_tasks~
57
+ - LICENSE
58
+ - README.rdoc
59
+ - Rakefile
60
+ - bin/sdoc_local_editor
61
+ - bin/sdoc_local_editor_merge
62
+ - lib/rdoc/discover.rb
63
+ - lib/rdoc/generator/template/merge/index.rhtml
64
+ - lib/rdoc/generator/template/rails/_context.rhtml
65
+ - lib/rdoc/generator/template/rails/_head.rhtml
66
+ - lib/rdoc/generator/template/rails/class.rhtml
67
+ - lib/rdoc/generator/template/rails/file.rhtml
68
+ - lib/rdoc/generator/template/rails/index.rhtml
69
+ - lib/rdoc/generator/template/rails/resources/apple-touch-icon.png
70
+ - lib/rdoc/generator/template/rails/resources/css/github.css
71
+ - lib/rdoc/generator/template/rails/resources/css/main.css
72
+ - lib/rdoc/generator/template/rails/resources/css/panel.css
73
+ - lib/rdoc/generator/template/rails/resources/css/reset.css
74
+ - lib/rdoc/generator/template/rails/resources/favicon.ico
75
+ - lib/rdoc/generator/template/rails/resources/i/arrows.png
76
+ - lib/rdoc/generator/template/rails/resources/i/results_bg.png
77
+ - lib/rdoc/generator/template/rails/resources/i/tree_bg.png
78
+ - lib/rdoc/generator/template/rails/resources/js/highlight.pack.js
79
+ - lib/rdoc/generator/template/rails/resources/js/jquery-1.3.2.min.js
80
+ - lib/rdoc/generator/template/rails/resources/js/jquery-effect.js
81
+ - lib/rdoc/generator/template/rails/resources/js/main.js
82
+ - lib/rdoc/generator/template/rails/resources/js/searchdoc.js
83
+ - lib/rdoc/generator/template/rails/resources/panel/index.html
84
+ - lib/rdoc/generator/template/rails/se_index.rhtml
85
+ - lib/rdoc/generator/template/sdoc/_context.rhtml
86
+ - lib/rdoc/generator/template/sdoc/_head.rhtml
87
+ - lib/rdoc/generator/template/sdoc/class.rhtml
88
+ - lib/rdoc/generator/template/sdoc/file.rhtml
89
+ - lib/rdoc/generator/template/sdoc/index.rhtml
90
+ - lib/rdoc/generator/template/sdoc/resources/apple-touch-icon.png
91
+ - lib/rdoc/generator/template/sdoc/resources/css/github.css
92
+ - lib/rdoc/generator/template/sdoc/resources/css/main.css
93
+ - lib/rdoc/generator/template/sdoc/resources/css/panel.css
94
+ - lib/rdoc/generator/template/sdoc/resources/css/reset.css
95
+ - lib/rdoc/generator/template/sdoc/resources/favicon.ico
96
+ - lib/rdoc/generator/template/sdoc/resources/i/arrows.png
97
+ - lib/rdoc/generator/template/sdoc/resources/i/results_bg.png
98
+ - lib/rdoc/generator/template/sdoc/resources/i/tree_bg.png
99
+ - lib/rdoc/generator/template/sdoc/resources/js/highlight.pack.js
100
+ - lib/rdoc/generator/template/sdoc/resources/js/jquery-1.3.2.min.js
101
+ - lib/rdoc/generator/template/sdoc/resources/js/jquery-effect.js
102
+ - lib/rdoc/generator/template/sdoc/resources/js/main.js
103
+ - lib/rdoc/generator/template/sdoc/resources/js/searchdoc.js
104
+ - lib/rdoc/generator/template/sdoc/resources/panel/index.html
105
+ - lib/rdoc/generator/template/sdoc/se_index.rhtml
106
+ - lib/sdoc_local_editor.rb
107
+ - lib/sdoc_local_editor/generator.rb
108
+ - lib/sdoc_local_editor/github.rb
109
+ - lib/sdoc_local_editor/helpers.rb
110
+ - lib/sdoc_local_editor/merge.rb
111
+ - lib/sdoc_local_editor/templatable.rb
112
+ - sdoc_local_editor.gemspec
113
+ homepage: http://github.com/voloko/sdoc
114
+ licenses: []
115
+ post_install_message:
116
+ rdoc_options:
117
+ - --charset=UTF-8
118
+ require_paths:
119
+ - lib
120
+ required_ruby_version: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ required_rubygems_version: !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: 1.3.6
132
+ requirements: []
133
+ rubyforge_project:
134
+ rubygems_version: 1.8.24
135
+ signing_key:
136
+ specification_version: 3
137
+ summary: rdoc html with javascript search index.
138
+ test_files: []
139
+ has_rdoc: