rdoc 6.3.4.1 → 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.
Files changed (205) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +195 -0
  3. data/History.rdoc +65 -63
  4. data/LEGAL.rdoc +7 -1
  5. data/LICENSE.rdoc +6 -0
  6. data/README.md +236 -0
  7. data/RI.md +842 -0
  8. data/TODO.rdoc +8 -7
  9. data/doc/markup_reference/markdown.md +659 -0
  10. data/doc/markup_reference/rdoc.rdoc +1169 -0
  11. data/exe/rdoc +0 -1
  12. data/lib/rdoc/{alias.rb → code_object/alias.rb} +4 -18
  13. data/lib/rdoc/{any_method.rb → code_object/any_method.rb} +50 -24
  14. data/lib/rdoc/{attr.rb → code_object/attr.rb} +16 -14
  15. data/lib/rdoc/{class_module.rb → code_object/class_module.rb} +225 -58
  16. data/lib/rdoc/{constant.rb → code_object/constant.rb} +44 -10
  17. data/lib/rdoc/code_object/context/section.rb +182 -0
  18. data/lib/rdoc/{context.rb → code_object/context.rb} +78 -106
  19. data/lib/rdoc/{extend.rb → code_object/extend.rb} +0 -1
  20. data/lib/rdoc/{include.rb → code_object/include.rb} +0 -1
  21. data/lib/rdoc/{method_attr.rb → code_object/method_attr.rb} +46 -48
  22. data/lib/rdoc/{mixin.rb → code_object/mixin.rb} +6 -4
  23. data/lib/rdoc/{normal_class.rb → code_object/normal_class.rb} +2 -3
  24. data/lib/rdoc/{normal_module.rb → code_object/normal_module.rb} +2 -3
  25. data/lib/rdoc/{require.rb → code_object/require.rb} +1 -2
  26. data/lib/rdoc/{single_class.rb → code_object/single_class.rb} +5 -1
  27. data/lib/rdoc/{top_level.rb → code_object/top_level.rb} +60 -63
  28. data/lib/rdoc/code_object.rb +11 -39
  29. data/lib/rdoc/code_objects.rb +1 -2
  30. data/lib/rdoc/comment.rb +202 -99
  31. data/lib/rdoc/cross_reference.rb +75 -62
  32. data/lib/rdoc/encoding.rb +8 -24
  33. data/lib/rdoc/erb_partial.rb +1 -2
  34. data/lib/rdoc/erbio.rb +3 -8
  35. data/lib/rdoc/generator/aliki.rb +200 -0
  36. data/lib/rdoc/generator/darkfish.rb +156 -122
  37. data/lib/rdoc/generator/json_index.rb +8 -24
  38. data/lib/rdoc/generator/markup.rb +70 -34
  39. data/lib/rdoc/generator/pot/message_extractor.rb +7 -7
  40. data/lib/rdoc/generator/pot/po.rb +1 -1
  41. data/lib/rdoc/generator/pot/po_entry.rb +8 -8
  42. data/lib/rdoc/generator/pot.rb +1 -5
  43. data/lib/rdoc/generator/ri.rb +1 -2
  44. data/lib/rdoc/generator/template/aliki/DESIGN.md +536 -0
  45. data/lib/rdoc/generator/template/aliki/_aside_toc.rhtml +8 -0
  46. data/lib/rdoc/generator/template/aliki/_footer.rhtml +23 -0
  47. data/lib/rdoc/generator/template/aliki/_head.rhtml +163 -0
  48. data/lib/rdoc/generator/template/aliki/_header.rhtml +56 -0
  49. data/lib/rdoc/generator/template/aliki/_icons.rhtml +208 -0
  50. data/lib/rdoc/generator/template/aliki/_sidebar_ancestors.rhtml +16 -0
  51. data/lib/rdoc/generator/template/aliki/_sidebar_classes.rhtml +15 -0
  52. data/lib/rdoc/generator/template/aliki/_sidebar_extends.rhtml +27 -0
  53. data/lib/rdoc/generator/template/aliki/_sidebar_includes.rhtml +27 -0
  54. data/lib/rdoc/generator/template/aliki/_sidebar_installed.rhtml +16 -0
  55. data/lib/rdoc/generator/template/aliki/_sidebar_methods.rhtml +41 -0
  56. data/lib/rdoc/generator/template/aliki/_sidebar_pages.rhtml +67 -0
  57. data/lib/rdoc/generator/template/aliki/_sidebar_search.rhtml +15 -0
  58. data/lib/rdoc/generator/template/aliki/_sidebar_sections.rhtml +21 -0
  59. data/lib/rdoc/generator/template/aliki/_sidebar_toggle.rhtml +3 -0
  60. data/lib/rdoc/generator/template/aliki/class.rhtml +230 -0
  61. data/lib/rdoc/generator/template/aliki/css/rdoc.css +2181 -0
  62. data/lib/rdoc/generator/template/aliki/index.rhtml +22 -0
  63. data/lib/rdoc/generator/template/aliki/js/aliki.js +513 -0
  64. data/lib/rdoc/generator/template/aliki/js/bash_highlighter.js +167 -0
  65. data/lib/rdoc/generator/template/aliki/js/c_highlighter.js +299 -0
  66. data/lib/rdoc/generator/template/aliki/js/search_controller.js +129 -0
  67. data/lib/rdoc/generator/template/aliki/js/search_navigation.js +105 -0
  68. data/lib/rdoc/generator/template/aliki/js/search_ranker.js +239 -0
  69. data/lib/rdoc/generator/template/aliki/js/theme-toggle.js +112 -0
  70. data/lib/rdoc/generator/template/aliki/page.rhtml +18 -0
  71. data/lib/rdoc/generator/template/aliki/servlet_not_found.rhtml +14 -0
  72. data/lib/rdoc/generator/template/aliki/servlet_root.rhtml +65 -0
  73. data/lib/rdoc/generator/template/darkfish/_footer.rhtml +3 -3
  74. data/lib/rdoc/generator/template/darkfish/_head.rhtml +35 -14
  75. data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +1 -5
  76. data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +11 -9
  77. data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +11 -9
  78. data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +7 -6
  79. data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +20 -11
  80. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +25 -5
  81. data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +4 -9
  82. data/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +2 -1
  83. data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +4 -4
  84. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +28 -7
  85. data/lib/rdoc/generator/template/darkfish/_sidebar_toggle.rhtml +3 -0
  86. data/lib/rdoc/generator/template/darkfish/class.rhtml +138 -90
  87. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +420 -358
  88. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  89. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  90. data/lib/rdoc/generator/template/darkfish/index.rhtml +14 -12
  91. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +59 -3
  92. data/lib/rdoc/generator/template/darkfish/js/search.js +15 -5
  93. data/lib/rdoc/generator/template/darkfish/page.rhtml +7 -6
  94. data/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +12 -9
  95. data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +24 -21
  96. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +35 -21
  97. data/lib/rdoc/generator/template/json_index/js/navigation.js +8 -8
  98. data/lib/rdoc/generator/template/json_index/js/searcher.js +48 -6
  99. data/lib/rdoc/generator.rb +6 -5
  100. data/lib/rdoc/i18n/text.rb +3 -3
  101. data/lib/rdoc/i18n.rb +1 -1
  102. data/lib/rdoc/known_classes.rb +5 -4
  103. data/lib/rdoc/markdown/entities.rb +0 -1
  104. data/lib/rdoc/markdown/literals.kpeg +0 -2
  105. data/lib/rdoc/markdown/literals.rb +0 -1
  106. data/lib/rdoc/markdown.kpeg +140 -62
  107. data/lib/rdoc/markdown.rb +1015 -873
  108. data/lib/rdoc/markup/blank_line.rb +25 -24
  109. data/lib/rdoc/markup/block_quote.rb +1 -2
  110. data/lib/rdoc/markup/document.rb +10 -11
  111. data/lib/rdoc/markup/element.rb +21 -0
  112. data/lib/rdoc/markup/formatter.rb +134 -115
  113. data/lib/rdoc/markup/hard_break.rb +30 -28
  114. data/lib/rdoc/markup/heading.rb +163 -72
  115. data/lib/rdoc/markup/include.rb +3 -4
  116. data/lib/rdoc/markup/indented_paragraph.rb +4 -5
  117. data/lib/rdoc/markup/inline_parser.rb +312 -0
  118. data/lib/rdoc/markup/list.rb +6 -7
  119. data/lib/rdoc/markup/list_item.rb +6 -7
  120. data/lib/rdoc/markup/paragraph.rb +2 -3
  121. data/lib/rdoc/markup/parser.rb +29 -19
  122. data/lib/rdoc/markup/pre_process.rb +39 -18
  123. data/lib/rdoc/markup/raw.rb +52 -56
  124. data/lib/rdoc/markup/rule.rb +2 -3
  125. data/lib/rdoc/markup/table.rb +49 -32
  126. data/lib/rdoc/markup/to_ansi.rb +58 -8
  127. data/lib/rdoc/markup/to_bs.rb +47 -38
  128. data/lib/rdoc/markup/to_html.rb +343 -105
  129. data/lib/rdoc/markup/to_html_crossref.rb +143 -58
  130. data/lib/rdoc/markup/to_html_snippet.rb +78 -76
  131. data/lib/rdoc/markup/to_joined_paragraph.rb +3 -9
  132. data/lib/rdoc/markup/to_label.rb +34 -25
  133. data/lib/rdoc/markup/to_markdown.rb +74 -51
  134. data/lib/rdoc/markup/to_rdoc.rb +141 -82
  135. data/lib/rdoc/markup/to_table_of_contents.rb +4 -5
  136. data/lib/rdoc/markup/to_test.rb +10 -3
  137. data/lib/rdoc/markup/to_tt_only.rb +17 -31
  138. data/lib/rdoc/markup/verbatim.rb +5 -6
  139. data/lib/rdoc/markup.rb +59 -707
  140. data/lib/rdoc/options.rb +228 -101
  141. data/lib/rdoc/parser/c.rb +186 -184
  142. data/lib/rdoc/parser/changelog.rb +57 -13
  143. data/lib/rdoc/parser/markdown.rb +0 -2
  144. data/lib/rdoc/parser/rbs.rb +275 -0
  145. data/lib/rdoc/parser/rd.rb +0 -1
  146. data/lib/rdoc/parser/ruby.rb +963 -2024
  147. data/lib/rdoc/parser/ruby_colorizer.rb +253 -0
  148. data/lib/rdoc/parser/simple.rb +6 -23
  149. data/lib/rdoc/parser/text.rb +0 -1
  150. data/lib/rdoc/parser.rb +35 -14
  151. data/lib/rdoc/rbs_helper.rb +186 -0
  152. data/lib/rdoc/rd/block_parser.rb +659 -11
  153. data/lib/rdoc/rd/block_parser.ry +13 -9
  154. data/lib/rdoc/rd/inline.rb +4 -5
  155. data/lib/rdoc/rd/inline_parser.rb +646 -2
  156. data/lib/rdoc/rd.rb +4 -5
  157. data/lib/rdoc/rdoc.rb +234 -90
  158. data/lib/rdoc/ri/driver.rb +172 -172
  159. data/lib/rdoc/ri/paths.rb +3 -3
  160. data/lib/rdoc/{servlet.rb → ri/servlet.rb} +28 -27
  161. data/lib/rdoc/ri/store.rb +0 -1
  162. data/lib/rdoc/ri/task.rb +3 -3
  163. data/lib/rdoc/ri.rb +5 -5
  164. data/lib/rdoc/rubygems_hook.rb +106 -25
  165. data/lib/rdoc/server.rb +460 -0
  166. data/lib/rdoc/stats/normal.rb +1 -1
  167. data/lib/rdoc/stats/quiet.rb +1 -2
  168. data/lib/rdoc/stats/verbose.rb +3 -5
  169. data/lib/rdoc/stats.rb +158 -136
  170. data/lib/rdoc/store.rb +267 -48
  171. data/lib/rdoc/task.rb +54 -28
  172. data/lib/rdoc/text.rb +60 -120
  173. data/lib/rdoc/token_stream.rb +30 -45
  174. data/lib/rdoc/tom_doc.rb +9 -15
  175. data/lib/rdoc/version.rb +3 -1
  176. data/lib/rdoc.rb +90 -52
  177. data/lib/rubygems_plugin.rb +14 -0
  178. data/man/ri.1 +2 -0
  179. data/rdoc-logo.svg +43 -0
  180. data/rdoc.gemspec +25 -200
  181. metadata +120 -53
  182. data/CONTRIBUTING.rdoc +0 -220
  183. data/ExampleMarkdown.md +0 -37
  184. data/ExampleRDoc.rdoc +0 -208
  185. data/Gemfile +0 -12
  186. data/README.rdoc +0 -129
  187. data/RI.rdoc +0 -57
  188. data/Rakefile +0 -101
  189. data/bin/console +0 -7
  190. data/bin/setup +0 -6
  191. data/lib/rdoc/anon_class.rb +0 -11
  192. data/lib/rdoc/context/section.rb +0 -232
  193. data/lib/rdoc/generator/template/darkfish/.document +0 -0
  194. data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +0 -19
  195. data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +0 -9
  196. data/lib/rdoc/generator/template/json_index/.document +0 -1
  197. data/lib/rdoc/ghost_method.rb +0 -7
  198. data/lib/rdoc/markup/attr_changer.rb +0 -23
  199. data/lib/rdoc/markup/attr_span.rb +0 -36
  200. data/lib/rdoc/markup/attribute_manager.rb +0 -409
  201. data/lib/rdoc/markup/attributes.rb +0 -71
  202. data/lib/rdoc/markup/regexp_handling.rb +0 -41
  203. data/lib/rdoc/meta_method.rb +0 -7
  204. data/lib/rdoc/parser/ripper_state_lex.rb +0 -590
  205. data/lib/rdoc/parser/ruby_tools.rb +0 -167
data/lib/rdoc.rb CHANGED
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  $DEBUG_RDOC = nil
3
3
 
4
- # :main: README.rdoc
5
-
6
4
  ##
7
5
  # RDoc produces documentation for Ruby source files by parsing the source and
8
6
  # extracting the definition for classes, modules, methods, includes and
@@ -21,7 +19,7 @@ $DEBUG_RDOC = nil
21
19
  # see RDoc::Markup and refer to <tt>rdoc --help</tt> for command line usage.
22
20
  #
23
21
  # If you want to set the default markup format see
24
- # RDoc::Markup@Supported+Formats
22
+ # RDoc::Markup@Markup+Formats
25
23
  #
26
24
  # If you want to store rdoc configuration in your gem (such as the default
27
25
  # markup format) see RDoc::Options@Saved+Options
@@ -62,7 +60,7 @@ module RDoc
62
60
 
63
61
  class Error < RuntimeError; end
64
62
 
65
- require 'rdoc/version'
63
+ require_relative 'rdoc/version'
66
64
 
67
65
  ##
68
66
  # Method visibilities
@@ -102,7 +100,14 @@ module RDoc
102
100
  %w[arg args yield yields notnew not-new not_new doc]
103
101
 
104
102
  ##
105
- # Loads the best available YAML library.
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.
106
111
 
107
112
  def self.load_yaml
108
113
  begin
@@ -115,11 +120,36 @@ module RDoc
115
120
  begin
116
121
  require 'psych'
117
122
  rescue ::LoadError
118
- ensure
119
- require 'yaml'
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
120
131
  end
121
132
  end
122
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
+
142
+ ##
143
+ # Searches and returns the directory for settings.
144
+ #
145
+ # 1. <tt>$HOME/.rdoc</tt> directory, if it exists.
146
+ # 2. The +rdoc+ directory under the path specified by the
147
+ # +XDG_DATA_HOME+ environment variable, if it is set.
148
+ # 3. <tt>$HOME/.local/share/rdoc</tt> directory.
149
+ #
150
+ # Other than the home directory, the containing directory will be
151
+ # created automatically.
152
+
123
153
  def self.home
124
154
  rdoc_dir = begin
125
155
  File.expand_path('~/.rdoc')
@@ -129,6 +159,7 @@ module RDoc
129
159
  if File.directory?(rdoc_dir)
130
160
  rdoc_dir
131
161
  else
162
+ require 'fileutils'
132
163
  begin
133
164
  # XDG
134
165
  xdg_data_home = ENV["XDG_DATA_HOME"] || File.join(File.expand_path("~"), '.local', 'share')
@@ -141,61 +172,68 @@ module RDoc
141
172
  end
142
173
  end
143
174
 
144
- autoload :RDoc, 'rdoc/rdoc'
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
+
185
+ autoload :RDoc, "#{__dir__}/rdoc/rdoc"
145
186
 
146
- autoload :CrossReference, 'rdoc/cross_reference'
147
- autoload :ERBIO, 'rdoc/erbio'
148
- autoload :ERBPartial, 'rdoc/erb_partial'
149
- autoload :Encoding, 'rdoc/encoding'
150
- autoload :Generator, 'rdoc/generator'
151
- autoload :Options, 'rdoc/options'
152
- autoload :Parser, 'rdoc/parser'
153
- autoload :Servlet, 'rdoc/servlet'
154
- autoload :RI, 'rdoc/ri'
155
- autoload :Stats, 'rdoc/stats'
156
- autoload :Store, 'rdoc/store'
157
- autoload :Task, 'rdoc/task'
158
- autoload :Text, 'rdoc/text'
187
+ autoload :CrossReference, "#{__dir__}/rdoc/cross_reference"
188
+ autoload :ERBIO, "#{__dir__}/rdoc/erbio"
189
+ autoload :ERBPartial, "#{__dir__}/rdoc/erb_partial"
190
+ autoload :Encoding, "#{__dir__}/rdoc/encoding"
191
+ autoload :Generator, "#{__dir__}/rdoc/generator"
192
+ autoload :Options, "#{__dir__}/rdoc/options"
193
+ autoload :Parser, "#{__dir__}/rdoc/parser"
194
+ autoload :Server, "#{__dir__}/rdoc/server"
195
+ autoload :RI, "#{__dir__}/rdoc/ri"
196
+ autoload :Stats, "#{__dir__}/rdoc/stats"
197
+ autoload :Store, "#{__dir__}/rdoc/store"
198
+ autoload :Task, "#{__dir__}/rdoc/task"
199
+ autoload :Text, "#{__dir__}/rdoc/text"
159
200
 
160
- autoload :Markdown, 'rdoc/markdown'
161
- autoload :Markup, 'rdoc/markup'
162
- autoload :RD, 'rdoc/rd'
163
- autoload :TomDoc, 'rdoc/tom_doc'
201
+ autoload :Markdown, "#{__dir__}/rdoc/markdown"
202
+ autoload :Markup, "#{__dir__}/rdoc/markup"
203
+ autoload :RD, "#{__dir__}/rdoc/rd"
204
+ autoload :TomDoc, "#{__dir__}/rdoc/tom_doc"
164
205
 
165
- autoload :KNOWN_CLASSES, 'rdoc/known_classes'
206
+ autoload :KNOWN_CLASSES, "#{__dir__}/rdoc/known_classes"
166
207
 
167
- autoload :TokenStream, 'rdoc/token_stream'
208
+ autoload :TokenStream, "#{__dir__}/rdoc/token_stream"
168
209
 
169
- autoload :Comment, 'rdoc/comment'
210
+ autoload :Comment, "#{__dir__}/rdoc/comment"
170
211
 
171
- require 'rdoc/i18n'
212
+ require_relative 'rdoc/i18n'
172
213
 
173
214
  # code objects
174
215
  #
175
216
  # We represent the various high-level code constructs that appear in Ruby
176
217
  # programs: classes, modules, methods, and so on.
177
- autoload :CodeObject, 'rdoc/code_object'
178
-
179
- autoload :Context, 'rdoc/context'
180
- autoload :TopLevel, 'rdoc/top_level'
181
-
182
- autoload :AnonClass, 'rdoc/anon_class'
183
- autoload :ClassModule, 'rdoc/class_module'
184
- autoload :NormalClass, 'rdoc/normal_class'
185
- autoload :NormalModule, 'rdoc/normal_module'
186
- autoload :SingleClass, 'rdoc/single_class'
187
-
188
- autoload :Alias, 'rdoc/alias'
189
- autoload :AnyMethod, 'rdoc/any_method'
190
- autoload :MethodAttr, 'rdoc/method_attr'
191
- autoload :GhostMethod, 'rdoc/ghost_method'
192
- autoload :MetaMethod, 'rdoc/meta_method'
193
- autoload :Attr, 'rdoc/attr'
194
-
195
- autoload :Constant, 'rdoc/constant'
196
- autoload :Mixin, 'rdoc/mixin'
197
- autoload :Include, 'rdoc/include'
198
- autoload :Extend, 'rdoc/extend'
199
- autoload :Require, 'rdoc/require'
218
+ autoload :CodeObject, "#{__dir__}/rdoc/code_object"
219
+
220
+ autoload :Context, "#{__dir__}/rdoc/code_object/context"
221
+ autoload :TopLevel, "#{__dir__}/rdoc/code_object/top_level"
222
+
223
+ autoload :ClassModule, "#{__dir__}/rdoc/code_object/class_module"
224
+ autoload :NormalClass, "#{__dir__}/rdoc/code_object/normal_class"
225
+ autoload :NormalModule, "#{__dir__}/rdoc/code_object/normal_module"
226
+ autoload :SingleClass, "#{__dir__}/rdoc/code_object/single_class"
227
+
228
+ autoload :Alias, "#{__dir__}/rdoc/code_object/alias"
229
+ autoload :AnyMethod, "#{__dir__}/rdoc/code_object/any_method"
230
+ autoload :MethodAttr, "#{__dir__}/rdoc/code_object/method_attr"
231
+ autoload :Attr, "#{__dir__}/rdoc/code_object/attr"
232
+
233
+ autoload :Constant, "#{__dir__}/rdoc/code_object/constant"
234
+ autoload :Mixin, "#{__dir__}/rdoc/code_object/mixin"
235
+ autoload :Include, "#{__dir__}/rdoc/code_object/include"
236
+ autoload :Extend, "#{__dir__}/rdoc/code_object/extend"
237
+ autoload :Require, "#{__dir__}/rdoc/code_object/require"
200
238
 
201
239
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ # If this file is exist, RDoc generates and removes documents by rubygems plugins.
4
+ #
5
+ # In follwing cases,
6
+ # RubyGems directly exectute RDoc::RubygemsHook.generation_hook and RDoc::RubygemsHook#remove to generate and remove documents.
7
+ #
8
+ # - RDoc is used as a default gem.
9
+ # - RDoc is a old version that doesn't have rubygems_plugin.rb.
10
+
11
+ require_relative 'rdoc/rubygems_hook'
12
+
13
+ Gem.done_installing(&RDoc::RubyGemsHook.method(:generate))
14
+ Gem.pre_uninstall(&RDoc::RubyGemsHook.method(:remove))
data/man/ri.1 CHANGED
@@ -36,6 +36,8 @@ can be:
36
36
  .It Class::method | Class#method | Class.method | method
37
37
  .Pp
38
38
  .It gem_name: | gem_name:README | gem_name:History
39
+ .Pp
40
+ .It ruby: | ruby:NEWS | ruby:globals
39
41
  .El
40
42
  .Pp
41
43
  All class names may be abbreviated to their minimum unambiguous form.
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,224 +26,49 @@ 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
+
31
+ s.metadata["homepage_uri"] = s.homepage
32
+ s.metadata["source_code_uri"] = "https://github.com/ruby/rdoc"
33
+ s.metadata["changelog_uri"] = "#{s.metadata["source_code_uri"]}/releases"
30
34
 
31
35
  s.bindir = "exe"
32
36
  s.executables = ["rdoc", "ri"]
33
37
  s.require_paths = ["lib"]
34
38
  # for ruby core repository. It was generated by
35
39
  # `git ls-files -z`.split("\x0").each {|f| puts " #{f.dump}," unless f.start_with?(*%W[test/ spec/ features/ .]) }
36
- s.files = [
37
- "CONTRIBUTING.rdoc",
40
+ non_lib_files = [
41
+ "CONTRIBUTING.md",
38
42
  "CVE-2013-0256.rdoc",
39
- "ExampleMarkdown.md",
40
- "ExampleRDoc.rdoc",
41
- "Gemfile",
43
+ "doc/markup_reference/markdown.md",
44
+ "doc/markup_reference/rdoc.rdoc",
42
45
  "History.rdoc",
43
46
  "LEGAL.rdoc",
44
47
  "LICENSE.rdoc",
45
- "README.rdoc",
46
- "RI.rdoc",
47
- "Rakefile",
48
+ "README.md",
49
+ "RI.md",
48
50
  "TODO.rdoc",
49
- "bin/console",
50
- "bin/setup",
51
51
  "exe/rdoc",
52
52
  "exe/ri",
53
- "lib/rdoc.rb",
54
- "lib/rdoc/alias.rb",
55
- "lib/rdoc/anon_class.rb",
56
- "lib/rdoc/any_method.rb",
57
- "lib/rdoc/attr.rb",
58
- "lib/rdoc/class_module.rb",
59
- "lib/rdoc/code_object.rb",
60
- "lib/rdoc/code_objects.rb",
61
- "lib/rdoc/comment.rb",
62
- "lib/rdoc/constant.rb",
63
- "lib/rdoc/context.rb",
64
- "lib/rdoc/context/section.rb",
65
- "lib/rdoc/cross_reference.rb",
66
- "lib/rdoc/encoding.rb",
67
- "lib/rdoc/erb_partial.rb",
68
- "lib/rdoc/erbio.rb",
69
- "lib/rdoc/extend.rb",
70
- "lib/rdoc/generator.rb",
71
- "lib/rdoc/generator/darkfish.rb",
72
- "lib/rdoc/generator/json_index.rb",
73
- "lib/rdoc/generator/markup.rb",
74
- "lib/rdoc/generator/pot.rb",
75
- "lib/rdoc/generator/pot/message_extractor.rb",
76
- "lib/rdoc/generator/pot/po.rb",
77
- "lib/rdoc/generator/pot/po_entry.rb",
78
- "lib/rdoc/generator/ri.rb",
79
- "lib/rdoc/generator/template/darkfish/.document",
80
- "lib/rdoc/generator/template/darkfish/_footer.rhtml",
81
- "lib/rdoc/generator/template/darkfish/_head.rhtml",
82
- "lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml",
83
- "lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml",
84
- "lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml",
85
- "lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml",
86
- "lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml",
87
- "lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml",
88
- "lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml",
89
- "lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml",
90
- "lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml",
91
- "lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml",
92
- "lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml",
93
- "lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml",
94
- "lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml",
95
- "lib/rdoc/generator/template/darkfish/class.rhtml",
96
- "lib/rdoc/generator/template/darkfish/css/fonts.css",
97
- "lib/rdoc/generator/template/darkfish/css/rdoc.css",
98
- "lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf",
99
- "lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf",
100
- "lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf",
101
- "lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf",
102
- "lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf",
103
- "lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf",
104
- "lib/rdoc/generator/template/darkfish/images/add.png",
105
- "lib/rdoc/generator/template/darkfish/images/arrow_up.png",
106
- "lib/rdoc/generator/template/darkfish/images/brick.png",
107
- "lib/rdoc/generator/template/darkfish/images/brick_link.png",
108
- "lib/rdoc/generator/template/darkfish/images/bug.png",
109
- "lib/rdoc/generator/template/darkfish/images/bullet_black.png",
110
- "lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png",
111
- "lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png",
112
- "lib/rdoc/generator/template/darkfish/images/date.png",
113
- "lib/rdoc/generator/template/darkfish/images/delete.png",
114
- "lib/rdoc/generator/template/darkfish/images/find.png",
115
- "lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif",
116
- "lib/rdoc/generator/template/darkfish/images/macFFBgHack.png",
117
- "lib/rdoc/generator/template/darkfish/images/package.png",
118
- "lib/rdoc/generator/template/darkfish/images/page_green.png",
119
- "lib/rdoc/generator/template/darkfish/images/page_white_text.png",
120
- "lib/rdoc/generator/template/darkfish/images/page_white_width.png",
121
- "lib/rdoc/generator/template/darkfish/images/plugin.png",
122
- "lib/rdoc/generator/template/darkfish/images/ruby.png",
123
- "lib/rdoc/generator/template/darkfish/images/tag_blue.png",
124
- "lib/rdoc/generator/template/darkfish/images/tag_green.png",
125
- "lib/rdoc/generator/template/darkfish/images/transparent.png",
126
- "lib/rdoc/generator/template/darkfish/images/wrench.png",
127
- "lib/rdoc/generator/template/darkfish/images/wrench_orange.png",
128
- "lib/rdoc/generator/template/darkfish/images/zoom.png",
129
- "lib/rdoc/generator/template/darkfish/index.rhtml",
130
- "lib/rdoc/generator/template/darkfish/js/darkfish.js",
131
- "lib/rdoc/generator/template/darkfish/js/search.js",
132
- "lib/rdoc/generator/template/darkfish/page.rhtml",
133
- "lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml",
134
- "lib/rdoc/generator/template/darkfish/servlet_root.rhtml",
135
- "lib/rdoc/generator/template/darkfish/table_of_contents.rhtml",
136
- "lib/rdoc/generator/template/json_index/.document",
137
- "lib/rdoc/generator/template/json_index/js/navigation.js",
138
- "lib/rdoc/generator/template/json_index/js/searcher.js",
139
- "lib/rdoc/ghost_method.rb",
140
- "lib/rdoc/i18n.rb",
141
- "lib/rdoc/i18n/locale.rb",
142
- "lib/rdoc/i18n/text.rb",
143
- "lib/rdoc/include.rb",
144
- "lib/rdoc/known_classes.rb",
145
- "lib/rdoc/markdown.kpeg",
146
- "lib/rdoc/markdown/entities.rb",
147
- "lib/rdoc/markdown/literals.kpeg",
148
- "lib/rdoc/markup.rb",
149
- "lib/rdoc/markup/attr_changer.rb",
150
- "lib/rdoc/markup/attr_span.rb",
151
- "lib/rdoc/markup/attribute_manager.rb",
152
- "lib/rdoc/markup/attributes.rb",
153
- "lib/rdoc/markup/blank_line.rb",
154
- "lib/rdoc/markup/block_quote.rb",
155
- "lib/rdoc/markup/document.rb",
156
- "lib/rdoc/markup/formatter.rb",
157
- "lib/rdoc/markup/hard_break.rb",
158
- "lib/rdoc/markup/heading.rb",
159
- "lib/rdoc/markup/include.rb",
160
- "lib/rdoc/markup/indented_paragraph.rb",
161
- "lib/rdoc/markup/list.rb",
162
- "lib/rdoc/markup/list_item.rb",
163
- "lib/rdoc/markup/paragraph.rb",
164
- "lib/rdoc/markup/parser.rb",
165
- "lib/rdoc/markup/pre_process.rb",
166
- "lib/rdoc/markup/raw.rb",
167
- "lib/rdoc/markup/regexp_handling.rb",
168
- "lib/rdoc/markup/rule.rb",
169
- "lib/rdoc/markup/table.rb",
170
- "lib/rdoc/markup/to_ansi.rb",
171
- "lib/rdoc/markup/to_bs.rb",
172
- "lib/rdoc/markup/to_html.rb",
173
- "lib/rdoc/markup/to_html_crossref.rb",
174
- "lib/rdoc/markup/to_html_snippet.rb",
175
- "lib/rdoc/markup/to_joined_paragraph.rb",
176
- "lib/rdoc/markup/to_label.rb",
177
- "lib/rdoc/markup/to_markdown.rb",
178
- "lib/rdoc/markup/to_rdoc.rb",
179
- "lib/rdoc/markup/to_table_of_contents.rb",
180
- "lib/rdoc/markup/to_test.rb",
181
- "lib/rdoc/markup/to_tt_only.rb",
182
- "lib/rdoc/markup/verbatim.rb",
183
- "lib/rdoc/meta_method.rb",
184
- "lib/rdoc/method_attr.rb",
185
- "lib/rdoc/mixin.rb",
186
- "lib/rdoc/normal_class.rb",
187
- "lib/rdoc/normal_module.rb",
188
- "lib/rdoc/options.rb",
189
- "lib/rdoc/parser.rb",
190
- "lib/rdoc/parser/c.rb",
191
- "lib/rdoc/parser/changelog.rb",
192
- "lib/rdoc/parser/markdown.rb",
193
- "lib/rdoc/parser/rd.rb",
194
- "lib/rdoc/parser/ripper_state_lex.rb",
195
- "lib/rdoc/parser/ruby.rb",
196
- "lib/rdoc/parser/ruby_tools.rb",
197
- "lib/rdoc/parser/simple.rb",
198
- "lib/rdoc/parser/text.rb",
199
- "lib/rdoc/rd.rb",
200
- "lib/rdoc/rd/block_parser.ry",
201
- "lib/rdoc/rd/inline.rb",
202
- "lib/rdoc/rd/inline_parser.ry",
203
- "lib/rdoc/rdoc.rb",
204
- "lib/rdoc/require.rb",
205
- "lib/rdoc/ri.rb",
206
- "lib/rdoc/ri/driver.rb",
207
- "lib/rdoc/ri/formatter.rb",
208
- "lib/rdoc/ri/paths.rb",
209
- "lib/rdoc/ri/store.rb",
210
- "lib/rdoc/ri/task.rb",
211
- "lib/rdoc/rubygems_hook.rb",
212
- "lib/rdoc/servlet.rb",
213
- "lib/rdoc/single_class.rb",
214
- "lib/rdoc/stats.rb",
215
- "lib/rdoc/stats/normal.rb",
216
- "lib/rdoc/stats/quiet.rb",
217
- "lib/rdoc/stats/verbose.rb",
218
- "lib/rdoc/store.rb",
219
- "lib/rdoc/task.rb",
220
- "lib/rdoc/text.rb",
221
- "lib/rdoc/token_stream.rb",
222
- "lib/rdoc/tom_doc.rb",
223
- "lib/rdoc/top_level.rb",
224
- "lib/rdoc/version.rb",
225
53
  "man/ri.1",
54
+ "rdoc-logo.svg",
226
55
  "rdoc.gemspec",
227
56
  ]
228
- # files from .gitignore
229
- s.files << "lib/rdoc/rd/block_parser.rb" << "lib/rdoc/rd/inline_parser.rb" << "lib/rdoc/markdown.rb" << "lib/rdoc/markdown/literals.rb"
57
+ base = __dir__
58
+ not_dir = ->(path) {!File.directory?(File.join(base, path))}
59
+ template_files = Dir.glob("lib/rdoc/generator/template/**/*", base: base).select(&not_dir)
60
+ lib_files = Dir.glob("lib/**/*.{rb,kpeg,ry}", base: base).select(&not_dir)
230
61
 
231
- s.rdoc_options = ["--main", "README.rdoc"]
232
- s.extra_rdoc_files += %w[
233
- CVE-2013-0256.rdoc
234
- CONTRIBUTING.rdoc
235
- ExampleMarkdown.md
236
- ExampleRDoc.rdoc
237
- History.rdoc
238
- LEGAL.rdoc
239
- LICENSE.rdoc
240
- README.rdoc
241
- RI.rdoc
242
- TODO.rdoc
243
- ]
62
+ s.files = (non_lib_files + template_files + lib_files).uniq
63
+
64
+ s.rdoc_options = ["--main", "README.md", "--copy-files", "rdoc-logo.svg"]
65
+ s.extra_rdoc_files += s.files.grep(%r[\A[^\/]+\.(?:rdoc|md)\z])
244
66
 
245
- s.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
67
+ s.required_ruby_version = Gem::Requirement.new(">= 3.2.0")
246
68
  s.required_rubygems_version = Gem::Requirement.new(">= 2.2")
247
69
 
248
- s.add_development_dependency("gettext")
70
+ s.add_dependency 'erb'
71
+ s.add_dependency 'tsort'
72
+ s.add_dependency 'prism', '>= 1.6.0'
73
+ s.add_dependency 'rbs', '>= 4.0.0'
249
74
  end