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
@@ -0,0 +1,163 @@
1
+ <meta charset="<%= @options.charset %>">
2
+ <meta name="viewport" content="width=device-width, initial-scale=1">
3
+
4
+ <title><%= h @title %></title>
5
+
6
+ <%- if defined?(klass) %>
7
+ <meta
8
+ name="keywords"
9
+ content="ruby,<%= h "#{klass.type},#{klass.full_name}" %>"
10
+ >
11
+ <%- if klass.comment.empty? %>
12
+ <meta
13
+ name="description"
14
+ content="Documentation for the <%= h "#{klass.full_name} #{klass.type}" %>"
15
+ >
16
+ <%- else %>
17
+ <meta
18
+ name="description"
19
+ content="<%= h "#{klass.type} #{klass.full_name}: #{excerpt(klass.comment)}" %>"
20
+ >
21
+ <%- end %>
22
+ <%- elsif defined?(file) %>
23
+ <meta name="keywords" content="ruby,documentation,<%= h file.page_name %>">
24
+ <meta
25
+ name="description"
26
+ content="<%= h "#{file.page_name}: #{excerpt(file.comment)}" %>"
27
+ >
28
+ <%- elsif @title %>
29
+ <meta name="keywords" content="ruby,documentation,<%= h @title %>">
30
+ <%- if @options.main_page and
31
+ main_page = @files.find { |f| f.full_name == @options.main_page } %>
32
+ <meta
33
+ name="description"
34
+ content="<%= h "#{@title}: #{excerpt(main_page.comment)}" %>"
35
+ >
36
+ <%- else %>
37
+ <meta name="description" content="Documentation for <%= h @title %>">
38
+ <%- end %>
39
+ <%- end %>
40
+
41
+ <%- if canonical_url = @options.canonical_root %>
42
+ <% canonical_url = current.canonical_url if defined?(current) %>
43
+ <link rel="canonical" href="<%= canonical_url %>">
44
+ <%- end %>
45
+
46
+ <!-- Open Graph / Facebook -->
47
+ <meta property="og:type" content="website">
48
+ <meta property="og:title" content="<%= h @title %>">
49
+
50
+ <%- if defined?(klass) %>
51
+ <%- if klass.comment.empty? %>
52
+ <meta
53
+ property="og:description"
54
+ content="Documentation for <%= h klass.full_name %> <%= h klass.type %> - API reference and code examples"
55
+ >
56
+ <%- else %>
57
+ <meta property="og:description" content="<%= h excerpt(klass.comment) %>">
58
+ <%- end %>
59
+ <%- elsif defined?(file) %>
60
+ <%- if file.comment.empty? %>
61
+ <meta
62
+ property="og:description"
63
+ content="<%= h file.page_name %> - <%= h @title %> documentation"
64
+ >
65
+ <%- else %>
66
+ <meta property="og:description" content="<%= h excerpt(file.comment) %>">
67
+ <%- end %>
68
+ <%- else %>
69
+ <meta
70
+ property="og:description"
71
+ content="API documentation for <%= h @title %> - Browse classes, modules, and methods"
72
+ >
73
+ <%- end %>
74
+
75
+ <%- if canonical_url = @options.canonical_root %>
76
+ <% canonical_url = current.canonical_url if defined?(current) %>
77
+ <meta property="og:url" content="<%= canonical_url %>">
78
+ <%- end %>
79
+
80
+ <!-- Twitter -->
81
+ <meta name="twitter:card" content="summary">
82
+ <meta name="twitter:title" content="<%= h @title %>">
83
+
84
+ <%- if defined?(klass) %>
85
+ <%- if klass.comment.empty? %>
86
+ <meta
87
+ name="twitter:description"
88
+ content="Documentation for <%= h klass.full_name %> <%= h klass.type %> - API reference and code examples"
89
+ >
90
+ <%- else %>
91
+ <meta name="twitter:description" content="<%= h excerpt(klass.comment) %>">
92
+ <%- end %>
93
+ <%- elsif defined?(file) %>
94
+ <%- if file.comment.empty? %>
95
+ <meta
96
+ name="twitter:description"
97
+ content="<%= h file.page_name %> - <%= h @title %> documentation"
98
+ >
99
+ <%- else %>
100
+ <meta name="twitter:description" content="<%= h excerpt(file.comment) %>">
101
+ <%- end %>
102
+ <%- else %>
103
+ <meta
104
+ name="twitter:description"
105
+ content="API documentation for <%= h @title %> - Browse classes, modules, and methods"
106
+ >
107
+ <%- end %>
108
+
109
+ <script type="text/javascript">
110
+ var rdoc_rel_prefix = "<%= h asset_rel_prefix %>/";
111
+ var index_rel_prefix = "<%= h rel_prefix %>/";
112
+ </script>
113
+
114
+ <script
115
+ src="<%= h asset_rel_prefix %>/js/theme-toggle.js?v=<%= h RDoc::VERSION %>"
116
+ ></script>
117
+
118
+ <script
119
+ src="<%= h asset_rel_prefix %>/js/search_navigation.js?v=<%= h RDoc::VERSION %>"
120
+ defer
121
+ ></script>
122
+
123
+ <script
124
+ src="<%= h asset_rel_prefix %>/js/search_data.js?v=<%= h RDoc::VERSION %>"
125
+ defer
126
+ ></script>
127
+
128
+ <script
129
+ src="<%= h asset_rel_prefix %>/js/search_ranker.js?v=<%= h RDoc::VERSION %>"
130
+ defer
131
+ ></script>
132
+
133
+ <script
134
+ src="<%= h asset_rel_prefix %>/js/search_controller.js?v=<%= h RDoc::VERSION %>"
135
+ defer
136
+ ></script>
137
+
138
+ <script
139
+ src="<%= h asset_rel_prefix %>/js/c_highlighter.js?v=<%= h RDoc::VERSION %>"
140
+ defer
141
+ ></script>
142
+
143
+ <script
144
+ src="<%= h asset_rel_prefix %>/js/bash_highlighter.js?v=<%= h RDoc::VERSION %>"
145
+ defer
146
+ ></script>
147
+
148
+ <script
149
+ src="<%= h asset_rel_prefix %>/js/aliki.js?v=<%= h RDoc::VERSION %>"
150
+ defer
151
+ ></script>
152
+
153
+ <link
154
+ href="<%= h asset_rel_prefix %>/css/rdoc.css?v=<%= h RDoc::VERSION %>"
155
+ rel="stylesheet"
156
+ >
157
+
158
+ <%- @options.template_stylesheets.each do |stylesheet| %>
159
+ <link
160
+ href="<%= h asset_rel_prefix %>/<%= h File.basename stylesheet %>?v=<%= h RDoc::VERSION %>"
161
+ rel="stylesheet"
162
+ >
163
+ <%- end %>
@@ -0,0 +1,56 @@
1
+ <header class="top-navbar">
2
+ <a href="<%= rel_prefix %>/index.html" class="navbar-brand">
3
+ <%= h @options.title %>
4
+ </a>
5
+
6
+ <!-- Desktop search bar -->
7
+ <div class="navbar-search navbar-search-desktop" role="search">
8
+ <form action="#" method="get" accept-charset="utf-8">
9
+ <input id="search-field" role="combobox" aria-label="Search"
10
+ aria-autocomplete="list" aria-controls="search-results-desktop"
11
+ type="text" name="search" placeholder="Search (/) for a class, method..."
12
+ spellcheck="false" autocomplete="off"
13
+ title="Type to search, Up and Down to navigate, Enter to load">
14
+ <ul id="search-results-desktop" aria-label="Search Results"
15
+ aria-busy="false" aria-expanded="false"
16
+ aria-atomic="false" class="initially-hidden search-results"></ul>
17
+ </form>
18
+ </div>
19
+
20
+ <!-- Mobile search icon button -->
21
+ <button id="search-toggle" class="navbar-search-mobile" aria-label="Open search" type="button">
22
+ <span aria-hidden="true">🔍</span>
23
+ </button>
24
+
25
+ <!-- Theme toggle button -->
26
+ <button id="theme-toggle" class="theme-toggle" aria-label="Switch to dark mode" type="button">
27
+ <span class="theme-toggle-icon" aria-hidden="true">🌙</span>
28
+ </button>
29
+ </header>
30
+
31
+ <!-- Search Modal (Mobile) -->
32
+ <div id="search-modal" class="search-modal" hidden aria-modal="true" role="dialog" aria-label="Search">
33
+ <div class="search-modal-backdrop"></div>
34
+ <div class="search-modal-content">
35
+ <div class="search-modal-header">
36
+ <form class="search-modal-form" action="#" method="get" accept-charset="utf-8">
37
+ <span class="search-modal-icon" aria-hidden="true">🔍</span>
38
+ <input id="search-field-mobile" role="combobox" aria-label="Search"
39
+ aria-autocomplete="list" aria-controls="search-results-mobile"
40
+ type="text" name="search" placeholder="Search documentation"
41
+ spellcheck="false" autocomplete="off">
42
+ <button type="button" class="search-modal-close" aria-label="Close search" id="search-modal-close">
43
+ <span aria-hidden="true">esc</span>
44
+ </button>
45
+ </form>
46
+ </div>
47
+ <div class="search-modal-body">
48
+ <ul id="search-results-mobile" aria-label="Search Results"
49
+ aria-busy="false" aria-expanded="false"
50
+ aria-atomic="false" class="search-results search-modal-results initially-hidden"></ul>
51
+ <div class="search-modal-empty">
52
+ <p>No recent searches</p>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ </div>
@@ -0,0 +1,208 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
2
+ <!-- Chevron (right arrow) - used for expand/collapse -->
3
+ <symbol
4
+ id="icon-chevron"
5
+ viewBox="0 0 24 24"
6
+ fill="none"
7
+ stroke="currentColor"
8
+ stroke-width="2"
9
+ stroke-linecap="round"
10
+ stroke-linejoin="round"
11
+ >
12
+ <polyline points="9 18 15 12 9 6"></polyline>
13
+ </symbol>
14
+
15
+ <!-- File/Document - Pages section -->
16
+ <symbol
17
+ id="icon-file"
18
+ viewBox="0 0 24 24"
19
+ fill="none"
20
+ stroke="currentColor"
21
+ stroke-width="2"
22
+ stroke-linecap="round"
23
+ stroke-linejoin="round"
24
+ >
25
+ <path
26
+ d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"
27
+ ></path>
28
+
29
+ <polyline points="14 2 14 8 20 8"></polyline>
30
+ </symbol>
31
+
32
+ <!-- Layers/Stack - Classes and Modules section -->
33
+ <symbol
34
+ id="icon-layers"
35
+ viewBox="0 0 24 24"
36
+ fill="none"
37
+ stroke="currentColor"
38
+ stroke-width="2"
39
+ stroke-linecap="round"
40
+ stroke-linejoin="round"
41
+ >
42
+ <polygon points="12 2 2 7 12 12 22 7 12 2"></polygon>
43
+ <polyline points="2 17 12 22 22 17"></polyline>
44
+ <polyline points="2 12 12 17 22 12"></polyline>
45
+ </symbol>
46
+
47
+ <!-- Curly braces with C - Class Methods section -->
48
+ <symbol
49
+ id="icon-class-methods"
50
+ viewBox="0 0 24 24"
51
+ fill="none"
52
+ stroke="currentColor"
53
+ stroke-width="2"
54
+ stroke-linecap="round"
55
+ stroke-linejoin="round"
56
+ >
57
+ <path d="M6 3C3.5 3 2 4.5 2 7v3c0 1.5-1 2-1 2s1 .5 1 2v5c0 2.5 1.5 4 4 4"></path>
58
+ <path d="M18 3c2.5 0 4 1.5 4 4v3c0 1.5 1 2 1 2s-1 .5-1 2v5c0 2.5-1.5 4-4 4"></path>
59
+
60
+ <text
61
+ x="12"
62
+ y="17"
63
+ text-anchor="middle"
64
+ font-size="13"
65
+ font-weight="bold"
66
+ fill="currentColor"
67
+ stroke="none"
68
+ >
69
+ C
70
+ </text>
71
+ </symbol>
72
+
73
+ <!-- Curly braces with I - Instance Methods section -->
74
+ <symbol
75
+ id="icon-instance-methods"
76
+ viewBox="0 0 24 24"
77
+ fill="none"
78
+ stroke="currentColor"
79
+ stroke-width="2"
80
+ stroke-linecap="round"
81
+ stroke-linejoin="round"
82
+ >
83
+ <path d="M6 3C3.5 3 2 4.5 2 7v3c0 1.5-1 2-1 2s1 .5 1 2v5c0 2.5 1.5 4 4 4"></path>
84
+ <path d="M18 3c2.5 0 4 1.5 4 4v3c0 1.5 1 2 1 2s-1 .5-1 2v5c0 2.5-1.5 4-4 4"></path>
85
+
86
+ <text
87
+ x="12"
88
+ y="17"
89
+ text-anchor="middle"
90
+ font-size="13"
91
+ font-weight="bold"
92
+ fill="currentColor"
93
+ stroke="none"
94
+ >
95
+ I
96
+ </text>
97
+ </symbol>
98
+
99
+ <!-- Double chevrons up - Ancestors section -->
100
+ <symbol
101
+ id="icon-ancestors"
102
+ viewBox="0 0 24 24"
103
+ fill="none"
104
+ stroke="currentColor"
105
+ stroke-width="2"
106
+ stroke-linecap="round"
107
+ stroke-linejoin="round"
108
+ >
109
+ <polyline points="17 11 12 6 7 11"></polyline>
110
+ <polyline points="17 18 12 13 7 18"></polyline>
111
+ </symbol>
112
+
113
+ <!-- User with plus - Included Modules section -->
114
+ <symbol
115
+ id="icon-includes"
116
+ viewBox="0 0 24 24"
117
+ fill="none"
118
+ stroke="currentColor"
119
+ stroke-width="2"
120
+ stroke-linecap="round"
121
+ stroke-linejoin="round"
122
+ >
123
+ <path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
124
+ <circle cx="8.5" cy="7" r="4"></circle>
125
+
126
+ <line
127
+ x1="20"
128
+ y1="8"
129
+ x2="20"
130
+ y2="14"
131
+ ></line>
132
+
133
+ <line
134
+ x1="23"
135
+ y1="11"
136
+ x2="17"
137
+ y2="11"
138
+ ></line>
139
+ </symbol>
140
+
141
+ <!-- User with check - Extended Modules section -->
142
+ <symbol
143
+ id="icon-extends"
144
+ viewBox="0 0 24 24"
145
+ fill="none"
146
+ stroke="currentColor"
147
+ stroke-width="2"
148
+ stroke-linecap="round"
149
+ stroke-linejoin="round"
150
+ >
151
+ <path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
152
+ <circle cx="8.5" cy="7" r="4"></circle>
153
+ <polyline points="17 11 19 13 23 9"></polyline>
154
+ </symbol>
155
+
156
+ <!-- List - Sections section -->
157
+ <symbol
158
+ id="icon-list"
159
+ viewBox="0 0 24 24"
160
+ fill="none"
161
+ stroke="currentColor"
162
+ stroke-width="2"
163
+ stroke-linecap="round"
164
+ stroke-linejoin="round"
165
+ >
166
+ <line
167
+ x1="8"
168
+ y1="6"
169
+ x2="21"
170
+ y2="6"
171
+ ></line>
172
+
173
+ <line
174
+ x1="8"
175
+ y1="12"
176
+ x2="21"
177
+ y2="12"
178
+ ></line>
179
+
180
+ <line
181
+ x1="8"
182
+ y1="18"
183
+ x2="21"
184
+ y2="18"
185
+ ></line>
186
+
187
+ <line
188
+ x1="3"
189
+ y1="6"
190
+ x2="3.01"
191
+ y2="6"
192
+ ></line>
193
+
194
+ <line
195
+ x1="3"
196
+ y1="12"
197
+ x2="3.01"
198
+ y2="12"
199
+ ></line>
200
+
201
+ <line
202
+ x1="3"
203
+ y1="18"
204
+ x2="3.01"
205
+ y2="18"
206
+ ></line>
207
+ </symbol>
208
+ </svg>
@@ -0,0 +1,16 @@
1
+ <%- if klass.type == 'class' && (ancestors = klass.super_classes).any? %>
2
+ <div id="parent-class-section" class="nav-section">
3
+ <details class="nav-section-collapsible" open>
4
+ <summary class="nav-section-header">
5
+ <span class="nav-section-icon">
6
+ <svg><use href="#icon-ancestors"></use></svg>
7
+ </span>
8
+ <span class="nav-section-title">Ancestors</span>
9
+ <span class="nav-section-chevron">
10
+ <svg><use href="#icon-chevron"></use></svg>
11
+ </span>
12
+ </summary>
13
+ <%= generate_ancestor_list(ancestors, klass) %>
14
+ </details>
15
+ </div>
16
+ <%- end %>
@@ -0,0 +1,15 @@
1
+ <div id="classindex-section" class="nav-section">
2
+ <details class="nav-section-collapsible" open>
3
+ <summary class="nav-section-header">
4
+ <span class="nav-section-icon">
5
+ <svg><use href="#icon-layers"></use></svg>
6
+ </span>
7
+ <span class="nav-section-title">Classes and Modules</span>
8
+ <span class="nav-section-chevron">
9
+ <svg><use href="#icon-chevron"></use></svg>
10
+ </span>
11
+ </summary>
12
+
13
+ <%= generate_class_index_content(@classes, rel_prefix) %>
14
+ </details>
15
+ </div>
@@ -0,0 +1,27 @@
1
+ <%- unless klass.extends.empty? %>
2
+ <div id="extends-section" class="nav-section">
3
+ <details class="nav-section-collapsible" open>
4
+ <summary class="nav-section-header">
5
+ <span class="nav-section-icon">
6
+ <svg><use href="#icon-extends"></use></svg>
7
+ </span>
8
+ <span class="nav-section-title">Extended With Modules</span>
9
+ <span class="nav-section-chevron">
10
+ <svg><use href="#icon-chevron"></use></svg>
11
+ </span>
12
+ </summary>
13
+
14
+ <ul class="nav-list">
15
+ <%- klass.extends.each do |ext| %>
16
+ <li>
17
+ <%- unless String === ext.module %>
18
+ <a class="extend" href="<%= klass.aref_to ext.module.path %>"><%= ext.module.full_name %></a>
19
+ <%- else %>
20
+ <span class="extend"><%= ext.name %></span>
21
+ <%- end %>
22
+ </li>
23
+ <%- end %>
24
+ </ul>
25
+ </details>
26
+ </div>
27
+ <%- end %>
@@ -0,0 +1,27 @@
1
+ <%- unless klass.includes.empty? %>
2
+ <div id="includes-section" class="nav-section">
3
+ <details class="nav-section-collapsible" open>
4
+ <summary class="nav-section-header">
5
+ <span class="nav-section-icon">
6
+ <svg><use href="#icon-includes"></use></svg>
7
+ </span>
8
+ <span class="nav-section-title">Included Modules</span>
9
+ <span class="nav-section-chevron">
10
+ <svg><use href="#icon-chevron"></use></svg>
11
+ </span>
12
+ </summary>
13
+
14
+ <ul class="nav-list">
15
+ <%- klass.includes.each do |inc| %>
16
+ <li>
17
+ <%- unless String === inc.module %>
18
+ <a class="include" href="<%= klass.aref_to inc.module.path %>"><%= inc.module.full_name %></a>
19
+ <%- else %>
20
+ <span class="include"><%= inc.name %></span>
21
+ <%- end %>
22
+ </li>
23
+ <%- end %>
24
+ </ul>
25
+ </details>
26
+ </div>
27
+ <%- end %>
@@ -0,0 +1,16 @@
1
+ <div id="home-section" class="nav-section">
2
+ <h3>Documentation</h3>
3
+
4
+ <ul>
5
+ <%- installed.each do |name, href, exists, type, _| %>
6
+ <%- next if type == :extra %>
7
+ <li class="folder">
8
+ <%- if exists %>
9
+ <a href="<%= href %>"><%= h name %></a>
10
+ <%- else %>
11
+ <%= h name %>
12
+ <%- end %>
13
+ </li>
14
+ <%- end %>
15
+ </ul>
16
+ </div>
@@ -0,0 +1,41 @@
1
+ <% if (class_methods = klass.class_method_list.sort).any? %>
2
+ <div class="nav-section">
3
+ <details class="nav-section-collapsible" open>
4
+ <summary class="nav-section-header">
5
+ <span class="nav-section-icon">
6
+ <svg><use href="#icon-class-methods"></use></svg>
7
+ </span>
8
+ <span class="nav-section-title">Class Methods</span>
9
+ <span class="nav-section-chevron">
10
+ <svg><use href="#icon-chevron"></use></svg>
11
+ </span>
12
+ </summary>
13
+ <ul class="nav-list" role="directory">
14
+ <%- class_methods.each do |meth| %>
15
+ <li <%- if meth.calls_super %>class="calls-super" <%- end %>><a href="#<%= meth.aref %>"><%= h meth.name -%></a></li>
16
+ <%- end %>
17
+ </ul>
18
+ </details>
19
+ </div>
20
+ <% end %>
21
+
22
+ <% if (instance_methods = klass.instance_methods.sort).any? %>
23
+ <div class="nav-section">
24
+ <details class="nav-section-collapsible" open>
25
+ <summary class="nav-section-header">
26
+ <span class="nav-section-icon">
27
+ <svg><use href="#icon-instance-methods"></use></svg>
28
+ </span>
29
+ <span class="nav-section-title">Instance Methods</span>
30
+ <span class="nav-section-chevron">
31
+ <svg><use href="#icon-chevron"></use></svg>
32
+ </span>
33
+ </summary>
34
+ <ul class="nav-list" role="directory">
35
+ <%- instance_methods.each do |meth| %>
36
+ <li <%- if meth.calls_super %>class="calls-super" <%- end %>><a href="#<%= meth.aref %>"><%= h meth.name -%></a></li>
37
+ <%- end %>
38
+ </ul>
39
+ </details>
40
+ </div>
41
+ <% end %>
@@ -0,0 +1,67 @@
1
+ <%- simple_files = @files.select { |f| f.text? && f.full_name != @options.main_page } %>
2
+
3
+ <%- if defined?(current) && current.respond_to?(:page_name) %>
4
+ <%- dir = current.full_name[%r{\A[^/]+(?=/)}] || current.page_name %>
5
+ <%- end %>
6
+
7
+ <%- unless simple_files.empty? %>
8
+ <div id="fileindex-section" class="nav-section">
9
+ <details class="nav-section-collapsible" <%= 'open' unless @inside_class_file %>>
10
+ <summary class="nav-section-header">
11
+ <span class="nav-section-icon">
12
+ <svg>
13
+ <use href="#icon-file"></use>
14
+ </svg>
15
+ </span>
16
+
17
+ <span class="nav-section-title">Pages</span>
18
+
19
+ <span class="nav-section-chevron">
20
+ <svg>
21
+ <use href="#icon-chevron"></use>
22
+ </svg>
23
+ </span>
24
+ </summary>
25
+
26
+ <ul class="nav-list">
27
+ <%- grouped_files = simple_files.group_by { |f| f.full_name[%r{\A[^/]+(?=/)}] || f.page_name } %>
28
+
29
+ <%- grouped_files.each do |n, files| %>
30
+ <%- f = files.shift %>
31
+
32
+ <%- if files.empty? %>
33
+ <li>
34
+ <a href="<%= rel_prefix %>/<%= h f.path %>">
35
+ <%= h f.page_name %>
36
+ </a>
37
+ </li>
38
+ <%- next -%>
39
+ <%- end %>
40
+
41
+ <li>
42
+ <details <%= dir == n ? ' open' : '' %>>
43
+ <summary>
44
+ <% if n == f.page_name %>
45
+ <a href="<%= rel_prefix %>/<%= h f.path %>"><%= h n %></a>
46
+ <% else %>
47
+ <%= h n %>
48
+ <% files.unshift(f) %>
49
+ <% end %>
50
+ </summary>
51
+
52
+ <ul class="link-list">
53
+ <%- files.each do |f| %>
54
+ <li>
55
+ <a href="<%= rel_prefix %>/<%= h f.path %>">
56
+ <%= h f.page_name %>
57
+ </a>
58
+ </li>
59
+ <%- end %>
60
+ </ul>
61
+ </details>
62
+ </li>
63
+ <%- end %>
64
+ </ul>
65
+ </details>
66
+ </div>
67
+ <%- end %>
@@ -0,0 +1,15 @@
1
+ <div id="search-section" role="search" class="project-section initially-hidden">
2
+ <form action="#" method="get" accept-charset="utf-8">
3
+ <div id="search-field-wrapper">
4
+ <input id="search-field" role="combobox" aria-label="Search"
5
+ aria-autocomplete="list" aria-controls="search-results-desktop"
6
+ type="text" name="search" placeholder="Search (/) for a class, method, ..." spellcheck="false"
7
+ autocomplete="off"
8
+ title="Type to search, Up and Down to navigate, Enter to load">
9
+ </div>
10
+
11
+ <ul id="search-results-desktop" aria-label="Search Results"
12
+ aria-busy="false" aria-expanded="false"
13
+ aria-atomic="false" class="initially-hidden search-results"></ul>
14
+ </form>
15
+ </div>
@@ -0,0 +1,21 @@
1
+ <%- unless klass.sections.length == 1 %>
2
+ <div id="sections-section" class="nav-section">
3
+ <details class="nav-section-collapsible" open>
4
+ <summary class="nav-section-header">
5
+ <span class="nav-section-icon">
6
+ <svg><use href="#icon-list"></use></svg>
7
+ </span>
8
+ <span class="nav-section-title">Sections</span>
9
+ <span class="nav-section-chevron">
10
+ <svg><use href="#icon-chevron"></use></svg>
11
+ </span>
12
+ </summary>
13
+
14
+ <ul class="nav-list" role="directory">
15
+ <%- klass.sort_sections.each do |section| %>
16
+ <li><a href="#<%= section.aref %>"><%= h section.title %></a></li>
17
+ <%- end %>
18
+ </ul>
19
+ </details>
20
+ </div>
21
+ <%- end %>