rdoc 6.7.0 → 6.13.1
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/ExampleMarkdown.md +2 -0
- data/ExampleRDoc.rdoc +2 -0
- data/History.rdoc +64 -62
- data/LICENSE.rdoc +2 -0
- data/README.rdoc +13 -0
- data/RI.md +842 -0
- data/TODO.rdoc +8 -7
- data/lib/rdoc/{alias.rb → code_object/alias.rb} +3 -10
- data/lib/rdoc/{any_method.rb → code_object/any_method.rb} +7 -12
- data/lib/rdoc/{attr.rb → code_object/attr.rb} +4 -7
- data/lib/rdoc/{class_module.rb → code_object/class_module.rb} +107 -20
- data/lib/rdoc/{constant.rb → code_object/constant.rb} +1 -1
- data/lib/rdoc/{context → code_object/context}/section.rb +10 -68
- data/lib/rdoc/{context.rb → code_object/context.rb} +4 -46
- data/lib/rdoc/{method_attr.rb → code_object/method_attr.rb} +19 -27
- data/lib/rdoc/{require.rb → code_object/require.rb} +1 -1
- data/lib/rdoc/{top_level.rb → code_object/top_level.rb} +10 -28
- data/lib/rdoc/code_object.rb +6 -32
- data/lib/rdoc/comment.rb +12 -5
- data/lib/rdoc/generator/darkfish.rb +121 -95
- data/lib/rdoc/generator/json_index.rb +1 -17
- data/lib/rdoc/generator/markup.rb +2 -2
- data/lib/rdoc/generator/pot/message_extractor.rb +3 -3
- data/lib/rdoc/generator/pot/po_entry.rb +1 -1
- data/lib/rdoc/generator/pot.rb +0 -5
- data/lib/rdoc/generator/template/darkfish/_head.rhtml +23 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +1 -29
- data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +1 -1
- data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +1 -1
- data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +20 -11
- data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +3 -8
- data/lib/rdoc/generator/template/darkfish/_sidebar_toggle.rhtml +3 -0
- data/lib/rdoc/generator/template/darkfish/class.rhtml +84 -43
- data/lib/rdoc/generator/template/darkfish/css/rdoc.css +391 -397
- data/lib/rdoc/generator/template/darkfish/index.rhtml +11 -10
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +24 -1
- data/lib/rdoc/generator/template/darkfish/page.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +10 -8
- data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +5 -2
- data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +11 -0
- data/lib/rdoc/markdown.kpeg +8 -6
- data/lib/rdoc/markdown.rb +55 -32
- data/lib/rdoc/markup/attribute_manager.rb +2 -2
- data/lib/rdoc/markup/formatter.rb +19 -12
- data/lib/rdoc/markup/heading.rb +7 -1
- data/lib/rdoc/markup/pre_process.rb +26 -6
- data/lib/rdoc/markup/to_bs.rb +1 -1
- data/lib/rdoc/markup/to_html.rb +7 -2
- data/lib/rdoc/markup/to_html_crossref.rb +63 -12
- data/lib/rdoc/markup/to_rdoc.rb +5 -5
- data/lib/rdoc/markup.rb +18 -13
- data/lib/rdoc/options.rb +90 -12
- data/lib/rdoc/parser/c.rb +30 -9
- data/lib/rdoc/parser/changelog.rb +5 -4
- data/lib/rdoc/parser/prism_ruby.rb +1092 -0
- data/lib/rdoc/parser/ripper_state_lex.rb +7 -305
- data/lib/rdoc/parser/ruby.rb +23 -17
- data/lib/rdoc/parser/simple.rb +1 -1
- data/lib/rdoc/parser.rb +5 -4
- data/lib/rdoc/rd/block_parser.rb +3 -3
- data/lib/rdoc/rd/inline_parser.rb +3 -3
- data/lib/rdoc/rdoc.rb +9 -21
- data/lib/rdoc/ri/driver.rb +85 -32
- data/lib/rdoc/rubygems_hook.rb +91 -15
- data/lib/rdoc/servlet.rb +8 -7
- data/lib/rdoc/stats.rb +2 -2
- data/lib/rdoc/store.rb +21 -13
- data/lib/rdoc/task.rb +2 -3
- data/lib/rdoc/text.rb +2 -2
- data/lib/rdoc/tom_doc.rb +1 -7
- data/lib/rdoc/version.rb +1 -1
- data/lib/rdoc.rb +22 -24
- data/lib/rubygems_plugin.rb +23 -0
- metadata +27 -28
- data/RI.rdoc +0 -57
- data/lib/rdoc/generator/template/darkfish/.document +0 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +0 -19
- data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +0 -9
- data/lib/rdoc/generator/template/json_index/.document +0 -1
- /data/lib/rdoc/{anon_class.rb → code_object/anon_class.rb} +0 -0
- /data/lib/rdoc/{extend.rb → code_object/extend.rb} +0 -0
- /data/lib/rdoc/{ghost_method.rb → code_object/ghost_method.rb} +0 -0
- /data/lib/rdoc/{include.rb → code_object/include.rb} +0 -0
- /data/lib/rdoc/{meta_method.rb → code_object/meta_method.rb} +0 -0
- /data/lib/rdoc/{mixin.rb → code_object/mixin.rb} +0 -0
- /data/lib/rdoc/{normal_class.rb → code_object/normal_class.rb} +0 -0
- /data/lib/rdoc/{normal_module.rb → code_object/normal_module.rb} +0 -0
- /data/lib/rdoc/{single_class.rb → code_object/single_class.rb} +0 -0
@@ -1,22 +1,23 @@
|
|
1
1
|
<body id="top" role="document" class="file">
|
2
|
-
|
2
|
+
<%= render '_sidebar_toggle.rhtml' %>
|
3
|
+
|
4
|
+
<nav id="navigation" role="navigation">
|
3
5
|
<div id="project-navigation">
|
4
6
|
<%= render '_sidebar_navigation.rhtml' %>
|
5
|
-
|
6
7
|
<%= render '_sidebar_search.rhtml' %>
|
7
8
|
</div>
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
<%= render '_sidebar_table_of_contents.rhtml' if defined?(current) %>
|
11
|
+
<%= render '_sidebar_pages.rhtml' %>
|
12
|
+
<%= render '_sidebar_classes.rhtml' %>
|
13
|
+
|
14
|
+
<%= render '_footer.rhtml' %>
|
13
15
|
</nav>
|
14
16
|
|
15
17
|
<main role="main">
|
16
|
-
<%- if @
|
17
|
-
|
18
|
-
<%= main_page.description %>
|
18
|
+
<%- if @main_page %>
|
19
|
+
<%= @main_page.description %>
|
19
20
|
<%- else -%>
|
20
|
-
<p>This is the API documentation for <%= h @title %>.
|
21
|
+
<p>This is the API documentation for <%= h @title %>.
|
21
22
|
<%- end -%>
|
22
23
|
</main>
|
@@ -34,7 +34,7 @@ function showSource( e ) {
|
|
34
34
|
};
|
35
35
|
|
36
36
|
function hookSourceViews() {
|
37
|
-
document.querySelectorAll('.method-
|
37
|
+
document.querySelectorAll('.method-source-toggle').forEach(function (codeObject) {
|
38
38
|
codeObject.addEventListener('click', showSource);
|
39
39
|
});
|
40
40
|
};
|
@@ -90,8 +90,31 @@ function hookFocus() {
|
|
90
90
|
});
|
91
91
|
}
|
92
92
|
|
93
|
+
function hookSidebar() {
|
94
|
+
var navigation = document.querySelector('#navigation');
|
95
|
+
var navigationToggle = document.querySelector('#navigation-toggle');
|
96
|
+
|
97
|
+
navigationToggle.addEventListener('click', function() {
|
98
|
+
navigation.hidden = !navigation.hidden;
|
99
|
+
navigationToggle.ariaExpanded = navigationToggle.ariaExpanded !== 'true';
|
100
|
+
});
|
101
|
+
|
102
|
+
var isSmallViewport = window.matchMedia("(max-width: 1023px)").matches;
|
103
|
+
if (isSmallViewport) {
|
104
|
+
navigation.hidden = true;
|
105
|
+
navigationToggle.ariaExpanded = false;
|
106
|
+
document.addEventListener('click', (e) => {
|
107
|
+
if (e.target.closest('#navigation a')) {
|
108
|
+
navigation.hidden = true;
|
109
|
+
navigationToggle.ariaExpanded = false;
|
110
|
+
}
|
111
|
+
});
|
112
|
+
}
|
113
|
+
}
|
114
|
+
|
93
115
|
document.addEventListener('DOMContentLoaded', function() {
|
94
116
|
hookSourceViews();
|
95
117
|
hookSearch();
|
96
118
|
hookFocus();
|
119
|
+
hookSidebar();
|
97
120
|
});
|
@@ -1,18 +1,18 @@
|
|
1
1
|
<body id="top" role="document" class="file">
|
2
|
-
|
2
|
+
<%= render '_sidebar_toggle.rhtml' %>
|
3
|
+
|
4
|
+
<nav id="navigation" role="navigation">
|
3
5
|
<div id="project-navigation">
|
4
6
|
<%= render '_sidebar_navigation.rhtml' %>
|
5
7
|
<%= render '_sidebar_search.rhtml' %>
|
6
8
|
</div>
|
7
9
|
|
8
10
|
<%= render '_sidebar_table_of_contents.rhtml' %>
|
11
|
+
<%= render '_sidebar_pages.rhtml' %>
|
9
12
|
|
10
|
-
|
11
|
-
<%= render '_sidebar_pages.rhtml' %>
|
12
|
-
</div>
|
13
|
+
<%= render '_footer.rhtml' %>
|
13
14
|
</nav>
|
14
15
|
|
15
16
|
<main role="main" aria-label="Page <%=h file.full_name%>">
|
16
17
|
<%= file.description %>
|
17
18
|
</main>
|
18
|
-
|
@@ -1,13 +1,16 @@
|
|
1
1
|
<body role="document">
|
2
|
-
|
3
|
-
<%= render '_sidebar_navigation.rhtml' %>
|
2
|
+
<%= render '_sidebar_toggle.rhtml' %>
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
<%= render '
|
9
|
-
<%= render '_sidebar_classes.rhtml' %>
|
4
|
+
<nav id="navigation" role="navigation">
|
5
|
+
<div id="project-navigation">
|
6
|
+
<%= render '_sidebar_navigation.rhtml' %>
|
7
|
+
<%= render '_sidebar_search.rhtml' %>
|
10
8
|
</div>
|
9
|
+
|
10
|
+
<%= render '_sidebar_pages.rhtml' %>
|
11
|
+
<%= render '_sidebar_classes.rhtml' %>
|
12
|
+
|
13
|
+
<%= render '_footer.rhtml' %>
|
11
14
|
</nav>
|
12
15
|
|
13
16
|
<main role="main">
|
@@ -15,4 +18,3 @@
|
|
15
18
|
|
16
19
|
<p><%= message %>
|
17
20
|
</main>
|
18
|
-
|
@@ -1,5 +1,7 @@
|
|
1
1
|
<body role="document">
|
2
|
-
|
2
|
+
<%= render '_sidebar_toggle.rhtml' %>
|
3
|
+
|
4
|
+
<nav id="navigation" role="navigation">
|
3
5
|
<div id="project-navigation">
|
4
6
|
<div id="home-section" class="nav-section">
|
5
7
|
<h2>
|
@@ -10,7 +12,8 @@
|
|
10
12
|
<%= render '_sidebar_search.rhtml' %>
|
11
13
|
</div>
|
12
14
|
|
13
|
-
<%= render '_sidebar_installed.rhtml' %>
|
15
|
+
<%= render '_sidebar_installed.rhtml' %>
|
16
|
+
<%= render '_footer.rhtml' %>
|
14
17
|
</nav>
|
15
18
|
|
16
19
|
<main role="main">
|
@@ -1,4 +1,15 @@
|
|
1
1
|
<body id="top" class="table-of-contents">
|
2
|
+
<%= render '_sidebar_toggle.rhtml' %>
|
3
|
+
|
4
|
+
<nav id="navigation" role="navigation">
|
5
|
+
<div id="project-navigation">
|
6
|
+
<%= render '_sidebar_navigation.rhtml' %>
|
7
|
+
|
8
|
+
<%= render '_sidebar_search.rhtml' %>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<%= render '_footer.rhtml' %>
|
12
|
+
</nav>
|
2
13
|
<main role="main">
|
3
14
|
<h1 class="class"><%= h @title %></h1>
|
4
15
|
|
data/lib/rdoc/markdown.kpeg
CHANGED
@@ -530,7 +530,7 @@ AtxInline = !@Newline !(@Sp /#*/ @Sp @Newline) Inline
|
|
530
530
|
AtxStart = < /\#{1,6}/ >
|
531
531
|
{ text.length }
|
532
532
|
|
533
|
-
AtxHeading = AtxStart:s @
|
533
|
+
AtxHeading = AtxStart:s @Spacechar+ AtxInline+:a (@Sp /#*/ @Sp)? @Newline
|
534
534
|
{ RDoc::Markup::Heading.new(s, a.join) }
|
535
535
|
|
536
536
|
SetextHeading = SetextHeading1 | SetextHeading2
|
@@ -992,9 +992,8 @@ Strike = &{ strike? }
|
|
992
992
|
"~~"
|
993
993
|
{ strike a.join }
|
994
994
|
|
995
|
-
|
996
|
-
|
997
|
-
{ "rdoc-image:#{a[/\[(.*)\]/, 1]}" }
|
995
|
+
Image = "!" ExplicitLinkWithLabel:a
|
996
|
+
{ "rdoc-image:#{a[:link]}:#{a[:label]}" }
|
998
997
|
|
999
998
|
Link = ExplicitLink | ReferenceLink | AutoLink
|
1000
999
|
|
@@ -1006,8 +1005,11 @@ ReferenceLinkDouble = Label:content < Spnl > !"[]" Label:label
|
|
1006
1005
|
ReferenceLinkSingle = Label:content < (Spnl "[]")? >
|
1007
1006
|
{ link_to content, content, text }
|
1008
1007
|
|
1009
|
-
ExplicitLink =
|
1010
|
-
|
1008
|
+
ExplicitLink = ExplicitLinkWithLabel:a
|
1009
|
+
{ "{#{a[:label]}}[#{a[:link]}]" }
|
1010
|
+
|
1011
|
+
ExplicitLinkWithLabel = Label:label "(" @Sp Source:link Spnl Title @Sp ")"
|
1012
|
+
{ { label: label, link: link } }
|
1011
1013
|
|
1012
1014
|
Source = ( "<" < SourceContents > ">" | < SourceContents > )
|
1013
1015
|
{ text }
|
data/lib/rdoc/markdown.rb
CHANGED
@@ -1158,7 +1158,7 @@ class RDoc::Markdown
|
|
1158
1158
|
return _tmp
|
1159
1159
|
end
|
1160
1160
|
|
1161
|
-
# AtxHeading = AtxStart:s @
|
1161
|
+
# AtxHeading = AtxStart:s @Spacechar+ AtxInline+:a (@Sp /#*/ @Sp)? @Newline { RDoc::Markup::Heading.new(s, a.join) }
|
1162
1162
|
def _AtxHeading
|
1163
1163
|
|
1164
1164
|
_save = self.pos
|
@@ -1169,12 +1169,22 @@ class RDoc::Markdown
|
|
1169
1169
|
self.pos = _save
|
1170
1170
|
break
|
1171
1171
|
end
|
1172
|
-
|
1172
|
+
_save1 = self.pos
|
1173
|
+
_tmp = _Spacechar()
|
1174
|
+
if _tmp
|
1175
|
+
while true
|
1176
|
+
_tmp = _Spacechar()
|
1177
|
+
break unless _tmp
|
1178
|
+
end
|
1179
|
+
_tmp = true
|
1180
|
+
else
|
1181
|
+
self.pos = _save1
|
1182
|
+
end
|
1173
1183
|
unless _tmp
|
1174
1184
|
self.pos = _save
|
1175
1185
|
break
|
1176
1186
|
end
|
1177
|
-
|
1187
|
+
_save2 = self.pos
|
1178
1188
|
_ary = []
|
1179
1189
|
_tmp = apply(:_AtxInline)
|
1180
1190
|
if _tmp
|
@@ -1187,37 +1197,37 @@ class RDoc::Markdown
|
|
1187
1197
|
_tmp = true
|
1188
1198
|
@result = _ary
|
1189
1199
|
else
|
1190
|
-
self.pos =
|
1200
|
+
self.pos = _save2
|
1191
1201
|
end
|
1192
1202
|
a = @result
|
1193
1203
|
unless _tmp
|
1194
1204
|
self.pos = _save
|
1195
1205
|
break
|
1196
1206
|
end
|
1197
|
-
_save2 = self.pos
|
1198
|
-
|
1199
1207
|
_save3 = self.pos
|
1208
|
+
|
1209
|
+
_save4 = self.pos
|
1200
1210
|
while true # sequence
|
1201
1211
|
_tmp = _Sp()
|
1202
1212
|
unless _tmp
|
1203
|
-
self.pos =
|
1213
|
+
self.pos = _save4
|
1204
1214
|
break
|
1205
1215
|
end
|
1206
1216
|
_tmp = scan(/\G(?-mix:#*)/)
|
1207
1217
|
unless _tmp
|
1208
|
-
self.pos =
|
1218
|
+
self.pos = _save4
|
1209
1219
|
break
|
1210
1220
|
end
|
1211
1221
|
_tmp = _Sp()
|
1212
1222
|
unless _tmp
|
1213
|
-
self.pos =
|
1223
|
+
self.pos = _save4
|
1214
1224
|
end
|
1215
1225
|
break
|
1216
1226
|
end # end sequence
|
1217
1227
|
|
1218
1228
|
unless _tmp
|
1219
1229
|
_tmp = true
|
1220
|
-
self.pos =
|
1230
|
+
self.pos = _save3
|
1221
1231
|
end
|
1222
1232
|
unless _tmp
|
1223
1233
|
self.pos = _save
|
@@ -10968,7 +10978,7 @@ class RDoc::Markdown
|
|
10968
10978
|
return _tmp
|
10969
10979
|
end
|
10970
10980
|
|
10971
|
-
# Image = "!"
|
10981
|
+
# Image = "!" ExplicitLinkWithLabel:a { "rdoc-image:#{a[:link]}:#{a[:label]}" }
|
10972
10982
|
def _Image
|
10973
10983
|
|
10974
10984
|
_save = self.pos
|
@@ -10978,24 +10988,13 @@ class RDoc::Markdown
|
|
10978
10988
|
self.pos = _save
|
10979
10989
|
break
|
10980
10990
|
end
|
10981
|
-
|
10982
|
-
_save1 = self.pos
|
10983
|
-
while true # choice
|
10984
|
-
_tmp = apply(:_ExplicitLink)
|
10985
|
-
break if _tmp
|
10986
|
-
self.pos = _save1
|
10987
|
-
_tmp = apply(:_ReferenceLink)
|
10988
|
-
break if _tmp
|
10989
|
-
self.pos = _save1
|
10990
|
-
break
|
10991
|
-
end # end choice
|
10992
|
-
|
10991
|
+
_tmp = apply(:_ExplicitLinkWithLabel)
|
10993
10992
|
a = @result
|
10994
10993
|
unless _tmp
|
10995
10994
|
self.pos = _save
|
10996
10995
|
break
|
10997
10996
|
end
|
10998
|
-
@result = begin; "rdoc-image:#{a[
|
10997
|
+
@result = begin; "rdoc-image:#{a[:link]}:#{a[:label]}" ; end
|
10999
10998
|
_tmp = true
|
11000
10999
|
unless _tmp
|
11001
11000
|
self.pos = _save
|
@@ -11143,13 +11142,36 @@ class RDoc::Markdown
|
|
11143
11142
|
return _tmp
|
11144
11143
|
end
|
11145
11144
|
|
11146
|
-
# ExplicitLink =
|
11145
|
+
# ExplicitLink = ExplicitLinkWithLabel:a { "{#{a[:label]}}[#{a[:link]}]" }
|
11147
11146
|
def _ExplicitLink
|
11148
11147
|
|
11148
|
+
_save = self.pos
|
11149
|
+
while true # sequence
|
11150
|
+
_tmp = apply(:_ExplicitLinkWithLabel)
|
11151
|
+
a = @result
|
11152
|
+
unless _tmp
|
11153
|
+
self.pos = _save
|
11154
|
+
break
|
11155
|
+
end
|
11156
|
+
@result = begin; "{#{a[:label]}}[#{a[:link]}]" ; end
|
11157
|
+
_tmp = true
|
11158
|
+
unless _tmp
|
11159
|
+
self.pos = _save
|
11160
|
+
end
|
11161
|
+
break
|
11162
|
+
end # end sequence
|
11163
|
+
|
11164
|
+
set_failed_rule :_ExplicitLink unless _tmp
|
11165
|
+
return _tmp
|
11166
|
+
end
|
11167
|
+
|
11168
|
+
# ExplicitLinkWithLabel = Label:label "(" @Sp Source:link Spnl Title @Sp ")" { { label: label, link: link } }
|
11169
|
+
def _ExplicitLinkWithLabel
|
11170
|
+
|
11149
11171
|
_save = self.pos
|
11150
11172
|
while true # sequence
|
11151
11173
|
_tmp = apply(:_Label)
|
11152
|
-
|
11174
|
+
label = @result
|
11153
11175
|
unless _tmp
|
11154
11176
|
self.pos = _save
|
11155
11177
|
break
|
@@ -11165,7 +11187,7 @@ class RDoc::Markdown
|
|
11165
11187
|
break
|
11166
11188
|
end
|
11167
11189
|
_tmp = apply(:_Source)
|
11168
|
-
|
11190
|
+
link = @result
|
11169
11191
|
unless _tmp
|
11170
11192
|
self.pos = _save
|
11171
11193
|
break
|
@@ -11190,7 +11212,7 @@ class RDoc::Markdown
|
|
11190
11212
|
self.pos = _save
|
11191
11213
|
break
|
11192
11214
|
end
|
11193
|
-
@result = begin;
|
11215
|
+
@result = begin; { label: label, link: link } ; end
|
11194
11216
|
_tmp = true
|
11195
11217
|
unless _tmp
|
11196
11218
|
self.pos = _save
|
@@ -11198,7 +11220,7 @@ class RDoc::Markdown
|
|
11198
11220
|
break
|
11199
11221
|
end # end sequence
|
11200
11222
|
|
11201
|
-
set_failed_rule :
|
11223
|
+
set_failed_rule :_ExplicitLinkWithLabel unless _tmp
|
11202
11224
|
return _tmp
|
11203
11225
|
end
|
11204
11226
|
|
@@ -16539,7 +16561,7 @@ class RDoc::Markdown
|
|
16539
16561
|
Rules[:_Plain] = rule_info("Plain", "Inlines:a { paragraph a }")
|
16540
16562
|
Rules[:_AtxInline] = rule_info("AtxInline", "!@Newline !(@Sp /\#*/ @Sp @Newline) Inline")
|
16541
16563
|
Rules[:_AtxStart] = rule_info("AtxStart", "< /\\\#{1,6}/ > { text.length }")
|
16542
|
-
Rules[:_AtxHeading] = rule_info("AtxHeading", "AtxStart:s @
|
16564
|
+
Rules[:_AtxHeading] = rule_info("AtxHeading", "AtxStart:s @Spacechar+ AtxInline+:a (@Sp /\#*/ @Sp)? @Newline { RDoc::Markup::Heading.new(s, a.join) }")
|
16543
16565
|
Rules[:_SetextHeading] = rule_info("SetextHeading", "(SetextHeading1 | SetextHeading2)")
|
16544
16566
|
Rules[:_SetextBottom1] = rule_info("SetextBottom1", "/={1,}/ @Newline")
|
16545
16567
|
Rules[:_SetextBottom2] = rule_info("SetextBottom2", "/-{1,}/ @Newline")
|
@@ -16701,12 +16723,13 @@ class RDoc::Markdown
|
|
16701
16723
|
Rules[:_StrongStar] = rule_info("StrongStar", "\"**\" !@Whitespace @StartList:a (!\"**\" Inline:b { a << b })+ \"**\" { strong a.join }")
|
16702
16724
|
Rules[:_StrongUl] = rule_info("StrongUl", "\"__\" !@Whitespace @StartList:a (!\"__\" Inline:b { a << b })+ \"__\" { strong a.join }")
|
16703
16725
|
Rules[:_Strike] = rule_info("Strike", "&{ strike? } \"~~\" !@Whitespace @StartList:a (!\"~~\" Inline:b { a << b })+ \"~~\" { strike a.join }")
|
16704
|
-
Rules[:_Image] = rule_info("Image", "\"!\"
|
16726
|
+
Rules[:_Image] = rule_info("Image", "\"!\" ExplicitLinkWithLabel:a { \"rdoc-image:\#{a[:link]}:\#{a[:label]}\" }")
|
16705
16727
|
Rules[:_Link] = rule_info("Link", "(ExplicitLink | ReferenceLink | AutoLink)")
|
16706
16728
|
Rules[:_ReferenceLink] = rule_info("ReferenceLink", "(ReferenceLinkDouble | ReferenceLinkSingle)")
|
16707
16729
|
Rules[:_ReferenceLinkDouble] = rule_info("ReferenceLinkDouble", "Label:content < Spnl > !\"[]\" Label:label { link_to content, label, text }")
|
16708
16730
|
Rules[:_ReferenceLinkSingle] = rule_info("ReferenceLinkSingle", "Label:content < (Spnl \"[]\")? > { link_to content, content, text }")
|
16709
|
-
Rules[:_ExplicitLink] = rule_info("ExplicitLink", "
|
16731
|
+
Rules[:_ExplicitLink] = rule_info("ExplicitLink", "ExplicitLinkWithLabel:a { \"{\#{a[:label]}}[\#{a[:link]}]\" }")
|
16732
|
+
Rules[:_ExplicitLinkWithLabel] = rule_info("ExplicitLinkWithLabel", "Label:label \"(\" @Sp Source:link Spnl Title @Sp \")\" { { label: label, link: link } }")
|
16710
16733
|
Rules[:_Source] = rule_info("Source", "(\"<\" < SourceContents > \">\" | < SourceContents >) { text }")
|
16711
16734
|
Rules[:_SourceContents] = rule_info("SourceContents", "((!\"(\" !\")\" !\">\" Nonspacechar)+ | \"(\" SourceContents \")\")*")
|
16712
16735
|
Rules[:_Title] = rule_info("Title", "(TitleSingle | TitleDouble | \"\"):a { a }")
|
@@ -260,7 +260,7 @@ class RDoc::Markup::AttributeManager
|
|
260
260
|
|
261
261
|
def add_word_pair(start, stop, name, exclusive = false)
|
262
262
|
raise ArgumentError, "Word flags may not start with '<'" if
|
263
|
-
start[0,1] == '<'
|
263
|
+
start[0, 1] == '<'
|
264
264
|
|
265
265
|
bitmap = @attributes.bitmap_for name
|
266
266
|
|
@@ -271,7 +271,7 @@ class RDoc::Markup::AttributeManager
|
|
271
271
|
@word_pair_map[pattern] = bitmap
|
272
272
|
end
|
273
273
|
|
274
|
-
@protectable << start[0,1]
|
274
|
+
@protectable << start[0, 1]
|
275
275
|
@protectable.uniq!
|
276
276
|
|
277
277
|
@exclusive_bitmap |= bitmap if exclusive
|
@@ -195,18 +195,20 @@ class RDoc::Markup::Formatter
|
|
195
195
|
@in_tt > 0
|
196
196
|
end
|
197
197
|
|
198
|
+
def tt_tag? attr_mask, reverse = false
|
199
|
+
each_attr_tag(attr_mask, reverse) do |tag|
|
200
|
+
return true if tt? tag
|
201
|
+
end
|
202
|
+
false
|
203
|
+
end
|
204
|
+
|
198
205
|
##
|
199
206
|
# Turns on tags for +item+ on +res+
|
200
207
|
|
201
208
|
def on_tags res, item
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
@attr_tags.each do |tag|
|
206
|
-
if attr_mask & tag.bit != 0 then
|
207
|
-
res << annotate(tag.on)
|
208
|
-
@in_tt += 1 if tt? tag
|
209
|
-
end
|
209
|
+
each_attr_tag(item.turn_on) do |tag|
|
210
|
+
res << annotate(tag.on)
|
211
|
+
@in_tt += 1 if tt? tag
|
210
212
|
end
|
211
213
|
end
|
212
214
|
|
@@ -214,13 +216,18 @@ class RDoc::Markup::Formatter
|
|
214
216
|
# Turns off tags for +item+ on +res+
|
215
217
|
|
216
218
|
def off_tags res, item
|
217
|
-
|
219
|
+
each_attr_tag(item.turn_off, true) do |tag|
|
220
|
+
@in_tt -= 1 if tt? tag
|
221
|
+
res << annotate(tag.off)
|
222
|
+
end
|
223
|
+
end
|
224
|
+
|
225
|
+
def each_attr_tag attr_mask, reverse = false
|
218
226
|
return if attr_mask.zero?
|
219
227
|
|
220
|
-
@attr_tags.reverse_each do |tag|
|
228
|
+
@attr_tags.public_send(reverse ? :reverse_each : :each) do |tag|
|
221
229
|
if attr_mask & tag.bit != 0 then
|
222
|
-
|
223
|
-
res << annotate(tag.off)
|
230
|
+
yield tag
|
224
231
|
end
|
225
232
|
end
|
226
233
|
end
|
data/lib/rdoc/markup/heading.rb
CHANGED
@@ -66,7 +66,13 @@ RDoc::Markup::Heading =
|
|
66
66
|
# element.
|
67
67
|
|
68
68
|
def plain_html
|
69
|
-
self.
|
69
|
+
text = self.text.dup
|
70
|
+
|
71
|
+
if matched = text.match(/rdoc-image:[^:]+:(.*)/)
|
72
|
+
text = matched[1]
|
73
|
+
end
|
74
|
+
|
75
|
+
self.class.to_html.to_html(text)
|
70
76
|
end
|
71
77
|
|
72
78
|
def pretty_print q # :nodoc:
|
@@ -97,15 +97,18 @@ class RDoc::Markup::PreProcess
|
|
97
97
|
# RDoc::CodeObject#metadata for details.
|
98
98
|
|
99
99
|
def handle text, code_object = nil, &block
|
100
|
+
first_line = 1
|
100
101
|
if RDoc::Comment === text then
|
101
102
|
comment = text
|
102
103
|
text = text.text
|
104
|
+
first_line = comment.line || 1
|
103
105
|
end
|
104
106
|
|
105
107
|
# regexp helper (square brackets for optional)
|
106
108
|
# $1 $2 $3 $4 $5
|
107
109
|
# [prefix][\]:directive:[spaces][param]newline
|
108
|
-
text = text.
|
110
|
+
text = text.lines.map.with_index(first_line) do |line, num|
|
111
|
+
next line unless line =~ /\A([ \t]*(?:#|\/?\*)?[ \t]*)(\\?):([\w-]+):([ \t]*)(.+)?(\r?\n|$)/
|
109
112
|
# skip something like ':toto::'
|
110
113
|
next $& if $4.empty? and $5 and $5[0, 1] == ':'
|
111
114
|
|
@@ -120,8 +123,8 @@ class RDoc::Markup::PreProcess
|
|
120
123
|
next "#{$1.strip}\n"
|
121
124
|
end
|
122
125
|
|
123
|
-
handle_directive $1, $3, $5, code_object, text.encoding, &block
|
124
|
-
end
|
126
|
+
handle_directive $1, $3, $5, code_object, text.encoding, num, &block
|
127
|
+
end.join
|
125
128
|
|
126
129
|
if comment then
|
127
130
|
comment.text = text
|
@@ -148,7 +151,7 @@ class RDoc::Markup::PreProcess
|
|
148
151
|
# When 1.8.7 support is ditched prefix can be defaulted to ''
|
149
152
|
|
150
153
|
def handle_directive prefix, directive, param, code_object = nil,
|
151
|
-
encoding = nil
|
154
|
+
encoding = nil, line = nil
|
152
155
|
blankline = "#{prefix.strip}\n"
|
153
156
|
directive = directive.downcase
|
154
157
|
|
@@ -184,6 +187,14 @@ class RDoc::Markup::PreProcess
|
|
184
187
|
include_file filename, prefix, encoding
|
185
188
|
when 'main' then
|
186
189
|
@options.main_page = param if @options.respond_to? :main_page
|
190
|
+
warn <<~MSG
|
191
|
+
The :main: directive is deprecated and will be removed in RDoc 7.
|
192
|
+
|
193
|
+
You can use these options to specify the initial page displayed instead:
|
194
|
+
- `--main=#{param}` via the command line
|
195
|
+
- `rdoc.main = "#{param}"` if you use `RDoc::Task`
|
196
|
+
- `main_page: #{param}` in your `.rdoc_options` file
|
197
|
+
MSG
|
187
198
|
|
188
199
|
blankline
|
189
200
|
when 'nodoc' then
|
@@ -214,17 +225,26 @@ class RDoc::Markup::PreProcess
|
|
214
225
|
when 'title' then
|
215
226
|
@options.default_title = param if @options.respond_to? :default_title=
|
216
227
|
|
228
|
+
warn <<~MSG
|
229
|
+
The :title: directive is deprecated and will be removed in RDoc 7.
|
230
|
+
|
231
|
+
You can use these options to specify the title displayed instead:
|
232
|
+
- `--title=#{param}` via the command line
|
233
|
+
- `rdoc.title = "#{param}"` if you use `RDoc::Task`
|
234
|
+
- `title: #{param}` in your `.rdoc_options` file
|
235
|
+
MSG
|
236
|
+
|
217
237
|
blankline
|
218
238
|
when 'yield', 'yields' then
|
219
239
|
return blankline unless code_object
|
220
240
|
# remove parameter &block
|
221
241
|
code_object.params = code_object.params.sub(/,?\s*&\w+/, '') if code_object.params
|
222
242
|
|
223
|
-
code_object.block_params = param
|
243
|
+
code_object.block_params = param || ''
|
224
244
|
|
225
245
|
blankline
|
226
246
|
else
|
227
|
-
result = yield directive, param if block_given?
|
247
|
+
result = yield directive, param, line if block_given?
|
228
248
|
|
229
249
|
case result
|
230
250
|
when nil then
|
data/lib/rdoc/markup/to_bs.rb
CHANGED
@@ -24,7 +24,7 @@ class RDoc::Markup::ToBs < RDoc::Markup::ToRdoc
|
|
24
24
|
def init_tags
|
25
25
|
add_tag :BOLD, '+b', '-b'
|
26
26
|
add_tag :EM, '+_', '-_'
|
27
|
-
add_tag :TT, ''
|
27
|
+
add_tag :TT, '', '' # we need in_tt information maintained
|
28
28
|
end
|
29
29
|
|
30
30
|
##
|
data/lib/rdoc/markup/to_html.rb
CHANGED
@@ -98,7 +98,12 @@ class RDoc::Markup::ToHtml < RDoc::Markup::Formatter
|
|
98
98
|
|
99
99
|
gen_url CGI.escapeHTML(url), CGI.escapeHTML(text)
|
100
100
|
when /^rdoc-image:/
|
101
|
-
|
101
|
+
url, alt = $'.split(":", 2) # Split the string after "rdoc-image:" into url and alt
|
102
|
+
if alt && !alt.empty?
|
103
|
+
%[<img src="#{CGI.escapeHTML(url)}" alt="#{CGI.escapeHTML(alt)}">]
|
104
|
+
else
|
105
|
+
%[<img src="#{CGI.escapeHTML(url)}">]
|
106
|
+
end
|
102
107
|
when /\Ardoc-[a-z]+:/
|
103
108
|
CGI.escapeHTML($')
|
104
109
|
end
|
@@ -407,7 +412,7 @@ class RDoc::Markup::ToHtml < RDoc::Markup::Formatter
|
|
407
412
|
"<li>"
|
408
413
|
when :LABEL, :NOTE then
|
409
414
|
Array(list_item.label).map do |label|
|
410
|
-
"<dt>#{to_html label}
|
415
|
+
"<dt>#{to_html label}</dt>\n"
|
411
416
|
end.join << "<dd>"
|
412
417
|
else
|
413
418
|
raise RDoc::Error, "Invalid list type: #{list_type.inspect}"
|