sdoc 0.2.12.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +21 -0
- data/README.rdoc +38 -0
- data/Rakefile +37 -0
- data/VERSION.yml +4 -0
- data/bin/sdoc +11 -0
- data/bin/sdoc-merge +12 -0
- data/lib/rdoc/discover.rb +1 -0
- data/lib/sdoc.rb +23 -0
- data/lib/sdoc/c_parser_fix.rb +31 -0
- data/lib/sdoc/generator/shtml.rb +314 -0
- data/lib/sdoc/generator/template/direct/_context.rhtml +172 -0
- data/lib/sdoc/generator/template/direct/class.rhtml +40 -0
- data/lib/sdoc/generator/template/direct/file.rhtml +30 -0
- data/lib/sdoc/generator/template/direct/index.rhtml +14 -0
- data/lib/sdoc/generator/template/direct/resources/css/main.css +263 -0
- data/lib/sdoc/generator/template/direct/resources/css/panel.css +383 -0
- data/lib/sdoc/generator/template/direct/resources/css/reset.css +53 -0
- data/lib/sdoc/generator/template/direct/resources/i/arrows.png +0 -0
- data/lib/sdoc/generator/template/direct/resources/i/results_bg.png +0 -0
- data/lib/sdoc/generator/template/direct/resources/i/tree_bg.png +0 -0
- data/lib/sdoc/generator/template/direct/resources/js/jquery-1.3.2.min.js +19 -0
- data/lib/sdoc/generator/template/direct/resources/js/jquery-effect.js +593 -0
- data/lib/sdoc/generator/template/direct/resources/js/main.js +22 -0
- data/lib/sdoc/generator/template/direct/resources/js/searchdoc.js +620 -0
- data/lib/sdoc/generator/template/direct/resources/panel/index.html +71 -0
- data/lib/sdoc/generator/template/merge/index.rhtml +14 -0
- data/lib/sdoc/generator/template/shtml/_context.rhtml +164 -0
- data/lib/sdoc/generator/template/shtml/class.rhtml +46 -0
- data/lib/sdoc/generator/template/shtml/file.rhtml +37 -0
- data/lib/sdoc/generator/template/shtml/index.rhtml +14 -0
- data/lib/sdoc/generator/template/shtml/resources/css/main.css +191 -0
- data/lib/sdoc/generator/template/shtml/resources/css/panel.css +383 -0
- data/lib/sdoc/generator/template/shtml/resources/css/reset.css +53 -0
- data/lib/sdoc/generator/template/shtml/resources/i/arrows.png +0 -0
- data/lib/sdoc/generator/template/shtml/resources/i/results_bg.png +0 -0
- data/lib/sdoc/generator/template/shtml/resources/i/tree_bg.png +0 -0
- data/lib/sdoc/generator/template/shtml/resources/js/jquery-1.3.2.min.js +19 -0
- data/lib/sdoc/generator/template/shtml/resources/js/main.js +34 -0
- data/lib/sdoc/generator/template/shtml/resources/js/searchdoc.js +620 -0
- data/lib/sdoc/generator/template/shtml/resources/panel/index.html +71 -0
- data/lib/sdoc/github.rb +64 -0
- data/lib/sdoc/helpers.rb +26 -0
- data/lib/sdoc/merge.rb +217 -0
- data/lib/sdoc/templatable.rb +58 -0
- 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>
|
data/lib/sdoc/github.rb
ADDED
@@ -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
|
data/lib/sdoc/helpers.rb
ADDED
@@ -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
|
data/lib/sdoc/merge.rb
ADDED
@@ -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>', '<script;>').force_encoding(encoding)
|
41
|
+
else
|
42
|
+
output = output.gsub('<script>', '<script>')
|
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
|
+
|