sdoc 0.2.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. data/LICENSE +21 -0
  2. data/README.rdoc +38 -0
  3. data/Rakefile +37 -0
  4. data/VERSION.yml +4 -0
  5. data/bin/sdoc +11 -0
  6. data/bin/sdoc-merge +12 -0
  7. data/lib/rdoc/discover.rb +1 -0
  8. data/lib/sdoc.rb +23 -0
  9. data/lib/sdoc/c_parser_fix.rb +31 -0
  10. data/lib/sdoc/generator/shtml.rb +314 -0
  11. data/lib/sdoc/generator/template/direct/_context.rhtml +172 -0
  12. data/lib/sdoc/generator/template/direct/class.rhtml +40 -0
  13. data/lib/sdoc/generator/template/direct/file.rhtml +30 -0
  14. data/lib/sdoc/generator/template/direct/index.rhtml +14 -0
  15. data/lib/sdoc/generator/template/direct/resources/css/main.css +263 -0
  16. data/lib/sdoc/generator/template/direct/resources/css/panel.css +383 -0
  17. data/lib/sdoc/generator/template/direct/resources/css/reset.css +53 -0
  18. data/lib/sdoc/generator/template/direct/resources/i/arrows.png +0 -0
  19. data/lib/sdoc/generator/template/direct/resources/i/results_bg.png +0 -0
  20. data/lib/sdoc/generator/template/direct/resources/i/tree_bg.png +0 -0
  21. data/lib/sdoc/generator/template/direct/resources/js/jquery-1.3.2.min.js +19 -0
  22. data/lib/sdoc/generator/template/direct/resources/js/jquery-effect.js +593 -0
  23. data/lib/sdoc/generator/template/direct/resources/js/main.js +22 -0
  24. data/lib/sdoc/generator/template/direct/resources/js/searchdoc.js +620 -0
  25. data/lib/sdoc/generator/template/direct/resources/panel/index.html +71 -0
  26. data/lib/sdoc/generator/template/merge/index.rhtml +14 -0
  27. data/lib/sdoc/generator/template/shtml/_context.rhtml +164 -0
  28. data/lib/sdoc/generator/template/shtml/class.rhtml +46 -0
  29. data/lib/sdoc/generator/template/shtml/file.rhtml +37 -0
  30. data/lib/sdoc/generator/template/shtml/index.rhtml +14 -0
  31. data/lib/sdoc/generator/template/shtml/resources/css/main.css +191 -0
  32. data/lib/sdoc/generator/template/shtml/resources/css/panel.css +383 -0
  33. data/lib/sdoc/generator/template/shtml/resources/css/reset.css +53 -0
  34. data/lib/sdoc/generator/template/shtml/resources/i/arrows.png +0 -0
  35. data/lib/sdoc/generator/template/shtml/resources/i/results_bg.png +0 -0
  36. data/lib/sdoc/generator/template/shtml/resources/i/tree_bg.png +0 -0
  37. data/lib/sdoc/generator/template/shtml/resources/js/jquery-1.3.2.min.js +19 -0
  38. data/lib/sdoc/generator/template/shtml/resources/js/main.js +34 -0
  39. data/lib/sdoc/generator/template/shtml/resources/js/searchdoc.js +620 -0
  40. data/lib/sdoc/generator/template/shtml/resources/panel/index.html +71 -0
  41. data/lib/sdoc/github.rb +64 -0
  42. data/lib/sdoc/helpers.rb +26 -0
  43. data/lib/sdoc/merge.rb +217 -0
  44. data/lib/sdoc/templatable.rb +58 -0
  45. metadata +117 -0
@@ -0,0 +1,71 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
3
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4
+
5
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
6
+ <head>
7
+ <title>layout</title>
8
+ <link rel="stylesheet" href="../css/reset.css" type="text/css" media="screen" charset="utf-8" />
9
+ <link rel="stylesheet" href="../css/panel.css" type="text/css" media="screen" charset="utf-8" />
10
+ <script src="search_index.js" type="text/javascript" charset="utf-8"></script>
11
+ <script src="tree.js" type="text/javascript" charset="utf-8"></script>
12
+ <script src="../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
13
+ <script src="../js/searchdoc.js" type="text/javascript" charset="utf-8"></script>
14
+ <script type="text/javascript" charset="utf-8">
15
+ //<![CDATA[
16
+ function placeholder() {
17
+ if (jQuery.browser.safari) return;
18
+ $('#search-label').click(function() {
19
+ $('#search').focus();
20
+ $('#search-label').hide();
21
+ });
22
+
23
+ $('#search').focus(function() {
24
+ $('#search-label').hide();
25
+ });
26
+ $('#search').blur(function() {
27
+ this.value == '' && $('#search-label').show()
28
+ });
29
+
30
+ $('#search')[0].value == '' && $('#search-label').show();
31
+ }
32
+ $(function() {
33
+ placeholder();
34
+ var panel = new Searchdoc.Panel($('#panel'), search_data, tree, top.frames[1]);
35
+ $('#search').focus();
36
+
37
+ var s = window.parent.location.search.match(/\?q=(.*)$/);
38
+ if (s) {
39
+ s = decodeURIComponent(s[1]).replace(/\+/g, ' ');
40
+ if (s.length > 0)
41
+ {
42
+ $('#search').val(s);
43
+ panel.search(s, true);
44
+ }
45
+ }
46
+ })
47
+ //]]>
48
+ </script>
49
+ </head>
50
+ <body>
51
+ <div class="panel panel_tree" id="panel">
52
+ <div class="header">
53
+ <div>
54
+ <label for="search" id="search-label" style="display: none">Search</label>
55
+ <table>
56
+ <tr><td>
57
+ <input type="Search" placeholder="Search" autosave="searchdoc" results="10" id="search" autocomplete="off"/>
58
+ </td></tr>
59
+ </table></div>
60
+ </div>
61
+ <div class="tree">
62
+ <ul>
63
+ </ul>
64
+ </div>
65
+ <div class="result">
66
+ <ul>
67
+ </ul>
68
+ </div>
69
+ </div>
70
+ </body>
71
+ </html>
@@ -0,0 +1,64 @@
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 commit_sha1(path)
23
+ name = File.basename(path)
24
+ s = in_dir(File.join(basedir, File.dirname(path))) do
25
+ `git log -1 --pretty=format:"commit %H" #{name}`
26
+ end
27
+ m = s.match(/commit\s+(\S+)/)
28
+ m ? m[1] : false
29
+ end
30
+
31
+ def repository_url(path)
32
+ s = in_dir(File.join(basedir, File.dirname(path))) do
33
+ `git config --get remote.origin.url`
34
+ end
35
+ m = s.match(%r{github.com[/:](.*)\.git$})
36
+ m ? "http://github.com/#{m[1]}/blob/" : false
37
+ end
38
+
39
+ def path_relative_to_repository(path)
40
+ absolute_path = File.join(basedir, path)
41
+ root = path_to_git_dir(File.dirname(absolute_path))
42
+ absolute_path[root.size..absolute_path.size]
43
+ end
44
+
45
+ def path_to_git_dir(path)
46
+ while !path.empty? && path != '.'
47
+ if (File.exists? File.join(path, '.git'))
48
+ return path
49
+ end
50
+ path = File.dirname(path)
51
+ end
52
+ ''
53
+ end
54
+
55
+ def in_dir(dir)
56
+ pwd = Dir.pwd
57
+ Dir.chdir dir
58
+ return yield
59
+ rescue Exception => e
60
+ return ''
61
+ ensure
62
+ Dir.chdir pwd
63
+ end
64
+ 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,217 @@
1
+ require 'optparse'
2
+ require 'pathname'
3
+ require 'fileutils'
4
+ require 'json'
5
+
6
+ require 'sdoc/templatable'
7
+
8
+ class SDoc::Merge
9
+ include SDoc::Templatable
10
+
11
+ FLAG_FILE = "created.rid"
12
+
13
+ def initialize()
14
+ @names = []
15
+ @urls = []
16
+ @op_dir = 'doc'
17
+ @title = ''
18
+ @directories = []
19
+ template_dir = RDoc::Generator::SHtml.template_dir('merge')
20
+ @template_dir = Pathname.new File.expand_path(template_dir)
21
+ end
22
+
23
+ def merge(options)
24
+ parse_options options
25
+
26
+ @outputdir = Pathname.new( @op_dir )
27
+
28
+ check_directories
29
+ setup_output_dir
30
+ setup_names
31
+ copy_files
32
+ copy_docs if @urls.empty?
33
+ merge_search_index
34
+ merge_tree
35
+ generate_index_file
36
+ end
37
+
38
+ def parse_options(options)
39
+ opts = OptionParser.new do |opt|
40
+ opt.banner = "Usage: sdoc-merge [options] directories"
41
+
42
+ opt.on("-n", "--names [NAMES]", "Names of merged repositories. Comma separated") do |v|
43
+ @names = v.split(',').map{|name| name.strip }
44
+ end
45
+
46
+ opt.on("-o", "--op [DIRECTORY]", "Set the output directory") do |v|
47
+ @op_dir = v
48
+ end
49
+
50
+ opt.on("-t", "--title [TITLE]", "Set the title of merged file") do |v|
51
+ @title = v
52
+ end
53
+
54
+ opt.on("-u", "--urls [URLS]", "Paths to merged docs. If you \n" +
55
+ "set this files and classes won't be actualy copied to merged build") do |v|
56
+ @urls = v.split(' ').map{|name| name.strip }
57
+ end
58
+ end
59
+ opts.parse! options
60
+ @directories = options.dup
61
+ end
62
+
63
+ def merge_tree
64
+ tree = []
65
+ @directories.each_with_index do |dir, i|
66
+ name = @names[i]
67
+ url = @urls.empty? ? name : @urls[i]
68
+ filename = File.join dir, RDoc::Generator::SHtml::TREE_FILE
69
+ data = open(filename).read.sub(/var tree =\s*/, '')
70
+ subtree = JSON.parse data
71
+ item = [
72
+ name,
73
+ url + '/' + extract_index_path(dir),
74
+ '',
75
+ append_path(subtree, url)
76
+ ]
77
+ tree << item
78
+ end
79
+
80
+ dst = File.join @op_dir, RDoc::Generator::SHtml::TREE_FILE
81
+ FileUtils.mkdir_p File.dirname(dst)
82
+ File.open(dst, "w", 0644) do |f|
83
+ f.write('var tree = '); f.write(tree.to_json)
84
+ end
85
+ end
86
+
87
+ def append_path subtree, path
88
+ subtree.map do |item|
89
+ item[1] = path + '/' + item[1] unless item[1].empty?
90
+ item[3] = append_path item[3], path
91
+ item
92
+ end
93
+ end
94
+
95
+ def merge_search_index
96
+ items = []
97
+ @indexes = {}
98
+ @directories.each_with_index do |dir, i|
99
+ name = @names[i]
100
+ url = @urls.empty? ? name : @urls[i]
101
+ filename = File.join dir, RDoc::Generator::SHtml::SEARCH_INDEX_FILE
102
+ data = open(filename).read.sub(/var search_data =\s*/, '')
103
+ subindex = JSON.parse data
104
+ @indexes[name] = subindex
105
+
106
+ searchIndex = subindex["index"]["searchIndex"]
107
+ longSearchIndex = subindex["index"]["longSearchIndex"]
108
+ subindex["index"]["info"].each_with_index do |info, j|
109
+ info[2] = url + '/' + info[2]
110
+ info[6] = i
111
+ items << {
112
+ :info => info,
113
+ :searchIndex => searchIndex[j],
114
+ :longSearchIndex => name + ' ' + longSearchIndex[j]
115
+ }
116
+ end
117
+ end
118
+ items.sort! do |a, b|
119
+ # type (class/method/file) or name or doc part or namespace
120
+ [a[:info][5], a[:info][0], a[:info][6], a[:info][1]] <=> [b[:info][5], b[:info][0], b[:info][6], b[:info][1]]
121
+ end
122
+
123
+ index = {
124
+ :searchIndex => items.map{|item| item[:searchIndex]},
125
+ :longSearchIndex => items.map{|item| item[:longSearchIndex]},
126
+ :info => items.map{|item| item[:info]}
127
+ }
128
+ search_data = {
129
+ :index => index,
130
+ :badges => @names
131
+ }
132
+
133
+ dst = File.join @op_dir, RDoc::Generator::SHtml::SEARCH_INDEX_FILE
134
+ FileUtils.mkdir_p File.dirname(dst)
135
+ File.open(dst, "w", 0644) do |f|
136
+ f.write('var search_data = '); f.write(search_data.to_json)
137
+ end
138
+ end
139
+
140
+ def extract_index_path dir
141
+ filename = File.join dir, 'index.html'
142
+ content = File.open(filename) { |f| f.read }
143
+ match = content.match(/<frame\s+src="([^"]+)"\s+name="docwin"/mi)
144
+ if match
145
+ match[1]
146
+ else
147
+ ''
148
+ end
149
+ end
150
+
151
+ def generate_index_file
152
+ templatefile = @template_dir + 'index.rhtml'
153
+ outfile = @outputdir + 'index.html'
154
+ url = @urls.empty? ? @names[0] : @urls[0]
155
+ index_path = url + '/' + extract_index_path(@directories[0])
156
+
157
+ render_template templatefile, binding(), outfile
158
+ end
159
+
160
+ def setup_names
161
+ unless @names.size > 0
162
+ @directories.each do |dir|
163
+ name = File.basename dir
164
+ name = File.basename File.dirname(dir) if name == 'doc'
165
+ @names << name
166
+ end
167
+ end
168
+ end
169
+
170
+ def copy_docs
171
+ @directories.each_with_index do |dir, i|
172
+ name = @names[i]
173
+ index_dir = File.dirname(RDoc::Generator::SHtml::TREE_FILE)
174
+ FileUtils.mkdir_p(File.join(@op_dir, name))
175
+
176
+ Dir.new(dir).each do |item|
177
+ if File.directory?(File.join(dir, item)) && item != '.' && item != '..' && item != index_dir
178
+ FileUtils.cp_r File.join(dir, item), File.join(@op_dir, name, item), :preserve => true
179
+ end
180
+ end
181
+ end
182
+ end
183
+
184
+ def copy_files
185
+ dir = @directories.first
186
+ Dir.new(dir).each do |item|
187
+ if item != '.' && item != '..' && item != RDoc::Generator::SHtml::FILE_DIR && item != RDoc::Generator::SHtml::CLASS_DIR
188
+ FileUtils.cp_r File.join(dir, item), @op_dir, :preserve => true
189
+ end
190
+ end
191
+ end
192
+
193
+ def setup_output_dir
194
+ if File.exists? @op_dir
195
+ error "#{@op_dir} allready exists"
196
+ end
197
+ FileUtils.mkdir_p @op_dir
198
+ end
199
+
200
+ def check_directories
201
+ @directories.each do |dir|
202
+ unless File.exists?(File.join(dir, FLAG_FILE)) &&
203
+ File.exists?(File.join(dir, RDoc::Generator::SHtml::TREE_FILE)) &&
204
+ File.exists?(File.join(dir, RDoc::Generator::SHtml::SEARCH_INDEX_FILE))
205
+ error "#{dir} does not seem to be an sdoc directory"
206
+ end
207
+ end
208
+ end
209
+
210
+ ##
211
+ # Report an error message and exit
212
+
213
+ def error(msg)
214
+ raise RDoc::Error, msg
215
+ end
216
+
217
+ end
@@ -0,0 +1,58 @@
1
+ require "sdoc"
2
+
3
+ module SDoc::Templatable
4
+ ### Load and render the erb template in the given +templatefile+ within the
5
+ ### specified +context+ (a Binding object) and return output
6
+ ### Both +templatefile+ and +outfile+ should be Pathname-like objects.
7
+ def eval_template(templatefile, context)
8
+ template_src = templatefile.read
9
+ template = ERB.new( template_src, nil, '<>' )
10
+ template.filename = templatefile.to_s
11
+
12
+ begin
13
+ template.result( context )
14
+ rescue NoMethodError => err
15
+ raise RDoc::Error, "Error while evaluating %s: %s (at %p)" % [
16
+ templatefile.to_s,
17
+ err.message,
18
+ eval( "_erbout[-50,50]", context )
19
+ ], err.backtrace
20
+ end
21
+ end
22
+
23
+ ### Load and render the erb template with the given +template_name+ within
24
+ ### current context. Adds all +local_assigns+ to context
25
+ def include_template(template_name, local_assigns = {})
26
+ source = local_assigns.keys.map { |key| "#{key} = local_assigns[:#{key}];" }.join
27
+ eval("#{source};templatefile = @template_dir + template_name;eval_template(templatefile, binding)")
28
+ end
29
+
30
+ ### Load and render the erb template in the given +templatefile+ within the
31
+ ### specified +context+ (a Binding object) and write it out to +outfile+.
32
+ ### Both +templatefile+ and +outfile+ should be Pathname-like objects.
33
+ def render_template( templatefile, context, outfile )
34
+ output = eval_template(templatefile, context)
35
+
36
+ # TODO delete this dirty hack when documentation for example for GeneratorMethods will not be cutted off by <script> tag
37
+ begin
38
+ if output.respond_to? :force_encoding
39
+ encoding = output.encoding
40
+ output = output.force_encoding('ASCII-8BIT').gsub('<script>', '&lt;script;&gt;').force_encoding(encoding)
41
+ else
42
+ output = output.gsub('<script>', '&lt;script&gt;')
43
+ end
44
+ rescue Exception => e
45
+
46
+ end
47
+
48
+ unless $dryrun
49
+ outfile.dirname.mkpath
50
+ outfile.open( 'w', 0644 ) do |file|
51
+ file.print( output )
52
+ end
53
+ else
54
+ debug_msg " would have written %d bytes to %s" %
55
+ [ output.length, outfile ]
56
+ end
57
+ end
58
+ end
metadata ADDED
@@ -0,0 +1,117 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sdoc
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.12.1
5
+ platform: ruby
6
+ authors:
7
+ - Volodya Kolesnikov
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-04-24 00:00:00 +04:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: json
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.1.3
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: rdoc
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.4.2
34
+ version:
35
+ description:
36
+ email: voloko@gmail.com
37
+ executables:
38
+ - sdoc
39
+ - sdoc-merge
40
+ extensions: []
41
+
42
+ extra_rdoc_files:
43
+ - LICENSE
44
+ - README.rdoc
45
+ files:
46
+ - LICENSE
47
+ - README.rdoc
48
+ - Rakefile
49
+ - VERSION.yml
50
+ - bin/sdoc
51
+ - bin/sdoc-merge
52
+ - lib/rdoc/discover.rb
53
+ - lib/sdoc.rb
54
+ - lib/sdoc/c_parser_fix.rb
55
+ - lib/sdoc/generator/shtml.rb
56
+ - lib/sdoc/generator/template/direct/_context.rhtml
57
+ - lib/sdoc/generator/template/direct/class.rhtml
58
+ - lib/sdoc/generator/template/direct/file.rhtml
59
+ - lib/sdoc/generator/template/direct/index.rhtml
60
+ - lib/sdoc/generator/template/direct/resources/css/main.css
61
+ - lib/sdoc/generator/template/direct/resources/css/panel.css
62
+ - lib/sdoc/generator/template/direct/resources/css/reset.css
63
+ - lib/sdoc/generator/template/direct/resources/i/arrows.png
64
+ - lib/sdoc/generator/template/direct/resources/i/results_bg.png
65
+ - lib/sdoc/generator/template/direct/resources/i/tree_bg.png
66
+ - lib/sdoc/generator/template/direct/resources/js/jquery-1.3.2.min.js
67
+ - lib/sdoc/generator/template/direct/resources/js/jquery-effect.js
68
+ - lib/sdoc/generator/template/direct/resources/js/main.js
69
+ - lib/sdoc/generator/template/direct/resources/js/searchdoc.js
70
+ - lib/sdoc/generator/template/direct/resources/panel/index.html
71
+ - lib/sdoc/generator/template/merge/index.rhtml
72
+ - lib/sdoc/generator/template/shtml/_context.rhtml
73
+ - lib/sdoc/generator/template/shtml/class.rhtml
74
+ - lib/sdoc/generator/template/shtml/file.rhtml
75
+ - lib/sdoc/generator/template/shtml/index.rhtml
76
+ - lib/sdoc/generator/template/shtml/resources/css/main.css
77
+ - lib/sdoc/generator/template/shtml/resources/css/panel.css
78
+ - lib/sdoc/generator/template/shtml/resources/css/reset.css
79
+ - lib/sdoc/generator/template/shtml/resources/i/arrows.png
80
+ - lib/sdoc/generator/template/shtml/resources/i/results_bg.png
81
+ - lib/sdoc/generator/template/shtml/resources/i/tree_bg.png
82
+ - lib/sdoc/generator/template/shtml/resources/js/jquery-1.3.2.min.js
83
+ - lib/sdoc/generator/template/shtml/resources/js/main.js
84
+ - lib/sdoc/generator/template/shtml/resources/js/searchdoc.js
85
+ - lib/sdoc/generator/template/shtml/resources/panel/index.html
86
+ - lib/sdoc/github.rb
87
+ - lib/sdoc/helpers.rb
88
+ - lib/sdoc/merge.rb
89
+ - lib/sdoc/templatable.rb
90
+ has_rdoc: true
91
+ homepage: http://github.com/voloko/sdoc
92
+ post_install_message:
93
+ rdoc_options:
94
+ - --charset=UTF-8
95
+ require_paths:
96
+ - lib
97
+ required_ruby_version: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: "0"
102
+ version:
103
+ required_rubygems_version: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: "0"
108
+ version:
109
+ requirements: []
110
+
111
+ rubyforge_project:
112
+ rubygems_version: 1.3.1
113
+ signing_key:
114
+ specification_version: 2
115
+ summary: rdoc html with javascript search index.
116
+ test_files: []
117
+