sdoc 0.2.20 → 0.3.0
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.
- data/.rake_tasks~ +20 -0
- data/Rakefile +9 -48
- data/VERSION.yml +2 -2
- data/bin/sdoc +21 -5
- data/bin/sdoc-merge +16 -3
- data/lib/rdoc/discover.rb +5 -1
- data/lib/sdoc.rb +3 -19
- data/lib/sdoc/{generator/shtml.rb → generator.rb} +79 -51
- data/lib/sdoc/generator/template/direct/_context.rhtml +4 -5
- data/lib/sdoc/generator/template/shtml/_context.rhtml +4 -5
- data/lib/sdoc/merge.rb +11 -4
- data/lib/sdoc/templatable.rb +1 -0
- data/sdoc.gemspec +24 -83
- metadata +17 -19
- data/lib/sdoc/c_parser_fix.rb +0 -31
- data/lib/sdoc/json_backend.rb +0 -15
data/.rake_tasks~
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
build
|
2
|
+
check_dependencies
|
3
|
+
check_dependencies:development
|
4
|
+
check_dependencies:runtime
|
5
|
+
gem_file_list
|
6
|
+
gemspec
|
7
|
+
gemspec:debug
|
8
|
+
gemspec:generate
|
9
|
+
gemspec:validate
|
10
|
+
ghost
|
11
|
+
git:release
|
12
|
+
github:release
|
13
|
+
install
|
14
|
+
release
|
15
|
+
test
|
16
|
+
version
|
17
|
+
version:bump:major
|
18
|
+
version:bump:minor
|
19
|
+
version:bump:patch
|
20
|
+
version:write
|
data/Rakefile
CHANGED
@@ -1,51 +1,12 @@
|
|
1
|
-
require '
|
2
|
-
require 'rake/gempackagetask'
|
1
|
+
require 'rubygems'
|
3
2
|
|
4
|
-
|
3
|
+
require 'bundler'
|
4
|
+
Bundler::GemHelper.install_tasks
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
t.pattern = 'test/**/*_test.rb'
|
9
|
-
t.warning = true
|
10
|
-
t.verbose = true
|
11
|
-
end
|
6
|
+
gem 'rspec', '>= 2.5.0'
|
7
|
+
require 'rspec/core/rake_task'
|
12
8
|
|
13
|
-
desc "
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
f.include('rdoc/**/**')
|
18
|
-
f.exclude('rdoc/test/**/**')
|
19
|
-
print "%w(" + f.to_a.select{|file| !File.directory? file }.join(' ') + ")\n"
|
20
|
-
end
|
21
|
-
|
22
|
-
begin
|
23
|
-
require 'jeweler'
|
24
|
-
|
25
|
-
spec = Gem::Specification.new do |gem|
|
26
|
-
gem.name = "sdoc"
|
27
|
-
gem.summary = "rdoc html with javascript search index."
|
28
|
-
gem.email = "voloko@gmail.com"
|
29
|
-
gem.homepage = "http://github.com/voloko/sdoc"
|
30
|
-
gem.authors = ["Volodya Kolesnikov"]
|
31
|
-
gem.add_dependency("rdoc", "= 2.4.3")
|
32
|
-
|
33
|
-
if defined?(JRUBY_VERSION)
|
34
|
-
gem.platform = Gem::Platform.new(['universal', 'java', nil])
|
35
|
-
gem.add_dependency("json_pure", ">= 1.1.3")
|
36
|
-
else
|
37
|
-
gem.add_dependency("json", ">= 1.1.3")
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
jewler = Jeweler::Tasks.new(spec)
|
42
|
-
|
43
|
-
desc "Replace system gem with symlink to this folder"
|
44
|
-
task 'ghost' do
|
45
|
-
path = Gem.searcher.find(jewler.gemspec.name).full_gem_path
|
46
|
-
system 'sudo', 'rm', '-r', path
|
47
|
-
symlink File.expand_path('.'), path
|
48
|
-
end
|
49
|
-
rescue LoadError
|
50
|
-
puts "Jeweler not available. Install it with: (sudo) gem install jeweler"
|
51
|
-
end
|
9
|
+
desc "Run all specs"
|
10
|
+
RSpec::Core::RakeTask.new(:spec)
|
11
|
+
task :default => :spec
|
12
|
+
task :test => :spec
|
data/VERSION.yml
CHANGED
data/bin/sdoc
CHANGED
@@ -1,11 +1,27 @@
|
|
1
1
|
#!/usr/bin/env ruby -KU
|
2
|
-
|
3
2
|
require File.dirname(__FILE__) + '/../lib/sdoc' # add extensions
|
4
3
|
|
5
4
|
begin
|
5
|
+
ARGV.push('--format=sdoc') if ARGV.grep(/\A(-f|--fmt|--format|-r|-R|--ri|--ri-site)\b/).empty?
|
6
6
|
r = RDoc::RDoc.new
|
7
|
-
r.document
|
8
|
-
rescue
|
9
|
-
|
10
|
-
|
7
|
+
r.document ARGV
|
8
|
+
rescue SystemExit
|
9
|
+
raise
|
10
|
+
rescue Exception => e
|
11
|
+
if $DEBUG_RDOC then
|
12
|
+
$stderr.puts e.message
|
13
|
+
$stderr.puts "#{e.backtrace.join "\n\t"}"
|
14
|
+
$stderr.puts
|
15
|
+
elsif Interrupt === e then
|
16
|
+
$stderr.puts
|
17
|
+
$stderr.puts 'Interrupted'
|
18
|
+
else
|
19
|
+
$stderr.puts "uh-oh! RDoc had a problem:"
|
20
|
+
$stderr.puts e.message
|
21
|
+
$stderr.puts
|
22
|
+
$stderr.puts "run with --debug for full backtrace"
|
23
|
+
end
|
24
|
+
|
25
|
+
exit 1
|
11
26
|
end
|
27
|
+
|
data/bin/sdoc-merge
CHANGED
@@ -6,7 +6,20 @@ require 'sdoc/merge'
|
|
6
6
|
begin
|
7
7
|
m = SDoc::Merge.new
|
8
8
|
m.merge(ARGV)
|
9
|
-
rescue
|
10
|
-
|
11
|
-
|
9
|
+
rescue SystemExit
|
10
|
+
raise
|
11
|
+
rescue Exception => e
|
12
|
+
if $DEBUG_RDOC then
|
13
|
+
$stderr.puts e.message
|
14
|
+
$stderr.puts "#{e.backtrace.join "\n\t"}"
|
15
|
+
$stderr.puts
|
16
|
+
elsif Interrupt === e then
|
17
|
+
$stderr.puts
|
18
|
+
$stderr.puts 'Interrupted'
|
19
|
+
else
|
20
|
+
$stderr.puts "uh-oh! SDoc merge had a problem:"
|
21
|
+
$stderr.puts e.message
|
22
|
+
end
|
23
|
+
exit 1
|
12
24
|
end
|
25
|
+
|
data/lib/rdoc/discover.rb
CHANGED
data/lib/sdoc.rb
CHANGED
@@ -1,23 +1,7 @@
|
|
1
1
|
$:.unshift File.dirname(__FILE__)
|
2
2
|
require "rubygems"
|
3
|
-
gem
|
3
|
+
gem 'rdoc', '~> 3'
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
module SDoc
|
8
|
-
end
|
9
|
-
|
10
|
-
require "sdoc/generator/shtml"
|
11
|
-
require "sdoc/c_parser_fix"
|
12
|
-
|
13
|
-
unless defined? SDOC_FIXED_RDOC_OPTIONS
|
14
|
-
SDOC_FIXED_RDOC_OPTIONS = 1
|
15
|
-
class RDoc::Options
|
16
|
-
alias_method :rdoc_initialize, :initialize
|
5
|
+
module SDoc end
|
17
6
|
|
18
|
-
|
19
|
-
rdoc_initialize
|
20
|
-
@generator = RDoc::Generator::SHtml
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
7
|
+
require 'sdoc/generator'
|
@@ -1,17 +1,20 @@
|
|
1
|
-
require '
|
2
|
-
require '
|
1
|
+
require 'rubygems'
|
2
|
+
require 'erb'
|
3
3
|
require 'pathname'
|
4
4
|
require 'fileutils'
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
require '
|
5
|
+
if Gem.available? "json"
|
6
|
+
gem "json", ">= 1.1.3"
|
7
|
+
else
|
8
|
+
gem "json_pure", ">= 1.1.3"
|
9
|
+
end
|
10
|
+
require 'json'
|
11
11
|
|
12
12
|
require 'sdoc/github'
|
13
13
|
require 'sdoc/templatable'
|
14
14
|
require 'sdoc/helpers'
|
15
|
+
require 'rdoc'
|
16
|
+
require 'rdoc/rdoc'
|
17
|
+
require 'rdoc/generator'
|
15
18
|
|
16
19
|
class RDoc::ClassModule
|
17
20
|
def document_self_or_methods
|
@@ -23,14 +26,21 @@ class RDoc::ClassModule
|
|
23
26
|
end
|
24
27
|
end
|
25
28
|
|
26
|
-
class RDoc::
|
27
|
-
|
29
|
+
class RDoc::Options
|
30
|
+
attr_accessor :github
|
31
|
+
end
|
32
|
+
|
33
|
+
class RDoc::Generator::SDoc
|
34
|
+
RDoc::RDoc.add_generator self
|
35
|
+
|
36
|
+
DESCRIPTION = 'Searchable HTML documentation'
|
37
|
+
|
28
38
|
include ERB::Util
|
29
39
|
include SDoc::GitHub
|
30
40
|
include SDoc::Templatable
|
31
41
|
include SDoc::Helpers
|
32
42
|
|
33
|
-
GENERATOR_DIRS = [File.join('sdoc', 'generator')
|
43
|
+
GENERATOR_DIRS = [File.join('sdoc', 'generator')]
|
34
44
|
|
35
45
|
# Used in js to reduce index sizes
|
36
46
|
TYPE_CLASS = 1
|
@@ -46,19 +56,23 @@ class RDoc::Generator::SHtml
|
|
46
56
|
RESOURCES_DIR = File.join('resources', '.')
|
47
57
|
|
48
58
|
attr_reader :basedir
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
59
|
+
|
60
|
+
attr_reader :options
|
61
|
+
|
62
|
+
def self.setup_options(options)
|
63
|
+
@github = false
|
64
|
+
options.template = 'direct'
|
65
|
+
|
66
|
+
opt = options.option_parser
|
67
|
+
opt.separator nil
|
68
|
+
opt.separator "SDoc generator options:"
|
69
|
+
opt.separator nil
|
70
|
+
opt.on("--github", "-g",
|
71
|
+
"Generate links to github.") do |value|
|
72
|
+
options.github = true
|
61
73
|
end
|
74
|
+
|
75
|
+
opt.separator nil
|
62
76
|
end
|
63
77
|
|
64
78
|
def initialize(options)
|
@@ -70,7 +84,7 @@ class RDoc::Generator::SHtml
|
|
70
84
|
|
71
85
|
template = @options.template || 'direct'
|
72
86
|
|
73
|
-
templ_dir = self.class.
|
87
|
+
templ_dir = self.class.template_dir_for template
|
74
88
|
|
75
89
|
raise RDoc::Error, "could not find template #{template.inspect}" unless
|
76
90
|
templ_dir
|
@@ -79,8 +93,8 @@ class RDoc::Generator::SHtml
|
|
79
93
|
@basedir = Pathname.pwd.expand_path
|
80
94
|
end
|
81
95
|
|
82
|
-
def generate(
|
83
|
-
@outputdir = Pathname.new(
|
96
|
+
def generate(top_levels)
|
97
|
+
@outputdir = Pathname.new(@options.op_dir).expand_path(@basedir)
|
84
98
|
@files = top_levels.sort
|
85
99
|
@classes = RDoc::TopLevel.all_classes_and_modules.sort
|
86
100
|
|
@@ -101,18 +115,28 @@ class RDoc::Generator::SHtml
|
|
101
115
|
FILE_DIR
|
102
116
|
end
|
103
117
|
|
118
|
+
def self.template_dir_for template
|
119
|
+
$LOAD_PATH.map do |path|
|
120
|
+
GENERATOR_DIRS.map do |dir|
|
121
|
+
File.join path, dir, 'template', template
|
122
|
+
end
|
123
|
+
end.flatten.find do |dir|
|
124
|
+
File.directory? dir
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
104
128
|
|
105
129
|
protected
|
106
130
|
### Output progress information if debugging is enabled
|
107
131
|
def debug_msg( *msg )
|
108
132
|
return unless $DEBUG_RDOC
|
109
133
|
$stderr.puts( *msg )
|
110
|
-
end
|
134
|
+
end
|
111
135
|
|
112
136
|
### Create class tree structure and write it as json
|
113
137
|
def generate_class_tree
|
114
138
|
debug_msg "Generating class tree"
|
115
|
-
topclasses = @classes.select {|klass| !(RDoc::ClassModule === klass.parent) }
|
139
|
+
topclasses = @classes.select {|klass| !(RDoc::ClassModule === klass.parent) }
|
116
140
|
tree = generate_file_tree + generate_class_tree_level(topclasses)
|
117
141
|
debug_msg " writing class tree to %s" % TREE_FILE
|
118
142
|
File.open(TREE_FILE, "w", 0644) do |f|
|
@@ -125,9 +149,9 @@ class RDoc::Generator::SHtml
|
|
125
149
|
tree = []
|
126
150
|
classes.select{|c| c.with_documentation? }.sort.each do |klass|
|
127
151
|
item = [
|
128
|
-
klass.name,
|
152
|
+
klass.name,
|
129
153
|
klass.document_self_or_methods ? klass.path : '',
|
130
|
-
klass.module? ? '' : (klass.superclass ? " < #{String === klass.superclass ? klass.superclass : klass.superclass.full_name}" : ''),
|
154
|
+
klass.module? ? '' : (klass.superclass ? " < #{String === klass.superclass ? klass.superclass : klass.superclass.full_name}" : ''),
|
131
155
|
generate_class_tree_level(klass.classes_and_modules)
|
132
156
|
]
|
133
157
|
tree << item
|
@@ -163,16 +187,16 @@ class RDoc::Generator::SHtml
|
|
163
187
|
def add_file_search_index(index)
|
164
188
|
debug_msg " generating file search index"
|
165
189
|
|
166
|
-
@files.select { |file|
|
167
|
-
file.document_self
|
190
|
+
@files.select { |file|
|
191
|
+
file.document_self
|
168
192
|
}.sort.each do |file|
|
169
193
|
index[:searchIndex].push( search_string(file.name) )
|
170
194
|
index[:longSearchIndex].push( search_string(file.path) )
|
171
195
|
index[:info].push([
|
172
|
-
file.name,
|
173
|
-
file.path,
|
174
|
-
file.path,
|
175
|
-
'',
|
196
|
+
file.name,
|
197
|
+
file.path,
|
198
|
+
file.path,
|
199
|
+
'',
|
176
200
|
snippet(file.comment),
|
177
201
|
TYPE_FILE
|
178
202
|
])
|
@@ -183,7 +207,7 @@ class RDoc::Generator::SHtml
|
|
183
207
|
def add_class_search_index(index)
|
184
208
|
debug_msg " generating class search index"
|
185
209
|
|
186
|
-
@classes.select { |klass|
|
210
|
+
@classes.select { |klass|
|
187
211
|
klass.document_self_or_methods
|
188
212
|
}.sort.each do |klass|
|
189
213
|
modulename = klass.module? ? '' : (klass.superclass ? (String === klass.superclass ? klass.superclass : klass.superclass.full_name) : '')
|
@@ -191,10 +215,10 @@ class RDoc::Generator::SHtml
|
|
191
215
|
index[:longSearchIndex].push( search_string(klass.parent.full_name) )
|
192
216
|
files = klass.in_files.map{ |file| file.absolute_name }
|
193
217
|
index[:info].push([
|
194
|
-
klass.name,
|
195
|
-
files.include?(klass.parent.full_name) ? files.first : klass.parent.full_name,
|
196
|
-
klass.path,
|
197
|
-
modulename ? " < #{modulename}" : '',
|
218
|
+
klass.name,
|
219
|
+
files.include?(klass.parent.full_name) ? files.first : klass.parent.full_name,
|
220
|
+
klass.path,
|
221
|
+
modulename ? " < #{modulename}" : '',
|
198
222
|
snippet(klass.comment),
|
199
223
|
TYPE_CLASS
|
200
224
|
])
|
@@ -205,23 +229,27 @@ class RDoc::Generator::SHtml
|
|
205
229
|
def add_method_search_index(index)
|
206
230
|
debug_msg " generating method search index"
|
207
231
|
|
208
|
-
list = @classes.map
|
232
|
+
list = @classes.map do |klass|
|
209
233
|
klass.method_list
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
234
|
+
end.flatten.sort do |a, b|
|
235
|
+
a.name == b.name ?
|
236
|
+
a.parent.full_name <=> b.parent.full_name :
|
237
|
+
a.name <=> b.name
|
238
|
+
end.select do |method|
|
239
|
+
method.document_self
|
240
|
+
end.find_all do |m|
|
241
|
+
m.visibility == :public || m.visibility == :protected ||
|
242
|
+
m.force_documentation
|
215
243
|
end
|
216
244
|
|
217
245
|
list.each do |method|
|
218
246
|
index[:searchIndex].push( search_string(method.name) + '()' )
|
219
247
|
index[:longSearchIndex].push( search_string(method.parent.full_name) )
|
220
248
|
index[:info].push([
|
221
|
-
method.name,
|
222
|
-
method.parent.full_name,
|
223
|
-
method.path,
|
224
|
-
method.params,
|
249
|
+
method.name,
|
250
|
+
method.parent.full_name,
|
251
|
+
method.path,
|
252
|
+
method.params,
|
225
253
|
snippet(method.comment),
|
226
254
|
TYPE_METHOD
|
227
255
|
])
|
@@ -26,9 +26,7 @@
|
|
26
26
|
|
27
27
|
<%
|
28
28
|
list = context.method_list
|
29
|
-
|
30
|
-
list = list.find_all {|m| m.visibility == :public || m.visibility == :protected || m.force_documentation }
|
31
|
-
end
|
29
|
+
list = list.find_all {|m| m.visibility == :public || m.visibility == :protected || m.force_documentation }
|
32
30
|
%>
|
33
31
|
<% unless list.empty? %>
|
34
32
|
<div class="sectiontitle">Methods</div>
|
@@ -118,7 +116,7 @@
|
|
118
116
|
next if visibilities.empty?
|
119
117
|
visibilities.each do |visibility, methods|
|
120
118
|
next if methods.empty?
|
121
|
-
next unless
|
119
|
+
next unless visibility == :public || visibility == :protected || methods.any? {|m| m.force_documentation }
|
122
120
|
%>
|
123
121
|
<div class="sectiontitle"><%= type.capitalize %> <%= visibility.to_s.capitalize %> methods</div>
|
124
122
|
<% methods.each do |method| %>
|
@@ -149,6 +147,7 @@
|
|
149
147
|
<p class="source-link">
|
150
148
|
Source: <a href="javascript:toggleSource('<%= method.aref %>_source')" id="l_<%= method.aref %>_source">show</a>
|
151
149
|
<%
|
150
|
+
if options.github
|
152
151
|
if markup =~ /File\s(\S+), line (\d+)/
|
153
152
|
path = $1
|
154
153
|
line = $2.to_i
|
@@ -157,7 +156,7 @@
|
|
157
156
|
if github
|
158
157
|
%>
|
159
158
|
| <a href="<%= "#{github}#L#{line}" %>" target="_blank" class="github_url">on GitHub</a>
|
160
|
-
<% end %>
|
159
|
+
<% end end %>
|
161
160
|
</p>
|
162
161
|
<div id="<%= method.aref %>_source" class="dyn-source">
|
163
162
|
<pre><%= method.markup_code %></pre>
|
@@ -24,9 +24,7 @@
|
|
24
24
|
|
25
25
|
<%
|
26
26
|
list = context.method_list
|
27
|
-
|
28
|
-
list = list.find_all {|m| m.visibility == :public || m.visibility == :protected || m.force_documentation }
|
29
|
-
end
|
27
|
+
list = list.find_all {|m| m.visibility == :public || m.visibility == :protected || m.force_documentation }
|
30
28
|
%>
|
31
29
|
<% unless list.empty? %>
|
32
30
|
<div class="sectiontitle">Methods</div>
|
@@ -109,7 +107,7 @@
|
|
109
107
|
next if visibilities.empty?
|
110
108
|
visibilities.each do |visibility, methods|
|
111
109
|
next if methods.empty?
|
112
|
-
next unless
|
110
|
+
next unless visibility == :public || visibility == :protected || methods.any? {|m| m.force_documentation }
|
113
111
|
%>
|
114
112
|
<div class="sectiontitle"><%= type.capitalize %> <%= visibility.to_s.capitalize %> methods</div>
|
115
113
|
<% methods.each do |method| %>
|
@@ -141,6 +139,7 @@
|
|
141
139
|
<p class="source-link">
|
142
140
|
Source: <a href="javascript:toggleSource('<%= method.aref %>_source')" id="l_<%= method.aref %>_source">show</a>
|
143
141
|
<%
|
142
|
+
if options.github
|
144
143
|
if markup =~ /File\s(\S+), line (\d+)/
|
145
144
|
path = $1
|
146
145
|
line = $2.to_i
|
@@ -149,7 +148,7 @@
|
|
149
148
|
if github
|
150
149
|
%>
|
151
150
|
| <a href="<%= "#{github}#L#{line}" %>" target="_blank" class="github_url">on GitHub</a>
|
152
|
-
<% end %>
|
151
|
+
<% end end %>
|
153
152
|
</p>
|
154
153
|
<div id="<%= method.aref %>_source" class="dyn-source">
|
155
154
|
<pre><%= method.markup_code %></pre>
|
data/lib/sdoc/merge.rb
CHANGED
@@ -2,7 +2,13 @@ require 'optparse'
|
|
2
2
|
require 'pathname'
|
3
3
|
require 'fileutils'
|
4
4
|
|
5
|
-
|
5
|
+
if Gem.available? "json"
|
6
|
+
gem "json", ">= 1.1.3"
|
7
|
+
else
|
8
|
+
gem "json_pure", ">= 1.1.3"
|
9
|
+
end
|
10
|
+
require 'json'
|
11
|
+
|
6
12
|
require 'sdoc/templatable'
|
7
13
|
|
8
14
|
class SDoc::Merge
|
@@ -16,7 +22,7 @@ class SDoc::Merge
|
|
16
22
|
@op_dir = 'doc'
|
17
23
|
@title = ''
|
18
24
|
@directories = []
|
19
|
-
template_dir = RDoc::Generator::
|
25
|
+
template_dir = RDoc::Generator::SDoc.template_dir_for('merge')
|
20
26
|
@template_dir = Pathname.new File.expand_path(template_dir)
|
21
27
|
end
|
22
28
|
|
@@ -51,8 +57,9 @@ class SDoc::Merge
|
|
51
57
|
@title = v
|
52
58
|
end
|
53
59
|
|
54
|
-
opt.on("-u", "--urls [URLS]", "Paths to merged docs. If you
|
55
|
-
"set this files and classes won't be actualy
|
60
|
+
opt.on("-u", "--urls [URLS]", "Paths to merged docs. If you",
|
61
|
+
"set this files and classes won't be actualy",
|
62
|
+
"copied to merged build") do |v|
|
56
63
|
@urls = v.split(' ').map{|name| name.strip }
|
57
64
|
end
|
58
65
|
end
|
data/lib/sdoc/templatable.rb
CHANGED
data/sdoc.gemspec
CHANGED
@@ -1,94 +1,35 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
1
|
# -*- encoding: utf-8 -*-
|
5
2
|
|
6
3
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.
|
4
|
+
s.name = "sdoc"
|
5
|
+
s.version = "0.3.0"
|
9
6
|
|
10
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["
|
12
|
-
s.date = %q{2010-
|
13
|
-
s.
|
14
|
-
s.executables = ["sdoc", "sdoc-merge"]
|
15
|
-
s.extra_rdoc_files = [
|
16
|
-
"LICENSE",
|
17
|
-
"README.rdoc"
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
".gitignore",
|
21
|
-
"LICENSE",
|
22
|
-
"README.rdoc",
|
23
|
-
"Rakefile",
|
24
|
-
"VERSION.yml",
|
25
|
-
"bin/sdoc",
|
26
|
-
"bin/sdoc-merge",
|
27
|
-
"lib/rdoc/discover.rb",
|
28
|
-
"lib/sdoc.rb",
|
29
|
-
"lib/sdoc/c_parser_fix.rb",
|
30
|
-
"lib/sdoc/generator/shtml.rb",
|
31
|
-
"lib/sdoc/generator/template/direct/_context.rhtml",
|
32
|
-
"lib/sdoc/generator/template/direct/class.rhtml",
|
33
|
-
"lib/sdoc/generator/template/direct/file.rhtml",
|
34
|
-
"lib/sdoc/generator/template/direct/index.rhtml",
|
35
|
-
"lib/sdoc/generator/template/direct/resources/apple-touch-icon.png",
|
36
|
-
"lib/sdoc/generator/template/direct/resources/css/main.css",
|
37
|
-
"lib/sdoc/generator/template/direct/resources/css/panel.css",
|
38
|
-
"lib/sdoc/generator/template/direct/resources/css/reset.css",
|
39
|
-
"lib/sdoc/generator/template/direct/resources/favicon.ico",
|
40
|
-
"lib/sdoc/generator/template/direct/resources/i/arrows.png",
|
41
|
-
"lib/sdoc/generator/template/direct/resources/i/results_bg.png",
|
42
|
-
"lib/sdoc/generator/template/direct/resources/i/tree_bg.png",
|
43
|
-
"lib/sdoc/generator/template/direct/resources/js/jquery-1.3.2.min.js",
|
44
|
-
"lib/sdoc/generator/template/direct/resources/js/jquery-effect.js",
|
45
|
-
"lib/sdoc/generator/template/direct/resources/js/main.js",
|
46
|
-
"lib/sdoc/generator/template/direct/resources/js/searchdoc.js",
|
47
|
-
"lib/sdoc/generator/template/direct/resources/panel/index.html",
|
48
|
-
"lib/sdoc/generator/template/merge/index.rhtml",
|
49
|
-
"lib/sdoc/generator/template/shtml/_context.rhtml",
|
50
|
-
"lib/sdoc/generator/template/shtml/class.rhtml",
|
51
|
-
"lib/sdoc/generator/template/shtml/file.rhtml",
|
52
|
-
"lib/sdoc/generator/template/shtml/index.rhtml",
|
53
|
-
"lib/sdoc/generator/template/shtml/resources/apple-touch-icon.png",
|
54
|
-
"lib/sdoc/generator/template/shtml/resources/css/main.css",
|
55
|
-
"lib/sdoc/generator/template/shtml/resources/css/panel.css",
|
56
|
-
"lib/sdoc/generator/template/shtml/resources/css/reset.css",
|
57
|
-
"lib/sdoc/generator/template/shtml/resources/favicon.ico",
|
58
|
-
"lib/sdoc/generator/template/shtml/resources/i/arrows.png",
|
59
|
-
"lib/sdoc/generator/template/shtml/resources/i/results_bg.png",
|
60
|
-
"lib/sdoc/generator/template/shtml/resources/i/tree_bg.png",
|
61
|
-
"lib/sdoc/generator/template/shtml/resources/js/jquery-1.3.2.min.js",
|
62
|
-
"lib/sdoc/generator/template/shtml/resources/js/main.js",
|
63
|
-
"lib/sdoc/generator/template/shtml/resources/js/searchdoc.js",
|
64
|
-
"lib/sdoc/generator/template/shtml/resources/panel/index.html",
|
65
|
-
"lib/sdoc/github.rb",
|
66
|
-
"lib/sdoc/helpers.rb",
|
67
|
-
"lib/sdoc/json_backend.rb",
|
68
|
-
"lib/sdoc/merge.rb",
|
69
|
-
"lib/sdoc/templatable.rb",
|
70
|
-
"sdoc.gemspec"
|
71
|
-
]
|
72
|
-
s.homepage = %q{http://github.com/voloko/sdoc}
|
73
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
74
|
-
s.require_paths = ["lib"]
|
75
|
-
s.rubygems_version = %q{1.3.7}
|
8
|
+
s.authors = ["Vladimir Kolesnikov"]
|
9
|
+
s.date = %q{2010-10-05}
|
10
|
+
s.description = %q{rdoc generator html with javascript search index.}
|
76
11
|
s.summary = %q{rdoc html with javascript search index.}
|
12
|
+
s.homepage = %q{http://github.com/voloko/sdoc}
|
13
|
+
s.email = %q{voloko@gmail.com}
|
14
|
+
|
15
|
+
s.platform = Gem::Platform::RUBY
|
16
|
+
s.rubygems_version = %q{1.3.6}
|
17
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 1.3.6") if s.respond_to? :required_rubygems_version=
|
77
18
|
|
78
|
-
|
79
|
-
|
80
|
-
s.specification_version = 3
|
19
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
20
|
+
s.extra_rdoc_files = ["README.rdoc"]
|
81
21
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
s.add_dependency(%q<rdoc>, ["= 2.4.3"])
|
87
|
-
s.add_dependency(%q<json>, [">= 1.1.3"])
|
88
|
-
end
|
22
|
+
s.add_runtime_dependency('rdoc', "~> 3")
|
23
|
+
if defined?(JRUBY_VERSION)
|
24
|
+
s.platform = Gem::Platform.new(['universal', 'java', nil])
|
25
|
+
s.add_runtime_dependency("json_pure", ">= 1.1.3")
|
89
26
|
else
|
90
|
-
s.
|
91
|
-
|
92
|
-
|
27
|
+
s.add_runtime_dependency("json", ">= 1.1.3")
|
28
|
+
end
|
29
|
+
|
30
|
+
s.files = `git ls-files`.split("\n")
|
31
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
32
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
33
|
+
s.require_paths = ["lib"]
|
93
34
|
end
|
94
35
|
|
metadata
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sdoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 0.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
|
-
-
|
13
|
+
- Vladimir Kolesnikov
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-10-05 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -24,14 +24,12 @@ dependencies:
|
|
24
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
29
|
+
hash: 5
|
30
30
|
segments:
|
31
|
-
- 2
|
32
|
-
- 4
|
33
31
|
- 3
|
34
|
-
version:
|
32
|
+
version: "3"
|
35
33
|
type: :runtime
|
36
34
|
version_requirements: *id001
|
37
35
|
- !ruby/object:Gem::Dependency
|
@@ -50,7 +48,7 @@ dependencies:
|
|
50
48
|
version: 1.1.3
|
51
49
|
type: :runtime
|
52
50
|
version_requirements: *id002
|
53
|
-
description:
|
51
|
+
description: rdoc generator html with javascript search index.
|
54
52
|
email: voloko@gmail.com
|
55
53
|
executables:
|
56
54
|
- sdoc
|
@@ -58,10 +56,10 @@ executables:
|
|
58
56
|
extensions: []
|
59
57
|
|
60
58
|
extra_rdoc_files:
|
61
|
-
- LICENSE
|
62
59
|
- README.rdoc
|
63
60
|
files:
|
64
61
|
- .gitignore
|
62
|
+
- .rake_tasks~
|
65
63
|
- LICENSE
|
66
64
|
- README.rdoc
|
67
65
|
- Rakefile
|
@@ -70,8 +68,7 @@ files:
|
|
70
68
|
- bin/sdoc-merge
|
71
69
|
- lib/rdoc/discover.rb
|
72
70
|
- lib/sdoc.rb
|
73
|
-
- lib/sdoc/
|
74
|
-
- lib/sdoc/generator/shtml.rb
|
71
|
+
- lib/sdoc/generator.rb
|
75
72
|
- lib/sdoc/generator/template/direct/_context.rhtml
|
76
73
|
- lib/sdoc/generator/template/direct/class.rhtml
|
77
74
|
- lib/sdoc/generator/template/direct/file.rhtml
|
@@ -108,7 +105,6 @@ files:
|
|
108
105
|
- lib/sdoc/generator/template/shtml/resources/panel/index.html
|
109
106
|
- lib/sdoc/github.rb
|
110
107
|
- lib/sdoc/helpers.rb
|
111
|
-
- lib/sdoc/json_backend.rb
|
112
108
|
- lib/sdoc/merge.rb
|
113
109
|
- lib/sdoc/templatable.rb
|
114
110
|
- sdoc.gemspec
|
@@ -135,10 +131,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
131
|
requirements:
|
136
132
|
- - ">="
|
137
133
|
- !ruby/object:Gem::Version
|
138
|
-
hash:
|
134
|
+
hash: 23
|
139
135
|
segments:
|
140
|
-
-
|
141
|
-
|
136
|
+
- 1
|
137
|
+
- 3
|
138
|
+
- 6
|
139
|
+
version: 1.3.6
|
142
140
|
requirements: []
|
143
141
|
|
144
142
|
rubyforge_project:
|
data/lib/sdoc/c_parser_fix.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
require "rdoc/parser/c"
|
2
|
-
|
3
|
-
# New RDoc somehow misses class comments.
|
4
|
-
# copied this function from "2.2.2"
|
5
|
-
if ['2.4.2', '2.4.3'].include? RDoc::VERSION
|
6
|
-
|
7
|
-
class RDoc::Parser::C
|
8
|
-
def find_class_comment(class_name, class_meth)
|
9
|
-
comment = nil
|
10
|
-
if @content =~ %r{((?>/\*.*?\*/\s+))
|
11
|
-
(static\s+)?void\s+Init_#{class_name}\s*(?:_\(\s*)?\(\s*(?:void\s*)\)}xmi then
|
12
|
-
comment = $1
|
13
|
-
elsif @content =~ %r{Document-(?:class|module):\s#{class_name}\s*?(?:<\s+[:,\w]+)?\n((?>.*?\*/))}m
|
14
|
-
comment = $1
|
15
|
-
else
|
16
|
-
if @content =~ /rb_define_(class|module)/m then
|
17
|
-
class_name = class_name.split("::").last
|
18
|
-
comments = []
|
19
|
-
@content.split(/(\/\*.*?\*\/)\s*?\n/m).each_with_index do |chunk, index|
|
20
|
-
comments[index] = chunk
|
21
|
-
if chunk =~ /rb_define_(class|module).*?"(#{class_name})"/m then
|
22
|
-
comment = comments[index-1]
|
23
|
-
break
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
class_meth.comment = mangle_comment(comment) if comment
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
data/lib/sdoc/json_backend.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
|
3
|
-
## undefined method `to_json' for Array :(
|
4
|
-
# if Gem.available? "yajl-ruby"
|
5
|
-
# gem "yajl-ruby", ">= 0.7.6"
|
6
|
-
# require "yajl"
|
7
|
-
# warn "yajl"
|
8
|
-
# else
|
9
|
-
if Gem.available? "json"
|
10
|
-
gem "json", ">= 1.1.3"
|
11
|
-
else
|
12
|
-
gem "json_pure", ">= 1.1.3"
|
13
|
-
end
|
14
|
-
require "json"
|
15
|
-
# end
|