wpdoc 0.2.17 → 0.2.20
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/Rakefile +2 -2
- data/VERSION.yml +1 -1
- data/lib/sdoc/json_backend.rb +15 -0
- data/lib/wpdoc.rb +0 -1
- data/lib/wpdoc/generator/shtml.rb +5 -13
- data/lib/wpdoc/generator/template/direct/_context.rhtml +5 -5
- data/lib/wpdoc/generator/template/direct/class.rhtml +25 -20
- data/lib/wpdoc/generator/template/direct/file.rhtml +13 -8
- data/lib/wpdoc/generator/template/direct/resources/css/main.css +16 -0
- data/lib/wpdoc/generator/template/direct/resources/dextrous_web.png +0 -0
- data/lib/wpdoc/generator/template/direct/resources/favicon.ico +0 -0
- data/lib/wpdoc/github.rb +10 -13
- data/lib/wpdoc/merge.rb +6 -8
- metadata +15 -10
- data/.gitignore +0 -4
data/Rakefile
CHANGED
@@ -28,7 +28,7 @@ begin
|
|
28
28
|
gem.email = "voloko@gmail.com"
|
29
29
|
gem.homepage = "http://github.com/dxw/wpdoc"
|
30
30
|
gem.authors = ["Volodya Kolesnikov"]
|
31
|
-
gem.add_dependency("rdoc", "
|
31
|
+
gem.add_dependency("rdoc", "= 2.4.3")
|
32
32
|
|
33
33
|
if defined?(JRUBY_VERSION)
|
34
34
|
gem.platform = Gem::Platform.new(['universal', 'java', nil])
|
@@ -47,5 +47,5 @@ begin
|
|
47
47
|
symlink File.expand_path('.'), path
|
48
48
|
end
|
49
49
|
rescue LoadError
|
50
|
-
puts "Jeweler not available. Install it with: sudo gem install
|
50
|
+
puts "Jeweler not available. Install it with: (sudo) gem install jeweler"
|
51
51
|
end
|
data/VERSION.yml
CHANGED
@@ -0,0 +1,15 @@
|
|
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
|
data/lib/wpdoc.rb
CHANGED
@@ -1,13 +1,5 @@
|
|
1
|
-
require '
|
2
|
-
gem "rdoc", ">= 2.4.2"
|
3
|
-
if Gem.available? "json"
|
4
|
-
gem "json", ">= 1.1.3"
|
5
|
-
else
|
6
|
-
gem "json_pure", ">= 1.1.3"
|
7
|
-
end
|
8
|
-
|
1
|
+
require 'sdoc/json_backend'
|
9
2
|
require 'iconv'
|
10
|
-
require 'json'
|
11
3
|
require 'pathname'
|
12
4
|
require 'fileutils'
|
13
5
|
require 'erb'
|
@@ -123,7 +115,7 @@ class RDoc::Generator::SHtml
|
|
123
115
|
tree = generate_file_tree + generate_class_tree_level(topclasses)
|
124
116
|
debug_msg " writing class tree to %s" % TREE_FILE
|
125
117
|
File.open(TREE_FILE, "w", 0644) do |f|
|
126
|
-
f.write('var tree = '); f.write(tree.to_json)
|
118
|
+
f.write('var tree = '); f.write(tree.to_json(:max_nesting => 0))
|
127
119
|
end unless $dryrun
|
128
120
|
end
|
129
121
|
|
@@ -162,7 +154,7 @@ class RDoc::Generator::SHtml
|
|
162
154
|
:index => index
|
163
155
|
}
|
164
156
|
File.open(SEARCH_INDEX_FILE, "w", 0644) do |f|
|
165
|
-
f.write('var search_data = '); f.write(data.to_json)
|
157
|
+
f.write('var search_data = '); f.write(data.to_json(:max_nesting => 0))
|
166
158
|
end unless $dryrun
|
167
159
|
end
|
168
160
|
|
@@ -295,11 +287,11 @@ class RDoc::Generator::SHtml
|
|
295
287
|
content = content.sub(/^(.{100,}?)\s.*/m, "\\1").gsub(/\r?\n/m, ' ')
|
296
288
|
|
297
289
|
begin
|
298
|
-
content.to_json
|
290
|
+
content.to_json(:max_nesting => 0)
|
299
291
|
rescue # might fail on non-unicode string
|
300
292
|
begin
|
301
293
|
content = Iconv.conv('latin1//ignore', "UTF8", content) # remove all non-unicode chars
|
302
|
-
content.to_json
|
294
|
+
content.to_json(:max_nesting => 0)
|
303
295
|
rescue
|
304
296
|
content = '' # something hugely wrong happend
|
305
297
|
end
|
@@ -31,7 +31,7 @@
|
|
31
31
|
end
|
32
32
|
%>
|
33
33
|
<% unless list.empty? %>
|
34
|
-
<div class="sectiontitle">
|
34
|
+
<div class="sectiontitle">Functions</div>
|
35
35
|
<dl class="methods">
|
36
36
|
<% each_letter_group(list) do |group| %>
|
37
37
|
<dt><%= group[:name] %></dt>
|
@@ -72,10 +72,10 @@
|
|
72
72
|
<% end %>
|
73
73
|
|
74
74
|
<% unless context.classes_and_modules.empty? %>
|
75
|
-
<div class="sectiontitle"
|
75
|
+
<div class="sectiontitle"><%= context.full_name == 'Global' ? 'Index' : 'Classes and Modules' %></div>
|
76
76
|
<ul>
|
77
77
|
<% (context.modules.sort + context.classes.sort).each do |mod| %>
|
78
|
-
<li><span class="type"><%= mod.type.upcase %></span> <a href="<%= context.aref_to mod.path %>"><%= mod.full_name %></a></li>
|
78
|
+
<li><span class="type"><%= context.full_name == 'Global' ? '' : mod.type.upcase %></span> <a href="<%= context.aref_to mod.path %>"><%= context.full_name == 'Global' ? mod.name : mod.full_name %></a></li>
|
79
79
|
<% end %>
|
80
80
|
</ul>
|
81
81
|
<% end %>
|
@@ -120,7 +120,7 @@
|
|
120
120
|
next if methods.empty?
|
121
121
|
next unless @options.show_all || visibility == :public || visibility == :protected || methods.any? {|m| m.force_documentation }
|
122
122
|
%>
|
123
|
-
<div class="sectiontitle"><%= type.capitalize %> <%= visibility.to_s.capitalize %>
|
123
|
+
<div class="sectiontitle"><%= type.capitalize %> <%= visibility.to_s.capitalize %> functions</div>
|
124
124
|
<% methods.each do |method| %>
|
125
125
|
<div class="method">
|
126
126
|
<div class="title" id="<%= method.aref %>">
|
@@ -137,7 +137,7 @@
|
|
137
137
|
<% end %>
|
138
138
|
<% unless method.aliases.empty? %>
|
139
139
|
<div class="aka">
|
140
|
-
This
|
140
|
+
This function is also aliased as
|
141
141
|
<% method.aliases.each do |aka| %>
|
142
142
|
<a href="<%= context.aref_to aka.path %>"><%= h aka.name %></a>
|
143
143
|
<% end %>
|
@@ -14,26 +14,31 @@
|
|
14
14
|
|
15
15
|
<body>
|
16
16
|
<div class="banner">
|
17
|
-
<
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
17
|
+
<div class="grr_container">
|
18
|
+
<h1>
|
19
|
+
<% if klass.parent && klass.parent.full_name != 'Global' && klass.full_name != 'Global' %>
|
20
|
+
<span class="type"><%= klass.module? ? 'Module' : 'Class' %></span>
|
21
|
+
<% end %>
|
22
|
+
<%= h klass.full_name %>
|
23
|
+
<% if klass.type == 'class' && !klass.superclass.nil? %>
|
24
|
+
<span class="parent"><
|
25
|
+
<% if String === klass.superclass %>
|
26
|
+
<%= klass.superclass %>
|
27
|
+
<% elsif !klass.superclass.nil? %>
|
28
|
+
<a href="<%= klass.aref_to klass.superclass.path %>"><%= h klass.superclass.full_name %></a>
|
29
|
+
<% end %>
|
30
|
+
</span>
|
31
|
+
<% end %>
|
32
|
+
</h1>
|
33
|
+
<ul class="files">
|
34
|
+
<% klass.in_files.each do |file| %>
|
35
|
+
<li><a href="<%= "#{rel_prefix}/#{h file.path}" %>"><%= h file.absolute_name %></a></li>
|
36
|
+
<% end %>
|
37
|
+
</ul>
|
38
|
+
</div>
|
39
|
+
<div class="logo">
|
40
|
+
<a target="_blank" href="http://thedextrousweb.com">The Dextrous Web</a>
|
41
|
+
</div>
|
37
42
|
</div>
|
38
43
|
<div id="bodyContent">
|
39
44
|
<%= include_template '_context.rhtml', {:context => klass, :rel_prefix => rel_prefix} %>
|
@@ -14,17 +14,22 @@
|
|
14
14
|
|
15
15
|
<body>
|
16
16
|
<div class="banner">
|
17
|
-
<
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
17
|
+
<div class="grr_container">
|
18
|
+
<h1>
|
19
|
+
<%= h file.name %>
|
20
|
+
</h1>
|
21
|
+
<ul class="files">
|
22
|
+
<li><%= h file.relative_name %></li>
|
23
|
+
<li>Last modified: <%= file.file_stat.mtime %></li>
|
24
|
+
</ul>
|
25
|
+
</div>
|
26
|
+
<div class="logo">
|
27
|
+
<a target="_blank" href="http://thedextrousweb.com">The Dextrous Web</a>
|
28
|
+
</div>
|
24
29
|
</div>
|
25
30
|
|
26
31
|
<div id="bodyContent">
|
27
32
|
<%= include_template '_context.rhtml', {:context => file, :rel_prefix => rel_prefix} %>
|
28
33
|
</div>
|
29
34
|
</body>
|
30
|
-
</html>
|
35
|
+
</html>
|
@@ -105,7 +105,13 @@ ol li
|
|
105
105
|
background: #EDF3FE;
|
106
106
|
border-bottom: 1px solid #ccc;
|
107
107
|
padding: 1em 2em 0.5em 2em;
|
108
|
+
overflow: auto;
|
108
109
|
}
|
110
|
+
.banner .grr_container
|
111
|
+
{
|
112
|
+
float: left
|
113
|
+
}
|
114
|
+
|
109
115
|
.banner h1
|
110
116
|
{
|
111
117
|
font-size: 1.2em;
|
@@ -138,6 +144,16 @@ ol li
|
|
138
144
|
margin-bottom: 0;
|
139
145
|
}
|
140
146
|
|
147
|
+
.banner div.logo a
|
148
|
+
{
|
149
|
+
background: url(../dextrous_web.png);
|
150
|
+
text-indent: -9999px;
|
151
|
+
width: 292px;
|
152
|
+
height: 62px;
|
153
|
+
float: right;
|
154
|
+
margin-bottom: 0.5em
|
155
|
+
}
|
156
|
+
|
141
157
|
pre
|
142
158
|
{
|
143
159
|
margin-bottom: 1em;
|
Binary file
|
Binary file
|
data/lib/wpdoc/github.rb
CHANGED
@@ -18,10 +18,16 @@ module SDoc::GitHub
|
|
18
18
|
end
|
19
19
|
|
20
20
|
protected
|
21
|
-
|
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
|
+
|
22
27
|
def commit_sha1(path)
|
28
|
+
return false unless have_git?
|
23
29
|
name = File.basename(path)
|
24
|
-
s =
|
30
|
+
s = Dir.chdir(File.join(basedir, File.dirname(path))) do
|
25
31
|
`git log -1 --pretty=format:"commit %H" #{name}`
|
26
32
|
end
|
27
33
|
m = s.match(/commit\s+(\S+)/)
|
@@ -29,7 +35,8 @@ module SDoc::GitHub
|
|
29
35
|
end
|
30
36
|
|
31
37
|
def repository_url(path)
|
32
|
-
|
38
|
+
return false unless have_git?
|
39
|
+
s = Dir.chdir(File.join(basedir, File.dirname(path))) do
|
33
40
|
`git config --get remote.origin.url`
|
34
41
|
end
|
35
42
|
m = s.match(%r{github.com[/:](.*)\.git$})
|
@@ -50,15 +57,5 @@ module SDoc::GitHub
|
|
50
57
|
path = File.dirname(path)
|
51
58
|
end
|
52
59
|
''
|
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
60
|
end
|
64
61
|
end
|
data/lib/wpdoc/merge.rb
CHANGED
@@ -2,9 +2,7 @@ require 'optparse'
|
|
2
2
|
require 'pathname'
|
3
3
|
require 'fileutils'
|
4
4
|
|
5
|
-
|
6
|
-
require 'json'
|
7
|
-
|
5
|
+
require 'wpdoc/json_backend'
|
8
6
|
require 'wpdoc/templatable'
|
9
7
|
|
10
8
|
class SDoc::Merge
|
@@ -69,7 +67,7 @@ class SDoc::Merge
|
|
69
67
|
url = @urls.empty? ? name : @urls[i]
|
70
68
|
filename = File.join dir, RDoc::Generator::SHtml::TREE_FILE
|
71
69
|
data = open(filename).read.sub(/var tree =\s*/, '')
|
72
|
-
subtree = JSON.parse
|
70
|
+
subtree = JSON.parse(data, :max_nesting => 0)
|
73
71
|
item = [
|
74
72
|
name,
|
75
73
|
url + '/' + extract_index_path(dir),
|
@@ -82,7 +80,7 @@ class SDoc::Merge
|
|
82
80
|
dst = File.join @op_dir, RDoc::Generator::SHtml::TREE_FILE
|
83
81
|
FileUtils.mkdir_p File.dirname(dst)
|
84
82
|
File.open(dst, "w", 0644) do |f|
|
85
|
-
f.write('var tree = '); f.write(tree.to_json)
|
83
|
+
f.write('var tree = '); f.write(tree.to_json(:max_nesting => 0))
|
86
84
|
end
|
87
85
|
end
|
88
86
|
|
@@ -102,7 +100,7 @@ class SDoc::Merge
|
|
102
100
|
url = @urls.empty? ? name : @urls[i]
|
103
101
|
filename = File.join dir, RDoc::Generator::SHtml::SEARCH_INDEX_FILE
|
104
102
|
data = open(filename).read.sub(/var search_data =\s*/, '')
|
105
|
-
subindex = JSON.parse
|
103
|
+
subindex = JSON.parse(data, :max_nesting => 0)
|
106
104
|
@indexes[name] = subindex
|
107
105
|
|
108
106
|
searchIndex = subindex["index"]["searchIndex"]
|
@@ -135,7 +133,7 @@ class SDoc::Merge
|
|
135
133
|
dst = File.join @op_dir, RDoc::Generator::SHtml::SEARCH_INDEX_FILE
|
136
134
|
FileUtils.mkdir_p File.dirname(dst)
|
137
135
|
File.open(dst, "w", 0644) do |f|
|
138
|
-
f.write('var search_data = '); f.write(search_data.to_json)
|
136
|
+
f.write('var search_data = '); f.write(search_data.to_json(:max_nesting => 0))
|
139
137
|
end
|
140
138
|
end
|
141
139
|
|
@@ -216,4 +214,4 @@ class SDoc::Merge
|
|
216
214
|
raise RDoc::Error, msg
|
217
215
|
end
|
218
216
|
|
219
|
-
end
|
217
|
+
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 20
|
9
|
+
version: 0.2.20
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Volodya Kolesnikov
|
@@ -14,27 +14,29 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date:
|
17
|
+
date: 2011-03-25 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rdoc
|
22
22
|
prerelease: false
|
23
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
24
25
|
requirements:
|
25
|
-
- - "
|
26
|
+
- - "="
|
26
27
|
- !ruby/object:Gem::Version
|
27
28
|
segments:
|
28
29
|
- 2
|
29
30
|
- 4
|
30
|
-
-
|
31
|
-
version: 2.4.
|
31
|
+
- 3
|
32
|
+
version: 2.4.3
|
32
33
|
type: :runtime
|
33
34
|
version_requirements: *id001
|
34
35
|
- !ruby/object:Gem::Dependency
|
35
36
|
name: json
|
36
37
|
prerelease: false
|
37
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
38
40
|
requirements:
|
39
41
|
- - ">="
|
40
42
|
- !ruby/object:Gem::Version
|
@@ -56,7 +58,6 @@ extra_rdoc_files:
|
|
56
58
|
- LICENSE
|
57
59
|
- README.rdoc
|
58
60
|
files:
|
59
|
-
- .gitignore
|
60
61
|
- LICENSE
|
61
62
|
- README.rdoc
|
62
63
|
- Rakefile
|
@@ -64,6 +65,7 @@ files:
|
|
64
65
|
- bin/wpdoc
|
65
66
|
- bin/wpdoc-merge
|
66
67
|
- lib/rdoc/discover.rb
|
68
|
+
- lib/sdoc/json_backend.rb
|
67
69
|
- lib/wpdoc.rb
|
68
70
|
- lib/wpdoc/c_parser_fix.rb
|
69
71
|
- lib/wpdoc/generator/shtml.rb
|
@@ -75,6 +77,7 @@ files:
|
|
75
77
|
- lib/wpdoc/generator/template/direct/resources/css/main.css
|
76
78
|
- lib/wpdoc/generator/template/direct/resources/css/panel.css
|
77
79
|
- lib/wpdoc/generator/template/direct/resources/css/reset.css
|
80
|
+
- lib/wpdoc/generator/template/direct/resources/dextrous_web.png
|
78
81
|
- lib/wpdoc/generator/template/direct/resources/favicon.ico
|
79
82
|
- lib/wpdoc/generator/template/direct/resources/i/arrows.png
|
80
83
|
- lib/wpdoc/generator/template/direct/resources/i/results_bg.png
|
@@ -94,11 +97,12 @@ homepage: http://github.com/dxw/wpdoc
|
|
94
97
|
licenses: []
|
95
98
|
|
96
99
|
post_install_message:
|
97
|
-
rdoc_options:
|
98
|
-
|
100
|
+
rdoc_options: []
|
101
|
+
|
99
102
|
require_paths:
|
100
103
|
- lib
|
101
104
|
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
102
106
|
requirements:
|
103
107
|
- - ">="
|
104
108
|
- !ruby/object:Gem::Version
|
@@ -106,6 +110,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
106
110
|
- 0
|
107
111
|
version: "0"
|
108
112
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
109
114
|
requirements:
|
110
115
|
- - ">="
|
111
116
|
- !ruby/object:Gem::Version
|
@@ -115,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
120
|
requirements: []
|
116
121
|
|
117
122
|
rubyforge_project:
|
118
|
-
rubygems_version: 1.3.
|
123
|
+
rubygems_version: 1.3.7
|
119
124
|
signing_key:
|
120
125
|
specification_version: 3
|
121
126
|
summary: rdoc html with javascript search index.
|
data/.gitignore
DELETED