rdoc-babel 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.autotest +12 -0
- data/.gemtest +0 -0
- data/HISTORY.rdoc +8 -0
- data/Manifest.txt +28 -0
- data/README.rdoc +103 -0
- data/Rakefile +38 -0
- data/lib/rdoc/discover.rb +1 -0
- data/lib/rdoc/generator/babel.rb +407 -0
- data/lib/rdoc/generator/ruby-lang/class-page.html.erb +272 -0
- data/lib/rdoc/generator/ruby-lang/file-page.html.erb +62 -0
- data/lib/rdoc/generator/ruby-lang/images/zoom.png +0 -0
- data/lib/rdoc/generator/ruby-lang/index.html.erb +11 -0
- data/lib/rdoc/generator/ruby-lang/indexes.html.erb +50 -0
- data/lib/rdoc/generator/ruby-lang/rdoc.css +591 -0
- data/lib/rdoc/generator/ruby-lang/scripts/indexFrame.js +311 -0
- data/lib/rdoc/generator/ruby-lang/scripts/jquery.js +32 -0
- data/lib/rdoc/generator/ruby-lang/scripts/jquery.quicksearch.js +152 -0
- data/lib/rdoc/generator/ruby-lang/scripts/mainFrame.js +107 -0
- data/lib/rdoc_babel.rb +3 -0
- data/test/data/HISTORY.rdoc +2 -0
- data/test/data/README.rdoc +2 -0
- data/test/data/ancestors.rb +42 -0
- data/test/data/commented.rb +2 -0
- data/test/data/context_alias.rb +8 -0
- data/test/data/main_file.rb +15 -0
- data/test/data/no_class_nor_module.rb +2 -0
- data/test/data/no_content.rb +3 -0
- data/test/data/not_commented.rb +10 -0
- data/test/test_rdoc_generator_babel.rb +251 -0
- metadata +167 -0
@@ -0,0 +1,272 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="content-type" content="text/html; charset=<%= @options.charset %>" />
|
5
|
+
<title><%= @class.type.capitalize %> <%= @class.full_name %></title>
|
6
|
+
<link href="<%= @stylesheet_url %>" media="all" rel="stylesheet" type="text/css" />
|
7
|
+
<script src="<%= @rel_prefix %>/scripts/jquery.js" type="text/javascript" charset="utf-8"></script>
|
8
|
+
<script src="<%= @rel_prefix %>/scripts/mainFrame.js" type="text/javascript" charset="utf-8"></script>
|
9
|
+
</head>
|
10
|
+
<body>
|
11
|
+
|
12
|
+
<div id="header">
|
13
|
+
<p class="header-title">
|
14
|
+
<span class="prefix"><%= @class.type.capitalize %></span><span class="name"> <%= @class.full_name %></span>
|
15
|
+
</p>
|
16
|
+
<% if @class.type == 'class' && @class.superclass %>
|
17
|
+
<p class="header-title">
|
18
|
+
<% if String === @class.superclass %>
|
19
|
+
<span class="parent"> < <%= @class.superclass %></span>
|
20
|
+
<% else %>
|
21
|
+
</span><span class="parent"> < <a href="<%= @class.aref_to @class.superclass.path %>"><%= @class.superclass.full_name %></a></span>
|
22
|
+
<% end %>
|
23
|
+
</p>
|
24
|
+
<% end %>
|
25
|
+
<p id="file-info">
|
26
|
+
<% if @class.in_files.length < 3 %>
|
27
|
+
<span class="displayed">
|
28
|
+
<span class="in-files">In:</span>
|
29
|
+
<span class="first-files">
|
30
|
+
<% @class.in_files.each do |f| %>
|
31
|
+
<a href="<%= @rel_prefix %>/<%= h f.path %>"><%= h f.full_name %></a><br/>
|
32
|
+
<% end %>
|
33
|
+
</span>
|
34
|
+
</span>
|
35
|
+
<span class="hidden">
|
36
|
+
<span class="in-files">In:</span>
|
37
|
+
<span class="first-files">
|
38
|
+
<% @class.in_files.each do |f| %>
|
39
|
+
<a href="#"><%= h f.full_name %></a><br/>
|
40
|
+
<% end %>
|
41
|
+
</span>
|
42
|
+
</span>
|
43
|
+
<% else %>
|
44
|
+
<span class="displayed">
|
45
|
+
<span class="in-files">In:</span>
|
46
|
+
<span class="first-files">
|
47
|
+
<a href="<%= @rel_prefix %>/<%= h @class.in_files.first.path %>"><%= h @class.in_files.first.full_name %></a><br/>
|
48
|
+
<a href="#" id="show-all-files">(<%= @class.in_files.length - 1 %> more...)</a>
|
49
|
+
</span>
|
50
|
+
</span>
|
51
|
+
<span class="hidden">
|
52
|
+
<span class="in-files">In:</span>
|
53
|
+
<span class="first-files">
|
54
|
+
<a href="#"><%= h @class.in_files.first.full_name %></a><br/>
|
55
|
+
<a href="#" id="show-all-files">(<%= @class.in_files.length - 1 %> more...)</a>
|
56
|
+
</span>
|
57
|
+
</span>
|
58
|
+
<br/>
|
59
|
+
<span id="all-files">
|
60
|
+
<% @class.in_files[1..-1].each do |f| %>
|
61
|
+
<a href="<%= @rel_prefix %>/<%= h f.path %>"><%= h f.full_name %></a><br/>
|
62
|
+
<% end %>
|
63
|
+
</span>
|
64
|
+
<% end %>
|
65
|
+
</p>
|
66
|
+
</div>
|
67
|
+
|
68
|
+
<div id="documentation">
|
69
|
+
|
70
|
+
<%= @class.description %>
|
71
|
+
|
72
|
+
<!-- class/module aliases -->
|
73
|
+
<% unless @class.aliases.empty? %>
|
74
|
+
<div id="class-aliases" class="list">
|
75
|
+
<h3><%= @class.type.capitalize %> Aliases</h3>
|
76
|
+
<ul>
|
77
|
+
<% @class.aliases.each do |a| %>
|
78
|
+
<li><%= a.full_name %></li>
|
79
|
+
<% end %>
|
80
|
+
</ul>
|
81
|
+
</div>
|
82
|
+
<% end %>
|
83
|
+
|
84
|
+
<!-- list of methods -->
|
85
|
+
<% unless @class.method_list.empty? %>
|
86
|
+
<div id="method-list" class="list">
|
87
|
+
<h3>Methods</h3>
|
88
|
+
<% unless @class.class_method_list.empty? %>
|
89
|
+
<ul>
|
90
|
+
<% @class.class_method_list.sort.each do |m| %>
|
91
|
+
<% litag = m.documented? ? '<li>' : '<li class="nodoc">' %>
|
92
|
+
<%= litag %><a href="#<%= m.aref %>"><span class="type">::</span><%= h m.name %></a></li>
|
93
|
+
<% end %>
|
94
|
+
</ul>
|
95
|
+
<% end %>
|
96
|
+
<% unless @class.instance_method_list.empty? %>
|
97
|
+
<ul>
|
98
|
+
<% @class.instance_method_list.sort.each do |m| %>
|
99
|
+
<% litag = m.documented? ? '<li>' : '<li class="nodoc">' %>
|
100
|
+
<%= litag %><a href="#<%= m.aref %>"><span class="type"><%= @options.show_hash ? '#' : '' %></span><%= h m.name %></a></li>
|
101
|
+
<% end %>
|
102
|
+
</ul>
|
103
|
+
<% end %>
|
104
|
+
</div>
|
105
|
+
<% end %>
|
106
|
+
|
107
|
+
<!-- namespace contents -->
|
108
|
+
<% unless @class.non_aliases.empty? %>
|
109
|
+
<div id="namespace-list" class="list">
|
110
|
+
<h3>Modules and Classes</h3>
|
111
|
+
<table class="classes-modules">
|
112
|
+
<% @class.non_aliases.sort.each do |cm| %>
|
113
|
+
<tr>
|
114
|
+
<td><%= cm.type.capitalize %></td>
|
115
|
+
<td><a href="<%= @class.aref_to cm.path %>"><%= cm.name %></a></td>
|
116
|
+
</tr>
|
117
|
+
<% end %>
|
118
|
+
</table>
|
119
|
+
</div>
|
120
|
+
<% end %>
|
121
|
+
|
122
|
+
<!-- included modules -->
|
123
|
+
<% unless @class.includes.empty? %>
|
124
|
+
<div id="include-list" class="list">
|
125
|
+
<h3>Included Modules</h3>
|
126
|
+
<ul>
|
127
|
+
<% @class.includes.each do |inc| %>
|
128
|
+
<% if String === inc.module %>
|
129
|
+
<li><%= inc.name %></li>
|
130
|
+
<% else %>
|
131
|
+
<li><a href="<%= @class.aref_to inc.module.path %>"><%= inc.module.full_name %></a></li>
|
132
|
+
<% end %>
|
133
|
+
<% end %>
|
134
|
+
</ul>
|
135
|
+
</div>
|
136
|
+
<% end %>
|
137
|
+
|
138
|
+
<!-- constants -->
|
139
|
+
<% unless @class.constants.empty? %>
|
140
|
+
<div id="constant-list" class="list">
|
141
|
+
<h3>Constants</h3>
|
142
|
+
<table>
|
143
|
+
<% @class.constants.each do |const| %>
|
144
|
+
<tr id="<%= const.name %>" class="const-display">
|
145
|
+
<td class="const-name"><p><%= const.name %></p></td>
|
146
|
+
<td class="const-desc">
|
147
|
+
<% if (cm = const.is_alias_for) %>
|
148
|
+
<p>Alias for <%= cm.type %> <a href="<%= @class.aref_to cm.path %>"><%= cm.full_name %></a></p>
|
149
|
+
<% else %>
|
150
|
+
<%= const.description.strip %>
|
151
|
+
<% end %>
|
152
|
+
</td>
|
153
|
+
<td><p class="click-advice">click to toggle value</p></td>
|
154
|
+
</tr>
|
155
|
+
<tr class="const-value">
|
156
|
+
<td></td>
|
157
|
+
<td><pre><%= h(const.value) %></pre></td>
|
158
|
+
<td></td>
|
159
|
+
</tr>
|
160
|
+
<% end %>
|
161
|
+
</table>
|
162
|
+
</div>
|
163
|
+
<% end %>
|
164
|
+
|
165
|
+
<!-- external aliases -->
|
166
|
+
<% unless @class.external_aliases.empty? %>
|
167
|
+
<div id="external-aliases" class="list">
|
168
|
+
<h3>External Aliases</h3>
|
169
|
+
<table>
|
170
|
+
<% @class.external_aliases.each do |a| %>
|
171
|
+
<tr id="<%= a.aref %>">
|
172
|
+
<td class="attr-name"><p><%= h a.name %></p></td>
|
173
|
+
<td class="attr-desc"><%= a.comment.empty? ? "<p>Alias for #{a.full_old_name}.</p>" : a.description.strip %></td>
|
174
|
+
</tr>
|
175
|
+
<% end %>
|
176
|
+
</table>
|
177
|
+
</div>
|
178
|
+
<% end %>
|
179
|
+
|
180
|
+
<!-- class/module attributes -->
|
181
|
+
<% unless @class.class_attributes.empty? %>
|
182
|
+
<div id="class-attributes" class="list">
|
183
|
+
<h3><%= @class.type.capitalize %> Attributes</h3>
|
184
|
+
<table>
|
185
|
+
<% @class.class_attributes.each do |a| %>
|
186
|
+
<tr id="<%= a.aref %>">
|
187
|
+
<td class="attr-rw"><p><%= a.rw %></p></td>
|
188
|
+
<td class="attr-name"><p><%= h a.name %></p></td>
|
189
|
+
<td class="attr-desc">
|
190
|
+
<% if a.comment.empty? %>
|
191
|
+
<% if a.see %>
|
192
|
+
<p<%= a.see.documented? ? '' : ' class="nodoc"' %>>
|
193
|
+
See <a href="<%= @class.aref_to a.see.path %>"><%= h a.see.name %></a>
|
194
|
+
</p>
|
195
|
+
<% end %>
|
196
|
+
<% else %>
|
197
|
+
<%= a.description.strip %>
|
198
|
+
<% end %>
|
199
|
+
</td>
|
200
|
+
</tr>
|
201
|
+
<% end %>
|
202
|
+
</table>
|
203
|
+
</div>
|
204
|
+
<% end %>
|
205
|
+
|
206
|
+
<!-- instance attributes -->
|
207
|
+
<% unless @class.instance_attributes.empty? %>
|
208
|
+
<div id="instance-attributes" class="list">
|
209
|
+
<h3>Instance Attributes</h3>
|
210
|
+
<table>
|
211
|
+
<% @class.instance_attributes.each do |a| %>
|
212
|
+
<tr id="<%= a.aref %>">
|
213
|
+
<td class="attr-rw"><p><%= a.rw %></p></td>
|
214
|
+
<td class="attr-name"><p><%= h a.name %></p></td>
|
215
|
+
<td class="attr-desc">
|
216
|
+
<% if a.comment.empty? %>
|
217
|
+
<% if a.see %>
|
218
|
+
<p<%= a.see.documented? ? '' : ' class="nodoc"' %>>
|
219
|
+
See <a href="<%= @class.aref_to a.see.path %>"><%= h a.see.name %></a>
|
220
|
+
</p>
|
221
|
+
<% end %>
|
222
|
+
<% else %>
|
223
|
+
<%= a.description.strip %>
|
224
|
+
<% end %>
|
225
|
+
</td>
|
226
|
+
</tr>
|
227
|
+
<% end %>
|
228
|
+
</table>
|
229
|
+
</div>
|
230
|
+
<% end %>
|
231
|
+
|
232
|
+
<% @class.methods_by_type.each do |type, visibilities| # loop on types of method (class/instance)
|
233
|
+
next if visibilities.empty?
|
234
|
+
visibilities.each do |visibility, methods|
|
235
|
+
next if methods.empty?
|
236
|
+
%>
|
237
|
+
<h2 id="<%= visibility %>-<%= type %>-methods"><%= visibility.to_s.capitalize %> <%= type.capitalize %> Methods</h2>
|
238
|
+
<% methods.each do |method| %>
|
239
|
+
<div id="<%= method.aref %>" class="method-detail<%= method.is_alias_for ? ' method-alias' : '' %>">
|
240
|
+
<div class="method-heading">
|
241
|
+
<% if method.call_seq %>
|
242
|
+
<span class="method-call-seq"><%= decorated_call_seq(method, 'method-name') %></span>
|
243
|
+
<% else %>
|
244
|
+
<span class="method-name"><%= h method.name %></span><span class="method-args"><%= method.params %></span>
|
245
|
+
<% if method.block_params %>
|
246
|
+
<% if method.block_params.empty? %>
|
247
|
+
<span class="method-block">{ ... }</span>
|
248
|
+
<% else %>
|
249
|
+
<span class="method-block">{ |<%= method.block_params %>| ... }</span>
|
250
|
+
<% end %>
|
251
|
+
<% end %>
|
252
|
+
<% end %>
|
253
|
+
<% unless method.is_alias_for %>
|
254
|
+
<span class="click-advice">click to toggle source</span>
|
255
|
+
<% end %>
|
256
|
+
</div>
|
257
|
+
<div class="method-description">
|
258
|
+
<%= description(method) %>
|
259
|
+
<% if method.token_stream %>
|
260
|
+
<pre class="method-source-code"><%= method.markup_code %></pre>
|
261
|
+
<% end %>
|
262
|
+
</div>
|
263
|
+
|
264
|
+
</div> <!-- #<%= method.aref %> -->
|
265
|
+
<% end # methods.each %>
|
266
|
+
<% end # visibilities.each %>
|
267
|
+
<% end # @class.methods_by_type.each %>
|
268
|
+
|
269
|
+
</div> <!-- #documentation -->
|
270
|
+
|
271
|
+
</body>
|
272
|
+
</html>
|
@@ -0,0 +1,62 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="content-type" content="text/html; charset=<%= @options.charset %>" />
|
5
|
+
<title>File <%= @file.base_name %></title>
|
6
|
+
<link href="<%= @stylesheet_url %>" media="all" rel="stylesheet" type="text/css" />
|
7
|
+
<script src="<%= @rel_prefix %>/scripts/jquery.js" type="text/javascript" charset="utf-8"></script>
|
8
|
+
<script src="<%= @rel_prefix %>/scripts/mainFrame.js" type="text/javascript" charset="utf-8"></script>
|
9
|
+
</head>
|
10
|
+
<body>
|
11
|
+
<div id="header">
|
12
|
+
<p class="header-title"><span class="prefix">File</span><span class="name"> <%= @file.base_name %></span></p>
|
13
|
+
<p id="file-info">
|
14
|
+
<span class="displayed">
|
15
|
+
Path: <%= @file.absolute_name %><br/>
|
16
|
+
Modified: <%= @file.last_modified ? @file.last_modified.strftime('%Y-%m-%d %H:%M:%S') : 'unknown' %>
|
17
|
+
</span>
|
18
|
+
</p>
|
19
|
+
</div>
|
20
|
+
<div id="documentation">
|
21
|
+
<% if @file.parser == RDoc::Parser::Simple %>
|
22
|
+
<%= @file.description %>
|
23
|
+
<% else %>
|
24
|
+
<% unless @file.comment.empty? %>
|
25
|
+
<% unless @file.description =~ /^\s*<h[1-6]/ %>
|
26
|
+
<h2>Description</h2>
|
27
|
+
<% end %>
|
28
|
+
<%= @file.description %>
|
29
|
+
<% end %>
|
30
|
+
<div id="file-details" class="list">
|
31
|
+
<% unless @file.requires.empty? %>
|
32
|
+
<h3>Requires</h3>
|
33
|
+
<ul>
|
34
|
+
<% @file.requires.each do |r| %>
|
35
|
+
<% if (tl = r.top_level) %>
|
36
|
+
<li><a href="<%= @rel_prefix %>/<%= h tl.path %>"><%= r.name %></a></li>
|
37
|
+
<% else %>
|
38
|
+
<li><%= r.name %></li>
|
39
|
+
<% end %>
|
40
|
+
<% end %>
|
41
|
+
</ul>
|
42
|
+
<% end %>
|
43
|
+
<% unless @file.modules.length + @file.classes.length == 0 %>
|
44
|
+
<h3>Classes and Modules</h3>
|
45
|
+
<table class="classes-modules">
|
46
|
+
<% @file.classes_and_modules.sort.each do |cm| %>
|
47
|
+
<tr>
|
48
|
+
<td><%= cm.type.capitalize %></td>
|
49
|
+
<td><a href="<%= @rel_prefix %>/<%= h cm.path %>"><%= cm.full_name %></a></td>
|
50
|
+
</tr>
|
51
|
+
<% end %>
|
52
|
+
</table>
|
53
|
+
<% end %>
|
54
|
+
<% if @options.webcvs %>
|
55
|
+
<h3>Trac URL</h3>
|
56
|
+
<p><a href="<%= @file.cvs_url %>"><%= @file.cvs_url %></a></p>
|
57
|
+
<% end %>
|
58
|
+
</div>
|
59
|
+
<% end %>
|
60
|
+
</div>
|
61
|
+
</body>
|
62
|
+
</html>
|
Binary file
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="content-type" content="text/html; charset=<%= @options.charset %>" />
|
5
|
+
<title><%= h @options.title %></title>
|
6
|
+
</head>
|
7
|
+
<frameset cols="20%,*">
|
8
|
+
<frame name="indexFrame" src="indexes.html" />
|
9
|
+
<frame name="mainFrame" src="<%= @first_page.path %>" />
|
10
|
+
</frameset>
|
11
|
+
</html>
|
@@ -0,0 +1,50 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="content-type" content="text/html; charset=<%= @options.charset %>" />
|
5
|
+
<title>Index of <%= @simple_files.empty? ? '' : 'Files, ' %> Classes & Methods in <%= h @options.title %></title>
|
6
|
+
<link href="<%= @stylesheet_url %>" media="all" rel="stylesheet" type="text/css" />
|
7
|
+
<script src="scripts/jquery.js" type="text/javascript" charset="utf-8"></script>
|
8
|
+
<script src="scripts/jquery.quicksearch.js" type="text/javascript" charset="utf-8"></script>
|
9
|
+
<script src="scripts/indexFrame.js" type="text/javascript" charset="utf-8"></script>
|
10
|
+
<base target="mainFrame"/>
|
11
|
+
</head>
|
12
|
+
<body class="index">
|
13
|
+
<% $stderr.sync = true %>
|
14
|
+
<% unless @files_to_display.empty? %>
|
15
|
+
<div id="file-index">
|
16
|
+
<div class="title">Files</div>
|
17
|
+
<div class="entries">
|
18
|
+
<% @files_to_display.each do |file| %>
|
19
|
+
<p><a href="<%= file.path %>"><%= h file.absolute_name %></a></p>
|
20
|
+
<% end %>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
<% end %>
|
24
|
+
<div id="class-index">
|
25
|
+
<div class="title">
|
26
|
+
<span class="text">Classes </span><input type="text" value="" class="search-field" />
|
27
|
+
</div>
|
28
|
+
<div class="entries">
|
29
|
+
<% @all_classes_and_modules.each do |k| %>
|
30
|
+
<p class="<%= k.any_content ? k.type : k.type + ' nodoc' %>">
|
31
|
+
<span class="type"><%= k.type[0..0].upcase %></span><a href="<%= k.path %>"><%= k.full_name + (k.is_alias_for ? ' → ' << k.is_alias_for.full_name : '') %></a>
|
32
|
+
</p>
|
33
|
+
<% end %>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
<div id="method-index">
|
38
|
+
<div class="title">
|
39
|
+
<span class="text">Methods </span><input type="text" value="" class="search-field" />
|
40
|
+
</div>
|
41
|
+
<div class="entries">
|
42
|
+
<% @all_methods.each do |m| %>
|
43
|
+
<% ptag = m.documented? ? '<p>' : '<p class="nodoc">' %>
|
44
|
+
<%= ptag %><span class="type"><%= m.name_prefix %></span><a href="<%= m.path %>"><%= h(m.name) %> (<%= m.parent.full_name %>)</a></p>
|
45
|
+
<% end %>
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
|
49
|
+
</body>
|
50
|
+
</html>
|