rdoc 7.1.0 → 8.0.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.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +3 -4
- data/LICENSE.rdoc +4 -0
- data/README.md +43 -2
- data/doc/markup_reference/markdown.md +104 -3
- data/lib/rdoc/code_object/alias.rb +2 -8
- data/lib/rdoc/code_object/any_method.rb +11 -6
- data/lib/rdoc/code_object/attr.rb +12 -6
- data/lib/rdoc/code_object/class_module.rb +62 -32
- data/lib/rdoc/code_object/constant.rb +29 -3
- data/lib/rdoc/code_object/context/section.rb +30 -43
- data/lib/rdoc/code_object/context.rb +53 -37
- data/lib/rdoc/code_object/method_attr.rb +9 -15
- data/lib/rdoc/code_object/mixin.rb +3 -0
- data/lib/rdoc/code_object/top_level.rb +11 -3
- data/lib/rdoc/code_object.rb +2 -4
- data/lib/rdoc/comment.rb +1 -66
- data/lib/rdoc/cross_reference.rb +8 -30
- data/lib/rdoc/encoding.rb +3 -3
- data/lib/rdoc/generator/aliki.rb +17 -0
- data/lib/rdoc/generator/darkfish.rb +12 -6
- data/lib/rdoc/generator/json_index.rb +2 -2
- data/lib/rdoc/generator/markup.rb +56 -31
- data/lib/rdoc/generator/template/aliki/DESIGN.md +536 -0
- data/lib/rdoc/generator/template/aliki/_aside_toc.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/_head.rhtml +6 -1
- data/lib/rdoc/generator/template/aliki/_sidebar_extends.rhtml +8 -6
- data/lib/rdoc/generator/template/aliki/_sidebar_includes.rhtml +8 -6
- data/lib/rdoc/generator/template/aliki/_sidebar_installed.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/_sidebar_pages.rhtml +2 -2
- data/lib/rdoc/generator/template/aliki/_sidebar_sections.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/_sidebar_toggle.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/class.rhtml +61 -51
- data/lib/rdoc/generator/template/aliki/css/rdoc.css +365 -147
- data/lib/rdoc/generator/template/aliki/index.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/js/aliki.js +28 -20
- data/lib/rdoc/generator/template/aliki/js/bash_highlighter.js +167 -0
- data/lib/rdoc/generator/template/aliki/js/search_controller.js +1 -1
- data/lib/rdoc/generator/template/aliki/page.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/servlet_not_found.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/servlet_root.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +8 -6
- data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +8 -6
- data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +1 -1
- data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +1 -1
- data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +1 -1
- data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/class.rhtml +18 -21
- data/lib/rdoc/generator/template/darkfish/css/rdoc.css +0 -1
- data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +3 -3
- data/lib/rdoc/i18n/text.rb +3 -3
- data/lib/rdoc/markdown.kpeg +36 -17
- data/lib/rdoc/markdown.rb +324 -125
- data/lib/rdoc/markup/document.rb +2 -2
- data/lib/rdoc/markup/formatter.rb +128 -115
- data/lib/rdoc/markup/heading.rb +3 -6
- data/lib/rdoc/markup/indented_paragraph.rb +1 -1
- data/lib/rdoc/markup/inline_parser.rb +312 -0
- data/lib/rdoc/markup/list.rb +2 -2
- data/lib/rdoc/markup/list_item.rb +2 -2
- data/lib/rdoc/markup/parser.rb +1 -1
- data/lib/rdoc/markup/pre_process.rb +0 -25
- data/lib/rdoc/markup/to_ansi.rb +52 -5
- data/lib/rdoc/markup/to_bs.rb +23 -43
- data/lib/rdoc/markup/to_html.rb +279 -226
- data/lib/rdoc/markup/to_html_crossref.rb +122 -136
- data/lib/rdoc/markup/to_html_snippet.rb +65 -65
- data/lib/rdoc/markup/to_joined_paragraph.rb +0 -5
- data/lib/rdoc/markup/to_label.rb +22 -23
- data/lib/rdoc/markup/to_markdown.rb +62 -38
- data/lib/rdoc/markup/to_rdoc.rb +88 -28
- data/lib/rdoc/markup/to_table_of_contents.rb +1 -1
- data/lib/rdoc/markup/to_test.rb +9 -1
- data/lib/rdoc/markup/to_tt_only.rb +10 -23
- data/lib/rdoc/markup/verbatim.rb +1 -1
- data/lib/rdoc/markup.rb +8 -30
- data/lib/rdoc/options.rb +36 -51
- data/lib/rdoc/parser/c.rb +7 -6
- data/lib/rdoc/parser/changelog.rb +21 -0
- data/lib/rdoc/parser/rbs.rb +275 -0
- data/lib/rdoc/parser/ruby.rb +955 -2067
- data/lib/rdoc/parser/ruby_colorizer.rb +253 -0
- data/lib/rdoc/parser.rb +3 -2
- data/lib/rdoc/rbs_helper.rb +186 -0
- data/lib/rdoc/rdoc.rb +196 -24
- data/lib/rdoc/ri/driver.rb +8 -2
- data/lib/rdoc/ri/paths.rb +1 -1
- data/lib/rdoc/{servlet.rb → ri/servlet.rb} +5 -5
- data/lib/rdoc/ri.rb +4 -3
- data/lib/rdoc/rubygems_hook.rb +11 -11
- data/lib/rdoc/server.rb +460 -0
- data/lib/rdoc/stats.rb +147 -124
- data/lib/rdoc/store.rb +212 -4
- data/lib/rdoc/task.rb +16 -15
- data/lib/rdoc/text.rb +24 -117
- data/lib/rdoc/token_stream.rb +11 -33
- data/lib/rdoc/version.rb +1 -1
- data/lib/rdoc.rb +35 -7
- data/lib/rubygems_plugin.rb +2 -11
- data/rdoc-logo.svg +43 -0
- data/rdoc.gemspec +6 -4
- metadata +37 -23
- data/lib/rdoc/code_object/anon_class.rb +0 -10
- data/lib/rdoc/code_object/ghost_method.rb +0 -6
- data/lib/rdoc/code_object/meta_method.rb +0 -6
- data/lib/rdoc/markup/attr_changer.rb +0 -22
- data/lib/rdoc/markup/attr_span.rb +0 -35
- data/lib/rdoc/markup/attribute_manager.rb +0 -432
- data/lib/rdoc/markup/attributes.rb +0 -70
- data/lib/rdoc/markup/regexp_handling.rb +0 -40
- data/lib/rdoc/parser/prism_ruby.rb +0 -1100
- data/lib/rdoc/parser/ripper_state_lex.rb +0 -302
- data/lib/rdoc/parser/ruby_tools.rb +0 -163
data/lib/rdoc/text.rb
CHANGED
|
@@ -29,34 +29,6 @@ module RDoc::Text
|
|
|
29
29
|
|
|
30
30
|
MARKUP_FORMAT.default = RDoc::Markup
|
|
31
31
|
|
|
32
|
-
##
|
|
33
|
-
# Maps an encoding to a Hash of characters properly transcoded for that
|
|
34
|
-
# encoding.
|
|
35
|
-
#
|
|
36
|
-
# See also encode_fallback.
|
|
37
|
-
|
|
38
|
-
TO_HTML_CHARACTERS = Hash.new do |h, encoding|
|
|
39
|
-
h[encoding] = {
|
|
40
|
-
:close_dquote => encode_fallback('”', encoding, '"'),
|
|
41
|
-
:close_squote => encode_fallback('’', encoding, '\''),
|
|
42
|
-
:copyright => encode_fallback('©', encoding, '(c)'),
|
|
43
|
-
:ellipsis => encode_fallback('…', encoding, '...'),
|
|
44
|
-
:em_dash => encode_fallback('—', encoding, '---'),
|
|
45
|
-
:en_dash => encode_fallback('–', encoding, '--'),
|
|
46
|
-
:open_dquote => encode_fallback('“', encoding, '"'),
|
|
47
|
-
:open_squote => encode_fallback('‘', encoding, '\''),
|
|
48
|
-
:trademark => encode_fallback('®', encoding, '(r)'),
|
|
49
|
-
}
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
##
|
|
53
|
-
# Transcodes +character+ to +encoding+ with a +fallback+ character.
|
|
54
|
-
|
|
55
|
-
def self.encode_fallback(character, encoding, fallback)
|
|
56
|
-
character.encode(encoding, :fallback => { character => fallback },
|
|
57
|
-
:undef => :replace, :replace => fallback)
|
|
58
|
-
end
|
|
59
|
-
|
|
60
32
|
##
|
|
61
33
|
# Expands tab characters in +text+ to eight spaces
|
|
62
34
|
|
|
@@ -149,7 +121,7 @@ module RDoc::Text
|
|
|
149
121
|
def snippet(text, limit = 100)
|
|
150
122
|
document = parse text
|
|
151
123
|
|
|
152
|
-
RDoc::Markup::ToHtmlSnippet.new(
|
|
124
|
+
RDoc::Markup::ToHtmlSnippet.new(limit).convert document
|
|
153
125
|
end
|
|
154
126
|
|
|
155
127
|
##
|
|
@@ -193,94 +165,6 @@ module RDoc::Text
|
|
|
193
165
|
text.gsub(/^\s+$/, empty)
|
|
194
166
|
end
|
|
195
167
|
|
|
196
|
-
##
|
|
197
|
-
# Converts ampersand, dashes, ellipsis, quotes, copyright and registered
|
|
198
|
-
# trademark symbols in +text+ to properly encoded characters.
|
|
199
|
-
|
|
200
|
-
def to_html(text)
|
|
201
|
-
html = (''.encode text.encoding).dup
|
|
202
|
-
|
|
203
|
-
encoded = RDoc::Text::TO_HTML_CHARACTERS[text.encoding]
|
|
204
|
-
|
|
205
|
-
s = StringScanner.new text
|
|
206
|
-
insquotes = false
|
|
207
|
-
indquotes = false
|
|
208
|
-
after_word = nil
|
|
209
|
-
|
|
210
|
-
until s.eos? do
|
|
211
|
-
case
|
|
212
|
-
when s.scan(/<(tt|code)>.*?<\/\1>/) then # skip contents of tt
|
|
213
|
-
html << s.matched.gsub('\\\\', '\\')
|
|
214
|
-
when s.scan(/<(tt|code)>.*?/) then
|
|
215
|
-
warn "mismatched <#{s[1]}> tag" # TODO signal file/line
|
|
216
|
-
html << s.matched
|
|
217
|
-
when s.scan(/<[^>]+\/?s*>/) then # skip HTML tags
|
|
218
|
-
html << s.matched
|
|
219
|
-
when s.scan(/\\(\S)/) then # unhandled suppressed crossref
|
|
220
|
-
html << s[1]
|
|
221
|
-
after_word = nil
|
|
222
|
-
when s.scan(/\.\.\.(\.?)/) then
|
|
223
|
-
html << s[1] << encoded[:ellipsis]
|
|
224
|
-
after_word = nil
|
|
225
|
-
when s.scan(/\(c\)/i) then
|
|
226
|
-
html << encoded[:copyright]
|
|
227
|
-
after_word = nil
|
|
228
|
-
when s.scan(/\(r\)/i) then
|
|
229
|
-
html << encoded[:trademark]
|
|
230
|
-
after_word = nil
|
|
231
|
-
when s.scan(/---/) then
|
|
232
|
-
html << encoded[:em_dash]
|
|
233
|
-
after_word = nil
|
|
234
|
-
when s.scan(/--/) then
|
|
235
|
-
html << encoded[:en_dash]
|
|
236
|
-
after_word = nil
|
|
237
|
-
when s.scan(/"|"/) then
|
|
238
|
-
html << encoded[indquotes ? :close_dquote : :open_dquote]
|
|
239
|
-
indquotes = !indquotes
|
|
240
|
-
after_word = nil
|
|
241
|
-
when s.scan(/``/) then # backtick double quote
|
|
242
|
-
html << encoded[:open_dquote]
|
|
243
|
-
after_word = nil
|
|
244
|
-
when s.scan(/(?:'|'){2}/) then # tick double quote
|
|
245
|
-
html << encoded[:close_dquote]
|
|
246
|
-
after_word = nil
|
|
247
|
-
when s.scan(/`/) then # backtick
|
|
248
|
-
if insquotes or after_word
|
|
249
|
-
html << '`'
|
|
250
|
-
after_word = false
|
|
251
|
-
else
|
|
252
|
-
html << encoded[:open_squote]
|
|
253
|
-
insquotes = true
|
|
254
|
-
end
|
|
255
|
-
when s.scan(/'|'/) then # single quote
|
|
256
|
-
if insquotes
|
|
257
|
-
html << encoded[:close_squote]
|
|
258
|
-
insquotes = false
|
|
259
|
-
elsif after_word
|
|
260
|
-
# Mary's dog, my parents' house: do not start paired quotes
|
|
261
|
-
html << encoded[:close_squote]
|
|
262
|
-
else
|
|
263
|
-
html << encoded[:open_squote]
|
|
264
|
-
insquotes = true
|
|
265
|
-
end
|
|
266
|
-
|
|
267
|
-
after_word = nil
|
|
268
|
-
else # advance to the next potentially significant character
|
|
269
|
-
match = s.scan(/.+?(?=[<\\.("'`&-])/) #"
|
|
270
|
-
|
|
271
|
-
if match then
|
|
272
|
-
html << match
|
|
273
|
-
after_word = match =~ /\w$/
|
|
274
|
-
else
|
|
275
|
-
html << s.rest
|
|
276
|
-
break
|
|
277
|
-
end
|
|
278
|
-
end
|
|
279
|
-
end
|
|
280
|
-
|
|
281
|
-
html
|
|
282
|
-
end
|
|
283
|
-
|
|
284
168
|
##
|
|
285
169
|
# Wraps +txt+ to +line_len+
|
|
286
170
|
|
|
@@ -334,4 +218,27 @@ module RDoc::Text
|
|
|
334
218
|
text.downcase.gsub(/[^a-z0-9 \-]/, '').gsub(' ', '-')
|
|
335
219
|
end
|
|
336
220
|
|
|
221
|
+
##
|
|
222
|
+
# Decodes a label that may be in legacy RDoc format where CGI.escape was
|
|
223
|
+
# applied and then '%' was replaced with '-'. Converts '+' to space,
|
|
224
|
+
# then reverses -XX hex encoding for non-alphanumeric characters.
|
|
225
|
+
#
|
|
226
|
+
# Labels in new format pass through unchanged because -XX patterns that
|
|
227
|
+
# decode to alphanumeric characters are left as-is (CGI.escape never
|
|
228
|
+
# encodes alphanumerics).
|
|
229
|
+
#
|
|
230
|
+
# Examples:
|
|
231
|
+
# "What-27s+Here" -> "What's Here" (legacy: -27 is apostrophe)
|
|
232
|
+
# "Foo-3A-3ABar" -> "Foo::Bar" (legacy: -3A is colon)
|
|
233
|
+
# "Whats-Here" -> "Whats-Here" (new format, unchanged)
|
|
234
|
+
|
|
235
|
+
module_function def decode_legacy_label(label)
|
|
236
|
+
label = label.tr('+', ' ')
|
|
237
|
+
label.gsub!(/-([0-7][0-9A-F])/) do
|
|
238
|
+
char = [$1.hex].pack('C')
|
|
239
|
+
char.match?(/[a-zA-Z0-9]/) ? $& : char
|
|
240
|
+
end
|
|
241
|
+
label
|
|
242
|
+
end
|
|
243
|
+
|
|
337
244
|
end
|
data/lib/rdoc/token_stream.rb
CHANGED
|
@@ -15,47 +15,25 @@ module RDoc::TokenStream
|
|
|
15
15
|
# with the given class names. Other token types are not wrapped in spans.
|
|
16
16
|
|
|
17
17
|
def self.to_html(token_stream)
|
|
18
|
-
starting_title = false
|
|
19
|
-
|
|
20
18
|
token_stream.map do |t|
|
|
21
19
|
next unless t
|
|
22
20
|
|
|
23
21
|
style = case t[:kind]
|
|
24
|
-
when :
|
|
25
|
-
when :
|
|
26
|
-
when :
|
|
27
|
-
when :
|
|
28
|
-
when :
|
|
29
|
-
when '
|
|
30
|
-
|
|
31
|
-
when :
|
|
32
|
-
when :
|
|
33
|
-
when :
|
|
34
|
-
when :
|
|
35
|
-
then 'ruby-node'
|
|
36
|
-
when :on_comment then 'ruby-comment'
|
|
37
|
-
when :on_embdoc then 'ruby-comment'
|
|
38
|
-
when :on_regexp then 'ruby-regexp'
|
|
39
|
-
when :on_tstring then 'ruby-string'
|
|
40
|
-
when :on_int, :on_float,
|
|
41
|
-
:on_rational, :on_imaginary,
|
|
42
|
-
:on_heredoc,
|
|
43
|
-
:on_symbol, :on_CHAR then 'ruby-value'
|
|
44
|
-
when :on_heredoc_beg, :on_heredoc_end
|
|
45
|
-
then 'ruby-identifier'
|
|
22
|
+
when :operator then 'ruby-operator'
|
|
23
|
+
when :keyword then 'ruby-keyword'
|
|
24
|
+
when :constant then 'ruby-constant'
|
|
25
|
+
when :ivar then 'ruby-ivar'
|
|
26
|
+
when :comment then 'ruby-comment'
|
|
27
|
+
when :value then 'ruby-value'
|
|
28
|
+
when :string then 'ruby-string'
|
|
29
|
+
when :symbol then 'ruby-value'
|
|
30
|
+
when :x_string then 'ruby-string'
|
|
31
|
+
when :regexp then 'ruby-regexp'
|
|
32
|
+
when :identifier then 'ruby-identifier'
|
|
46
33
|
end
|
|
47
34
|
|
|
48
35
|
text = t[:text]
|
|
49
36
|
|
|
50
|
-
if :on_ident == t[:kind] && starting_title
|
|
51
|
-
starting_title = false
|
|
52
|
-
style = 'ruby-identifier ruby-title'
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
if :on_kw == t[:kind] and 'def' == t[:text]
|
|
56
|
-
starting_title = true
|
|
57
|
-
end
|
|
58
|
-
|
|
59
37
|
text = CGI.escapeHTML text
|
|
60
38
|
|
|
61
39
|
if style then
|
data/lib/rdoc/version.rb
CHANGED
data/lib/rdoc.rb
CHANGED
|
@@ -100,7 +100,14 @@ module RDoc
|
|
|
100
100
|
%w[arg args yield yields notnew not-new not_new doc]
|
|
101
101
|
|
|
102
102
|
##
|
|
103
|
-
# Loads the
|
|
103
|
+
# Loads the YAML backend used for <tt>.rdoc_options</tt>.
|
|
104
|
+
#
|
|
105
|
+
# Psych is preferred and used whenever it can be required. Requiring +yaml+
|
|
106
|
+
# is not attempted as a fallback because +yaml+ is merely a thin wrapper that
|
|
107
|
+
# loads Psych anyway. When Psych is genuinely unavailable, a minimal
|
|
108
|
+
# serializer shipped with RubyGems or Bundler is loaded instead, so that RDoc
|
|
109
|
+
# does not need a runtime dependency on Psych. Callers branch on whether
|
|
110
|
+
# Psych is defined and use ::yaml_serializer otherwise.
|
|
104
111
|
|
|
105
112
|
def self.load_yaml
|
|
106
113
|
begin
|
|
@@ -113,11 +120,25 @@ module RDoc
|
|
|
113
120
|
begin
|
|
114
121
|
require 'psych'
|
|
115
122
|
rescue ::LoadError
|
|
116
|
-
|
|
117
|
-
|
|
123
|
+
# Psych is unavailable; load the stub serializer shipped with RubyGems,
|
|
124
|
+
# or Bundler's copy on RubyGems older than 3.5 (Ruby 3.2) where
|
|
125
|
+
# rubygems/yaml_serializer does not exist yet.
|
|
126
|
+
begin
|
|
127
|
+
require 'rubygems/yaml_serializer'
|
|
128
|
+
rescue ::LoadError
|
|
129
|
+
require 'bundler/yaml_serializer'
|
|
130
|
+
end
|
|
118
131
|
end
|
|
119
132
|
end
|
|
120
133
|
|
|
134
|
+
##
|
|
135
|
+
# The minimal YAML serializer module loaded by ::load_yaml as a fallback.
|
|
136
|
+
# Only meaningful when Psych is not defined.
|
|
137
|
+
|
|
138
|
+
def self.yaml_serializer
|
|
139
|
+
defined?(Gem::YAMLSerializer) ? Gem::YAMLSerializer : Bundler::YAMLSerializer
|
|
140
|
+
end
|
|
141
|
+
|
|
121
142
|
##
|
|
122
143
|
# Searches and returns the directory for settings.
|
|
123
144
|
#
|
|
@@ -151,6 +172,16 @@ module RDoc
|
|
|
151
172
|
end
|
|
152
173
|
end
|
|
153
174
|
|
|
175
|
+
##
|
|
176
|
+
# Returns +File.mtime(file)+, or +nil+ if the file cannot be stat'd
|
|
177
|
+
# (missing, permission denied, etc.).
|
|
178
|
+
|
|
179
|
+
def self.safe_mtime(file)
|
|
180
|
+
File.mtime(file)
|
|
181
|
+
rescue SystemCallError
|
|
182
|
+
nil
|
|
183
|
+
end
|
|
184
|
+
|
|
154
185
|
autoload :RDoc, "#{__dir__}/rdoc/rdoc"
|
|
155
186
|
|
|
156
187
|
autoload :CrossReference, "#{__dir__}/rdoc/cross_reference"
|
|
@@ -160,7 +191,7 @@ module RDoc
|
|
|
160
191
|
autoload :Generator, "#{__dir__}/rdoc/generator"
|
|
161
192
|
autoload :Options, "#{__dir__}/rdoc/options"
|
|
162
193
|
autoload :Parser, "#{__dir__}/rdoc/parser"
|
|
163
|
-
autoload :
|
|
194
|
+
autoload :Server, "#{__dir__}/rdoc/server"
|
|
164
195
|
autoload :RI, "#{__dir__}/rdoc/ri"
|
|
165
196
|
autoload :Stats, "#{__dir__}/rdoc/stats"
|
|
166
197
|
autoload :Store, "#{__dir__}/rdoc/store"
|
|
@@ -189,7 +220,6 @@ module RDoc
|
|
|
189
220
|
autoload :Context, "#{__dir__}/rdoc/code_object/context"
|
|
190
221
|
autoload :TopLevel, "#{__dir__}/rdoc/code_object/top_level"
|
|
191
222
|
|
|
192
|
-
autoload :AnonClass, "#{__dir__}/rdoc/code_object/anon_class"
|
|
193
223
|
autoload :ClassModule, "#{__dir__}/rdoc/code_object/class_module"
|
|
194
224
|
autoload :NormalClass, "#{__dir__}/rdoc/code_object/normal_class"
|
|
195
225
|
autoload :NormalModule, "#{__dir__}/rdoc/code_object/normal_module"
|
|
@@ -198,8 +228,6 @@ module RDoc
|
|
|
198
228
|
autoload :Alias, "#{__dir__}/rdoc/code_object/alias"
|
|
199
229
|
autoload :AnyMethod, "#{__dir__}/rdoc/code_object/any_method"
|
|
200
230
|
autoload :MethodAttr, "#{__dir__}/rdoc/code_object/method_attr"
|
|
201
|
-
autoload :GhostMethod, "#{__dir__}/rdoc/code_object/ghost_method"
|
|
202
|
-
autoload :MetaMethod, "#{__dir__}/rdoc/code_object/meta_method"
|
|
203
231
|
autoload :Attr, "#{__dir__}/rdoc/code_object/attr"
|
|
204
232
|
|
|
205
233
|
autoload :Constant, "#{__dir__}/rdoc/code_object/constant"
|
data/lib/rubygems_plugin.rb
CHANGED
|
@@ -10,14 +10,5 @@
|
|
|
10
10
|
|
|
11
11
|
require_relative 'rdoc/rubygems_hook'
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
# If generate and remove are executed at that time, an error will occur.
|
|
16
|
-
# So, we can't register generate and remove to Gem at that time.
|
|
17
|
-
begin
|
|
18
|
-
require_relative 'rdoc/markdown'
|
|
19
|
-
rescue LoadError
|
|
20
|
-
else
|
|
21
|
-
Gem.done_installing(&RDoc::RubyGemsHook.method(:generate))
|
|
22
|
-
Gem.pre_uninstall(&RDoc::RubyGemsHook.method(:remove))
|
|
23
|
-
end
|
|
13
|
+
Gem.done_installing(&RDoc::RubyGemsHook.method(:generate))
|
|
14
|
+
Gem.pre_uninstall(&RDoc::RubyGemsHook.method(:remove))
|
data/rdoc-logo.svg
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="168" height="198" viewBox="298 140 712 840" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">RDoc</title>
|
|
3
|
+
<desc id="desc">A red document outline with a folded corner and a Ruby gem.</desc>
|
|
4
|
+
<style>
|
|
5
|
+
.surface {
|
|
6
|
+
fill: transparent;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.stroke {
|
|
10
|
+
stroke: url(#rdoc-red);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.solid {
|
|
14
|
+
fill: url(#rdoc-red);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
<defs>
|
|
18
|
+
<linearGradient id="rdoc-red" x1="338" y1="178" x2="973" y2="938" gradientUnits="userSpaceOnUse">
|
|
19
|
+
<stop id="rdoc-red-start" offset="0" stop-color="#e62923"/>
|
|
20
|
+
<stop id="rdoc-red-mid" offset="0.56" stop-color="#e62923"/>
|
|
21
|
+
<stop id="rdoc-red-end" offset="1" stop-color="#e62923"/>
|
|
22
|
+
</linearGradient>
|
|
23
|
+
<filter id="soft-red-shadow" x="-10%" y="-10%" width="120%" height="120%">
|
|
24
|
+
<feDropShadow dx="0" dy="5" stdDeviation="5" flood-color="#e62923" flood-opacity="0.1"/>
|
|
25
|
+
</filter>
|
|
26
|
+
</defs>
|
|
27
|
+
|
|
28
|
+
<g filter="url(#soft-red-shadow)" fill="none" class="stroke" stroke-linecap="round" stroke-linejoin="round">
|
|
29
|
+
<path class="surface" d="M382 178h326l149 149v499c0 24-20 44-44 44H382c-24 0-44-20-44-44V222c0-24 20-44 44-44Z" stroke="none"/>
|
|
30
|
+
<path d="M685 870H382c-24 0-44-20-44-44V222c0-24 20-44 44-44h326l149 149v246" stroke-width="26"/>
|
|
31
|
+
<path class="solid" d="M708 178v126c0 24 19 43 43 43h106" stroke="none"/>
|
|
32
|
+
<path d="M708 178 857 327" stroke-width="26"/>
|
|
33
|
+
|
|
34
|
+
<path d="M440 411h216" stroke-width="26"/>
|
|
35
|
+
<path d="M440 506h216" stroke-width="26"/>
|
|
36
|
+
<path d="M440 605h145" stroke-width="26"/>
|
|
37
|
+
|
|
38
|
+
<path class="surface" d="M668 609h224l81 97-195 232-191-232 81-97Z" stroke-width="26"/>
|
|
39
|
+
<path d="M668 609 700 706 778 609 858 706 892 609" stroke-width="20"/>
|
|
40
|
+
<path d="M587 706h386" stroke-width="20"/>
|
|
41
|
+
<path d="M700 706 778 938 858 706" stroke-width="20"/>
|
|
42
|
+
</g>
|
|
43
|
+
</svg>
|
data/rdoc.gemspec
CHANGED
|
@@ -26,7 +26,7 @@ RDoc produces HTML and command-line documentation for Ruby projects.
|
|
|
26
26
|
RDoc includes the +rdoc+ and +ri+ tools for generating and displaying documentation from the command-line.
|
|
27
27
|
DESCRIPTION
|
|
28
28
|
s.homepage = "https://ruby.github.io/rdoc"
|
|
29
|
-
s.licenses = ["Ruby"]
|
|
29
|
+
s.licenses = ["Ruby", "GPL-2.0-only"]
|
|
30
30
|
|
|
31
31
|
s.metadata["homepage_uri"] = s.homepage
|
|
32
32
|
s.metadata["source_code_uri"] = "https://github.com/ruby/rdoc"
|
|
@@ -51,6 +51,7 @@ RDoc includes the +rdoc+ and +ri+ tools for generating and displaying documentat
|
|
|
51
51
|
"exe/rdoc",
|
|
52
52
|
"exe/ri",
|
|
53
53
|
"man/ri.1",
|
|
54
|
+
"rdoc-logo.svg",
|
|
54
55
|
"rdoc.gemspec",
|
|
55
56
|
]
|
|
56
57
|
base = __dir__
|
|
@@ -60,13 +61,14 @@ RDoc includes the +rdoc+ and +ri+ tools for generating and displaying documentat
|
|
|
60
61
|
|
|
61
62
|
s.files = (non_lib_files + template_files + lib_files).uniq
|
|
62
63
|
|
|
63
|
-
s.rdoc_options = ["--main", "README.md"]
|
|
64
|
+
s.rdoc_options = ["--main", "README.md", "--copy-files", "rdoc-logo.svg"]
|
|
64
65
|
s.extra_rdoc_files += s.files.grep(%r[\A[^\/]+\.(?:rdoc|md)\z])
|
|
65
66
|
|
|
66
|
-
s.required_ruby_version = Gem::Requirement.new(">= 2.
|
|
67
|
+
s.required_ruby_version = Gem::Requirement.new(">= 3.2.0")
|
|
67
68
|
s.required_rubygems_version = Gem::Requirement.new(">= 2.2")
|
|
68
69
|
|
|
69
|
-
s.add_dependency 'psych', '>= 4.0.0'
|
|
70
70
|
s.add_dependency 'erb'
|
|
71
71
|
s.add_dependency 'tsort'
|
|
72
|
+
s.add_dependency 'prism', '>= 1.6.0'
|
|
73
|
+
s.add_dependency 'rbs', '>= 4.0.0'
|
|
72
74
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rdoc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 8.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eric Hodel
|
|
@@ -13,24 +13,24 @@ authors:
|
|
|
13
13
|
- ITOYANAGI Sakura
|
|
14
14
|
bindir: exe
|
|
15
15
|
cert_chain: []
|
|
16
|
-
date: 2026-
|
|
16
|
+
date: 2026-06-26 00:00:00.000000000 Z
|
|
17
17
|
dependencies:
|
|
18
18
|
- !ruby/object:Gem::Dependency
|
|
19
|
-
name:
|
|
19
|
+
name: erb
|
|
20
20
|
requirement: !ruby/object:Gem::Requirement
|
|
21
21
|
requirements:
|
|
22
22
|
- - ">="
|
|
23
23
|
- !ruby/object:Gem::Version
|
|
24
|
-
version:
|
|
24
|
+
version: '0'
|
|
25
25
|
type: :runtime
|
|
26
26
|
prerelease: false
|
|
27
27
|
version_requirements: !ruby/object:Gem::Requirement
|
|
28
28
|
requirements:
|
|
29
29
|
- - ">="
|
|
30
30
|
- !ruby/object:Gem::Version
|
|
31
|
-
version:
|
|
31
|
+
version: '0'
|
|
32
32
|
- !ruby/object:Gem::Dependency
|
|
33
|
-
name:
|
|
33
|
+
name: tsort
|
|
34
34
|
requirement: !ruby/object:Gem::Requirement
|
|
35
35
|
requirements:
|
|
36
36
|
- - ">="
|
|
@@ -44,19 +44,33 @@ dependencies:
|
|
|
44
44
|
- !ruby/object:Gem::Version
|
|
45
45
|
version: '0'
|
|
46
46
|
- !ruby/object:Gem::Dependency
|
|
47
|
-
name:
|
|
47
|
+
name: prism
|
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
|
49
49
|
requirements:
|
|
50
50
|
- - ">="
|
|
51
51
|
- !ruby/object:Gem::Version
|
|
52
|
-
version:
|
|
52
|
+
version: 1.6.0
|
|
53
53
|
type: :runtime
|
|
54
54
|
prerelease: false
|
|
55
55
|
version_requirements: !ruby/object:Gem::Requirement
|
|
56
56
|
requirements:
|
|
57
57
|
- - ">="
|
|
58
58
|
- !ruby/object:Gem::Version
|
|
59
|
-
version:
|
|
59
|
+
version: 1.6.0
|
|
60
|
+
- !ruby/object:Gem::Dependency
|
|
61
|
+
name: rbs
|
|
62
|
+
requirement: !ruby/object:Gem::Requirement
|
|
63
|
+
requirements:
|
|
64
|
+
- - ">="
|
|
65
|
+
- !ruby/object:Gem::Version
|
|
66
|
+
version: 4.0.0
|
|
67
|
+
type: :runtime
|
|
68
|
+
prerelease: false
|
|
69
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
70
|
+
requirements:
|
|
71
|
+
- - ">="
|
|
72
|
+
- !ruby/object:Gem::Version
|
|
73
|
+
version: 4.0.0
|
|
60
74
|
description: |
|
|
61
75
|
RDoc produces HTML and command-line documentation for Ruby projects.
|
|
62
76
|
RDoc includes the +rdoc+ and +ri+ tools for generating and displaying documentation from the command-line.
|
|
@@ -97,7 +111,6 @@ files:
|
|
|
97
111
|
- lib/rdoc.rb
|
|
98
112
|
- lib/rdoc/code_object.rb
|
|
99
113
|
- lib/rdoc/code_object/alias.rb
|
|
100
|
-
- lib/rdoc/code_object/anon_class.rb
|
|
101
114
|
- lib/rdoc/code_object/any_method.rb
|
|
102
115
|
- lib/rdoc/code_object/attr.rb
|
|
103
116
|
- lib/rdoc/code_object/class_module.rb
|
|
@@ -105,9 +118,7 @@ files:
|
|
|
105
118
|
- lib/rdoc/code_object/context.rb
|
|
106
119
|
- lib/rdoc/code_object/context/section.rb
|
|
107
120
|
- lib/rdoc/code_object/extend.rb
|
|
108
|
-
- lib/rdoc/code_object/ghost_method.rb
|
|
109
121
|
- lib/rdoc/code_object/include.rb
|
|
110
|
-
- lib/rdoc/code_object/meta_method.rb
|
|
111
122
|
- lib/rdoc/code_object/method_attr.rb
|
|
112
123
|
- lib/rdoc/code_object/mixin.rb
|
|
113
124
|
- lib/rdoc/code_object/normal_class.rb
|
|
@@ -131,6 +142,7 @@ files:
|
|
|
131
142
|
- lib/rdoc/generator/pot/po.rb
|
|
132
143
|
- lib/rdoc/generator/pot/po_entry.rb
|
|
133
144
|
- lib/rdoc/generator/ri.rb
|
|
145
|
+
- lib/rdoc/generator/template/aliki/DESIGN.md
|
|
134
146
|
- lib/rdoc/generator/template/aliki/_aside_toc.rhtml
|
|
135
147
|
- lib/rdoc/generator/template/aliki/_footer.rhtml
|
|
136
148
|
- lib/rdoc/generator/template/aliki/_head.rhtml
|
|
@@ -150,6 +162,7 @@ files:
|
|
|
150
162
|
- lib/rdoc/generator/template/aliki/css/rdoc.css
|
|
151
163
|
- lib/rdoc/generator/template/aliki/index.rhtml
|
|
152
164
|
- lib/rdoc/generator/template/aliki/js/aliki.js
|
|
165
|
+
- lib/rdoc/generator/template/aliki/js/bash_highlighter.js
|
|
153
166
|
- lib/rdoc/generator/template/aliki/js/c_highlighter.js
|
|
154
167
|
- lib/rdoc/generator/template/aliki/js/search_controller.js
|
|
155
168
|
- lib/rdoc/generator/template/aliki/js/search_navigation.js
|
|
@@ -225,10 +238,6 @@ files:
|
|
|
225
238
|
- lib/rdoc/markdown/literals.kpeg
|
|
226
239
|
- lib/rdoc/markdown/literals.rb
|
|
227
240
|
- lib/rdoc/markup.rb
|
|
228
|
-
- lib/rdoc/markup/attr_changer.rb
|
|
229
|
-
- lib/rdoc/markup/attr_span.rb
|
|
230
|
-
- lib/rdoc/markup/attribute_manager.rb
|
|
231
|
-
- lib/rdoc/markup/attributes.rb
|
|
232
241
|
- lib/rdoc/markup/blank_line.rb
|
|
233
242
|
- lib/rdoc/markup/block_quote.rb
|
|
234
243
|
- lib/rdoc/markup/document.rb
|
|
@@ -238,13 +247,13 @@ files:
|
|
|
238
247
|
- lib/rdoc/markup/heading.rb
|
|
239
248
|
- lib/rdoc/markup/include.rb
|
|
240
249
|
- lib/rdoc/markup/indented_paragraph.rb
|
|
250
|
+
- lib/rdoc/markup/inline_parser.rb
|
|
241
251
|
- lib/rdoc/markup/list.rb
|
|
242
252
|
- lib/rdoc/markup/list_item.rb
|
|
243
253
|
- lib/rdoc/markup/paragraph.rb
|
|
244
254
|
- lib/rdoc/markup/parser.rb
|
|
245
255
|
- lib/rdoc/markup/pre_process.rb
|
|
246
256
|
- lib/rdoc/markup/raw.rb
|
|
247
|
-
- lib/rdoc/markup/regexp_handling.rb
|
|
248
257
|
- lib/rdoc/markup/rule.rb
|
|
249
258
|
- lib/rdoc/markup/table.rb
|
|
250
259
|
- lib/rdoc/markup/to_ansi.rb
|
|
@@ -265,13 +274,13 @@ files:
|
|
|
265
274
|
- lib/rdoc/parser/c.rb
|
|
266
275
|
- lib/rdoc/parser/changelog.rb
|
|
267
276
|
- lib/rdoc/parser/markdown.rb
|
|
268
|
-
- lib/rdoc/parser/
|
|
277
|
+
- lib/rdoc/parser/rbs.rb
|
|
269
278
|
- lib/rdoc/parser/rd.rb
|
|
270
|
-
- lib/rdoc/parser/ripper_state_lex.rb
|
|
271
279
|
- lib/rdoc/parser/ruby.rb
|
|
272
|
-
- lib/rdoc/parser/
|
|
280
|
+
- lib/rdoc/parser/ruby_colorizer.rb
|
|
273
281
|
- lib/rdoc/parser/simple.rb
|
|
274
282
|
- lib/rdoc/parser/text.rb
|
|
283
|
+
- lib/rdoc/rbs_helper.rb
|
|
275
284
|
- lib/rdoc/rd.rb
|
|
276
285
|
- lib/rdoc/rd/block_parser.rb
|
|
277
286
|
- lib/rdoc/rd/block_parser.ry
|
|
@@ -283,10 +292,11 @@ files:
|
|
|
283
292
|
- lib/rdoc/ri/driver.rb
|
|
284
293
|
- lib/rdoc/ri/formatter.rb
|
|
285
294
|
- lib/rdoc/ri/paths.rb
|
|
295
|
+
- lib/rdoc/ri/servlet.rb
|
|
286
296
|
- lib/rdoc/ri/store.rb
|
|
287
297
|
- lib/rdoc/ri/task.rb
|
|
288
298
|
- lib/rdoc/rubygems_hook.rb
|
|
289
|
-
- lib/rdoc/
|
|
299
|
+
- lib/rdoc/server.rb
|
|
290
300
|
- lib/rdoc/stats.rb
|
|
291
301
|
- lib/rdoc/stats/normal.rb
|
|
292
302
|
- lib/rdoc/stats/quiet.rb
|
|
@@ -299,10 +309,12 @@ files:
|
|
|
299
309
|
- lib/rdoc/version.rb
|
|
300
310
|
- lib/rubygems_plugin.rb
|
|
301
311
|
- man/ri.1
|
|
312
|
+
- rdoc-logo.svg
|
|
302
313
|
- rdoc.gemspec
|
|
303
314
|
homepage: https://ruby.github.io/rdoc
|
|
304
315
|
licenses:
|
|
305
316
|
- Ruby
|
|
317
|
+
- GPL-2.0-only
|
|
306
318
|
metadata:
|
|
307
319
|
homepage_uri: https://ruby.github.io/rdoc
|
|
308
320
|
source_code_uri: https://github.com/ruby/rdoc
|
|
@@ -310,20 +322,22 @@ metadata:
|
|
|
310
322
|
rdoc_options:
|
|
311
323
|
- "--main"
|
|
312
324
|
- README.md
|
|
325
|
+
- "--copy-files"
|
|
326
|
+
- rdoc-logo.svg
|
|
313
327
|
require_paths:
|
|
314
328
|
- lib
|
|
315
329
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
316
330
|
requirements:
|
|
317
331
|
- - ">="
|
|
318
332
|
- !ruby/object:Gem::Version
|
|
319
|
-
version: 2.
|
|
333
|
+
version: 3.2.0
|
|
320
334
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
321
335
|
requirements:
|
|
322
336
|
- - ">="
|
|
323
337
|
- !ruby/object:Gem::Version
|
|
324
338
|
version: '2.2'
|
|
325
339
|
requirements: []
|
|
326
|
-
rubygems_version: 4.0.
|
|
340
|
+
rubygems_version: 4.0.10
|
|
327
341
|
specification_version: 4
|
|
328
342
|
summary: RDoc produces HTML and command-line documentation for Ruby projects
|
|
329
343
|
test_files: []
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
class RDoc::Markup
|
|
3
|
-
|
|
4
|
-
AttrChanger = Struct.new :turn_on, :turn_off # :nodoc:
|
|
5
|
-
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
##
|
|
9
|
-
# An AttrChanger records a change in attributes. It contains a bitmap of the
|
|
10
|
-
# attributes to turn on, and a bitmap of those to turn off.
|
|
11
|
-
|
|
12
|
-
class RDoc::Markup::AttrChanger
|
|
13
|
-
|
|
14
|
-
def to_s # :nodoc:
|
|
15
|
-
"Attr: +#{turn_on}/-#{turn_off}"
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def inspect # :nodoc:
|
|
19
|
-
'+%d/-%d' % [turn_on, turn_off]
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
end
|