sdoc_local_editor 0.3.17
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/.rake_tasks~ +20 -0
- data/LICENSE +110 -0
- data/README.rdoc +37 -0
- data/Rakefile +12 -0
- data/bin/sdoc_local_editor +27 -0
- data/bin/sdoc_local_editor_merge +24 -0
- data/lib/rdoc/discover.rb +5 -0
- data/lib/rdoc/generator/template/merge/index.rhtml +14 -0
- data/lib/rdoc/generator/template/rails/_context.rhtml +210 -0
- data/lib/rdoc/generator/template/rails/_head.rhtml +7 -0
- data/lib/rdoc/generator/template/rails/class.rhtml +39 -0
- data/lib/rdoc/generator/template/rails/file.rhtml +37 -0
- data/lib/rdoc/generator/template/rails/index.rhtml +13 -0
- data/lib/rdoc/generator/template/rails/resources/apple-touch-icon.png +0 -0
- data/lib/rdoc/generator/template/rails/resources/css/github.css +129 -0
- data/lib/rdoc/generator/template/rails/resources/css/main.css +346 -0
- data/lib/rdoc/generator/template/rails/resources/css/panel.css +389 -0
- data/lib/rdoc/generator/template/rails/resources/css/reset.css +48 -0
- data/lib/rdoc/generator/template/rails/resources/favicon.ico +0 -0
- data/lib/rdoc/generator/template/rails/resources/i/arrows.png +0 -0
- data/lib/rdoc/generator/template/rails/resources/i/results_bg.png +0 -0
- data/lib/rdoc/generator/template/rails/resources/i/tree_bg.png +0 -0
- data/lib/rdoc/generator/template/rails/resources/js/highlight.pack.js +1 -0
- data/lib/rdoc/generator/template/rails/resources/js/jquery-1.3.2.min.js +19 -0
- data/lib/rdoc/generator/template/rails/resources/js/jquery-effect.js +593 -0
- data/lib/rdoc/generator/template/rails/resources/js/main.js +20 -0
- data/lib/rdoc/generator/template/rails/resources/js/searchdoc.js +441 -0
- data/lib/rdoc/generator/template/rails/resources/panel/index.html +73 -0
- data/lib/rdoc/generator/template/rails/se_index.rhtml +8 -0
- data/lib/rdoc/generator/template/sdoc/_context.rhtml +221 -0
- data/lib/rdoc/generator/template/sdoc/_head.rhtml +7 -0
- data/lib/rdoc/generator/template/sdoc/class.rhtml +39 -0
- data/lib/rdoc/generator/template/sdoc/file.rhtml +29 -0
- data/lib/rdoc/generator/template/sdoc/index.rhtml +13 -0
- data/lib/rdoc/generator/template/sdoc/resources/apple-touch-icon.png +0 -0
- data/lib/rdoc/generator/template/sdoc/resources/css/github.css +129 -0
- data/lib/rdoc/generator/template/sdoc/resources/css/main.css +333 -0
- data/lib/rdoc/generator/template/sdoc/resources/css/panel.css +384 -0
- data/lib/rdoc/generator/template/sdoc/resources/css/reset.css +48 -0
- data/lib/rdoc/generator/template/sdoc/resources/favicon.ico +0 -0
- data/lib/rdoc/generator/template/sdoc/resources/i/arrows.png +0 -0
- data/lib/rdoc/generator/template/sdoc/resources/i/results_bg.png +0 -0
- data/lib/rdoc/generator/template/sdoc/resources/i/tree_bg.png +0 -0
- data/lib/rdoc/generator/template/sdoc/resources/js/highlight.pack.js +1 -0
- data/lib/rdoc/generator/template/sdoc/resources/js/jquery-1.3.2.min.js +19 -0
- data/lib/rdoc/generator/template/sdoc/resources/js/jquery-effect.js +593 -0
- data/lib/rdoc/generator/template/sdoc/resources/js/main.js +24 -0
- data/lib/rdoc/generator/template/sdoc/resources/js/searchdoc.js +442 -0
- data/lib/rdoc/generator/template/sdoc/resources/panel/index.html +73 -0
- data/lib/rdoc/generator/template/sdoc/se_index.rhtml +8 -0
- data/lib/sdoc_local_editor.rb +9 -0
- data/lib/sdoc_local_editor/generator.rb +418 -0
- data/lib/sdoc_local_editor/github.rb +61 -0
- data/lib/sdoc_local_editor/helpers.rb +26 -0
- data/lib/sdoc_local_editor/merge.rb +223 -0
- data/lib/sdoc_local_editor/templatable.rb +60 -0
- data/sdoc_local_editor.gemspec +31 -0
- 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>', '<script;>').force_encoding(encoding)
|
43
|
+
else
|
44
|
+
output = output.gsub('<script>', '<script>')
|
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:
|