rdoc 4.2.1 → 6.3.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rdoc might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/CONTRIBUTING.rdoc +8 -7
- data/Gemfile +12 -0
- data/History.rdoc +48 -4
- data/LEGAL.rdoc +2 -2
- data/README.rdoc +5 -5
- data/Rakefile +73 -155
- data/bin/console +7 -0
- data/bin/setup +6 -0
- data/{bin → exe}/rdoc +0 -0
- data/{bin → exe}/ri +0 -0
- data/lib/rdoc/alias.rb +1 -0
- data/lib/rdoc/anon_class.rb +1 -0
- data/lib/rdoc/any_method.rb +59 -14
- data/lib/rdoc/attr.rb +1 -0
- data/lib/rdoc/class_module.rb +5 -2
- data/lib/rdoc/code_object.rb +3 -11
- data/lib/rdoc/code_objects.rb +1 -0
- data/lib/rdoc/comment.rb +32 -11
- data/lib/rdoc/constant.rb +3 -2
- data/lib/rdoc/context/section.rb +7 -13
- data/lib/rdoc/context.rb +78 -23
- data/lib/rdoc/cross_reference.rb +33 -14
- data/lib/rdoc/encoding.rb +92 -55
- data/lib/rdoc/erb_partial.rb +2 -1
- data/lib/rdoc/erbio.rb +8 -3
- data/lib/rdoc/extend.rb +1 -0
- data/lib/rdoc/generator/darkfish.rb +62 -32
- data/lib/rdoc/generator/json_index.rb +8 -5
- data/lib/rdoc/generator/markup.rb +3 -12
- data/lib/rdoc/generator/pot/message_extractor.rb +68 -0
- data/lib/rdoc/generator/pot/po.rb +84 -0
- data/lib/rdoc/generator/pot/po_entry.rb +141 -0
- data/lib/rdoc/generator/pot.rb +4 -3
- data/lib/rdoc/generator/ri.rb +1 -0
- data/lib/rdoc/generator/template/darkfish/_footer.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_head.rhtml +11 -8
- data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +7 -7
- data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +7 -7
- data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +6 -6
- data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +4 -4
- data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +4 -4
- data/lib/rdoc/generator/template/darkfish/class.rhtml +45 -47
- data/lib/rdoc/generator/template/darkfish/css/fonts.css +6 -6
- data/lib/rdoc/generator/template/darkfish/css/rdoc.css +55 -6
- data/lib/rdoc/generator/template/darkfish/index.rhtml +3 -4
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +23 -100
- data/lib/rdoc/generator/template/darkfish/js/search.js +32 -31
- data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +15 -16
- data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +16 -16
- data/lib/rdoc/generator/template/json_index/js/navigation.js +4 -41
- data/lib/rdoc/generator/template/json_index/js/searcher.js +7 -6
- data/lib/rdoc/generator.rb +1 -1
- data/lib/rdoc/ghost_method.rb +1 -0
- data/lib/rdoc/i18n/locale.rb +2 -1
- data/lib/rdoc/i18n/text.rb +5 -4
- data/lib/rdoc/i18n.rb +3 -2
- data/lib/rdoc/include.rb +1 -0
- data/lib/rdoc/known_classes.rb +1 -0
- data/lib/rdoc/markdown/entities.rb +1 -0
- data/lib/rdoc/markdown/{literals_1_9.kpeg → literals.kpeg} +1 -0
- data/lib/rdoc/markdown/{literals_1_9.rb → literals.rb} +1 -4
- data/lib/rdoc/markdown.kpeg +94 -51
- data/lib/rdoc/markdown.rb +1171 -619
- data/lib/rdoc/markup/attr_changer.rb +1 -0
- data/lib/rdoc/markup/attr_span.rb +9 -2
- data/lib/rdoc/markup/attribute_manager.rb +115 -49
- data/lib/rdoc/markup/attributes.rb +7 -6
- data/lib/rdoc/markup/blank_line.rb +1 -0
- data/lib/rdoc/markup/block_quote.rb +1 -0
- data/lib/rdoc/markup/document.rb +1 -0
- data/lib/rdoc/markup/formatter.rb +25 -23
- data/lib/rdoc/markup/hard_break.rb +1 -0
- data/lib/rdoc/markup/heading.rb +4 -3
- data/lib/rdoc/markup/include.rb +1 -0
- data/lib/rdoc/markup/indented_paragraph.rb +1 -0
- data/lib/rdoc/markup/list.rb +1 -0
- data/lib/rdoc/markup/list_item.rb +1 -0
- data/lib/rdoc/markup/paragraph.rb +1 -0
- data/lib/rdoc/markup/parser.rb +78 -61
- data/lib/rdoc/markup/pre_process.rb +12 -9
- data/lib/rdoc/markup/raw.rb +1 -0
- data/lib/rdoc/markup/regexp_handling.rb +41 -0
- data/lib/rdoc/markup/rule.rb +1 -0
- data/lib/rdoc/markup/to_ansi.rb +1 -0
- data/lib/rdoc/markup/to_bs.rb +4 -5
- data/lib/rdoc/markup/to_html.rb +71 -25
- data/lib/rdoc/markup/to_html_crossref.rb +41 -25
- data/lib/rdoc/markup/to_html_snippet.rb +10 -9
- data/lib/rdoc/markup/to_joined_paragraph.rb +7 -31
- data/lib/rdoc/markup/to_label.rb +10 -9
- data/lib/rdoc/markup/to_markdown.rb +9 -8
- data/lib/rdoc/markup/to_rdoc.rb +35 -6
- data/lib/rdoc/markup/to_table_of_contents.rb +2 -0
- data/lib/rdoc/markup/to_test.rb +1 -0
- data/lib/rdoc/markup/to_tt_only.rb +3 -2
- data/lib/rdoc/markup/verbatim.rb +1 -0
- data/lib/rdoc/markup.rb +14 -16
- data/lib/rdoc/meta_method.rb +1 -0
- data/lib/rdoc/method_attr.rb +2 -1
- data/lib/rdoc/mixin.rb +1 -0
- data/lib/rdoc/normal_class.rb +3 -2
- data/lib/rdoc/normal_module.rb +1 -0
- data/lib/rdoc/options.rb +92 -58
- data/lib/rdoc/parser/c.rb +219 -223
- data/lib/rdoc/parser/changelog.rb +155 -18
- data/lib/rdoc/parser/markdown.rb +1 -0
- data/lib/rdoc/parser/rd.rb +1 -0
- data/lib/rdoc/parser/ripper_state_lex.rb +590 -0
- data/lib/rdoc/parser/ruby.rb +635 -468
- data/lib/rdoc/parser/ruby_tools.rb +33 -33
- data/lib/rdoc/parser/simple.rb +3 -3
- data/lib/rdoc/parser/text.rb +1 -0
- data/lib/rdoc/parser.rb +17 -50
- data/lib/rdoc/rd/block_parser.rb +66 -65
- data/lib/rdoc/rd/block_parser.ry +3 -3
- data/lib/rdoc/rd/inline.rb +5 -4
- data/lib/rdoc/rd/inline_parser.rb +52 -51
- data/lib/rdoc/rd/inline_parser.ry +1 -1
- data/lib/rdoc/rd.rb +1 -0
- data/lib/rdoc/rdoc.rb +68 -63
- data/lib/rdoc/require.rb +1 -0
- data/lib/rdoc/ri/driver.rb +133 -58
- data/lib/rdoc/ri/formatter.rb +1 -0
- data/lib/rdoc/ri/paths.rb +4 -20
- data/lib/rdoc/ri/store.rb +1 -0
- data/lib/rdoc/ri/task.rb +71 -0
- data/lib/rdoc/ri.rb +1 -0
- data/lib/rdoc/rubygems_hook.rb +5 -12
- data/lib/rdoc/servlet.rb +24 -14
- data/lib/rdoc/single_class.rb +1 -0
- data/lib/rdoc/stats/normal.rb +20 -21
- data/lib/rdoc/stats/quiet.rb +1 -0
- data/lib/rdoc/stats/verbose.rb +1 -0
- data/lib/rdoc/stats.rb +1 -0
- data/lib/rdoc/store.rb +41 -41
- data/lib/rdoc/task.rb +2 -3
- data/lib/rdoc/text.rb +19 -38
- data/lib/rdoc/token_stream.rb +56 -32
- data/lib/rdoc/tom_doc.rb +17 -11
- data/lib/rdoc/top_level.rb +9 -2
- data/lib/rdoc/version.rb +8 -0
- data/lib/rdoc.rb +24 -10
- data/man/ri.1 +247 -0
- data/rdoc.gemspec +248 -0
- metadata +43 -236
- data/.autotest +0 -24
- data/.document +0 -5
- data/Manifest.txt +0 -306
- data/lib/gauntlet_rdoc.rb +0 -84
- data/lib/rdoc/generator/template/darkfish/js/jquery.js +0 -4
- data/lib/rdoc/markdown/literals_1_8.kpeg +0 -18
- data/lib/rdoc/markdown/literals_1_8.rb +0 -416
- data/lib/rdoc/markup/formatter_test_case.rb +0 -767
- data/lib/rdoc/markup/inline.rb +0 -1
- data/lib/rdoc/markup/special.rb +0 -40
- data/lib/rdoc/markup/text_formatter_test_case.rb +0 -114
- data/lib/rdoc/ruby_lex.rb +0 -1377
- data/lib/rdoc/ruby_token.rb +0 -460
- data/lib/rdoc/test_case.rb +0 -217
- data/test/MarkdownTest_1.0.3/Amps and angle encoding.text +0 -21
- data/test/MarkdownTest_1.0.3/Auto links.text +0 -13
- data/test/MarkdownTest_1.0.3/Backslash escapes.text +0 -120
- data/test/MarkdownTest_1.0.3/Blockquotes with code blocks.text +0 -11
- data/test/MarkdownTest_1.0.3/Code Blocks.text +0 -14
- data/test/MarkdownTest_1.0.3/Code Spans.text +0 -6
- data/test/MarkdownTest_1.0.3/Hard-wrapped paragraphs with list-like lines.text +0 -8
- data/test/MarkdownTest_1.0.3/Horizontal rules.text +0 -67
- data/test/MarkdownTest_1.0.3/Inline HTML (Advanced).text +0 -15
- data/test/MarkdownTest_1.0.3/Inline HTML (Simple).text +0 -69
- data/test/MarkdownTest_1.0.3/Inline HTML comments.text +0 -13
- data/test/MarkdownTest_1.0.3/Links, inline style.text +0 -12
- data/test/MarkdownTest_1.0.3/Links, reference style.text +0 -71
- data/test/MarkdownTest_1.0.3/Links, shortcut references.text +0 -20
- data/test/MarkdownTest_1.0.3/Literal quotes in titles.text +0 -7
- data/test/MarkdownTest_1.0.3/Markdown Documentation - Basics.text +0 -306
- data/test/MarkdownTest_1.0.3/Markdown Documentation - Syntax.text +0 -888
- data/test/MarkdownTest_1.0.3/Nested blockquotes.text +0 -5
- data/test/MarkdownTest_1.0.3/Ordered and unordered lists.text +0 -131
- data/test/MarkdownTest_1.0.3/Strong and em together.text +0 -7
- data/test/MarkdownTest_1.0.3/Tabs.text +0 -21
- data/test/MarkdownTest_1.0.3/Tidyness.text +0 -5
- data/test/README +0 -1
- data/test/binary.dat +0 -0
- data/test/hidden.zip.txt +0 -1
- data/test/test.ja.largedoc +0 -3
- data/test/test.ja.rdoc +0 -10
- data/test/test.ja.txt +0 -8
- data/test/test.txt +0 -1
- data/test/test_rdoc_alias.rb +0 -13
- data/test/test_rdoc_any_method.rb +0 -460
- data/test/test_rdoc_attr.rb +0 -190
- data/test/test_rdoc_class_module.rb +0 -1492
- data/test/test_rdoc_code_object.rb +0 -450
- data/test/test_rdoc_comment.rb +0 -504
- data/test/test_rdoc_constant.rb +0 -181
- data/test/test_rdoc_context.rb +0 -901
- data/test/test_rdoc_context_section.rb +0 -130
- data/test/test_rdoc_cross_reference.rb +0 -192
- data/test/test_rdoc_encoding.rb +0 -227
- data/test/test_rdoc_extend.rb +0 -94
- data/test/test_rdoc_generator_darkfish.rb +0 -229
- data/test/test_rdoc_generator_json_index.rb +0 -324
- data/test/test_rdoc_generator_markup.rb +0 -59
- data/test/test_rdoc_generator_pot.rb +0 -91
- data/test/test_rdoc_generator_pot_po.rb +0 -51
- data/test/test_rdoc_generator_pot_po_entry.rb +0 -139
- data/test/test_rdoc_generator_ri.rb +0 -78
- data/test/test_rdoc_i18n_locale.rb +0 -73
- data/test/test_rdoc_i18n_text.rb +0 -123
- data/test/test_rdoc_include.rb +0 -108
- data/test/test_rdoc_markdown.rb +0 -980
- data/test/test_rdoc_markdown_test.rb +0 -1884
- data/test/test_rdoc_markup.rb +0 -95
- data/test/test_rdoc_markup_attribute_manager.rb +0 -364
- data/test/test_rdoc_markup_attributes.rb +0 -39
- data/test/test_rdoc_markup_document.rb +0 -207
- data/test/test_rdoc_markup_formatter.rb +0 -175
- data/test/test_rdoc_markup_hard_break.rb +0 -31
- data/test/test_rdoc_markup_heading.rb +0 -29
- data/test/test_rdoc_markup_include.rb +0 -19
- data/test/test_rdoc_markup_indented_paragraph.rb +0 -53
- data/test/test_rdoc_markup_paragraph.rb +0 -32
- data/test/test_rdoc_markup_parser.rb +0 -1680
- data/test/test_rdoc_markup_pre_process.rb +0 -473
- data/test/test_rdoc_markup_raw.rb +0 -22
- data/test/test_rdoc_markup_to_ansi.rb +0 -369
- data/test/test_rdoc_markup_to_bs.rb +0 -366
- data/test/test_rdoc_markup_to_html.rb +0 -662
- data/test/test_rdoc_markup_to_html_crossref.rb +0 -225
- data/test/test_rdoc_markup_to_html_snippet.rb +0 -711
- data/test/test_rdoc_markup_to_joined_paragraph.rb +0 -32
- data/test/test_rdoc_markup_to_label.rb +0 -112
- data/test/test_rdoc_markup_to_markdown.rb +0 -389
- data/test/test_rdoc_markup_to_rdoc.rb +0 -377
- data/test/test_rdoc_markup_to_table_of_contents.rb +0 -126
- data/test/test_rdoc_markup_to_tt_only.rb +0 -246
- data/test/test_rdoc_markup_verbatim.rb +0 -29
- data/test/test_rdoc_method_attr.rb +0 -193
- data/test/test_rdoc_normal_class.rb +0 -47
- data/test/test_rdoc_normal_module.rb +0 -42
- data/test/test_rdoc_options.rb +0 -766
- data/test/test_rdoc_parser.rb +0 -327
- data/test/test_rdoc_parser_c.rb +0 -1896
- data/test/test_rdoc_parser_changelog.rb +0 -315
- data/test/test_rdoc_parser_markdown.rb +0 -61
- data/test/test_rdoc_parser_rd.rb +0 -55
- data/test/test_rdoc_parser_ruby.rb +0 -3322
- data/test/test_rdoc_parser_simple.rb +0 -115
- data/test/test_rdoc_rd.rb +0 -30
- data/test/test_rdoc_rd_block_parser.rb +0 -535
- data/test/test_rdoc_rd_inline.rb +0 -63
- data/test/test_rdoc_rd_inline_parser.rb +0 -177
- data/test/test_rdoc_rdoc.rb +0 -455
- data/test/test_rdoc_require.rb +0 -25
- data/test/test_rdoc_ri_driver.rb +0 -1436
- data/test/test_rdoc_ri_paths.rb +0 -155
- data/test/test_rdoc_ruby_lex.rb +0 -421
- data/test/test_rdoc_ruby_token.rb +0 -19
- data/test/test_rdoc_rubygems_hook.rb +0 -251
- data/test/test_rdoc_servlet.rb +0 -534
- data/test/test_rdoc_single_class.rb +0 -20
- data/test/test_rdoc_stats.rb +0 -722
- data/test/test_rdoc_store.rb +0 -993
- data/test/test_rdoc_task.rb +0 -173
- data/test/test_rdoc_text.rb +0 -557
- data/test/test_rdoc_token_stream.rb +0 -42
- data/test/test_rdoc_tom_doc.rb +0 -520
- data/test/test_rdoc_top_level.rb +0 -287
- data/test/xref_data.rb +0 -76
- data/test/xref_test_case.rb +0 -67
data/lib/rdoc/markdown.kpeg
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
%% header {
|
4
4
|
# coding: UTF-8
|
5
|
+
# frozen_string_literal: true
|
5
6
|
# :markup: markdown
|
6
7
|
|
7
8
|
##
|
@@ -17,7 +18,7 @@
|
|
17
18
|
#
|
18
19
|
# data = File.read("README.md")
|
19
20
|
# formatter = RDoc::Markup::ToHtml.new(RDoc::Options.new, nil)
|
20
|
-
# html = RDoc::Markdown.parse(data).accept(
|
21
|
+
# html = RDoc::Markdown.parse(data).accept(formatter)
|
21
22
|
#
|
22
23
|
# # do something with html
|
23
24
|
#
|
@@ -84,6 +85,18 @@
|
|
84
85
|
# : A little insect that is known
|
85
86
|
# to enjoy picnics
|
86
87
|
#
|
88
|
+
# ### Strike
|
89
|
+
#
|
90
|
+
# Example:
|
91
|
+
#
|
92
|
+
# ```
|
93
|
+
# This is ~~striked~~.
|
94
|
+
# ```
|
95
|
+
#
|
96
|
+
# Produces:
|
97
|
+
#
|
98
|
+
# This is ~~striked~~.
|
99
|
+
#
|
87
100
|
# ### Github
|
88
101
|
#
|
89
102
|
# The #github extension enables a partial set of [Github Flavored Markdown]
|
@@ -163,7 +176,7 @@
|
|
163
176
|
# The port to kpeg was performed by Eric Hodel and Evan Phoenix
|
164
177
|
#
|
165
178
|
# [dingus]: http://daringfireball.net/projects/markdown/dingus
|
166
|
-
# [GFM]:
|
179
|
+
# [GFM]: https://github.github.com/gfm/
|
167
180
|
# [pegmarkdown]: https://github.com/jgm/peg-markdown
|
168
181
|
# [PHPE]: http://michelf.com/projects/php-markdown/extra/#def-list
|
169
182
|
# [syntax]: http://daringfireball.net/projects/markdown/syntax
|
@@ -174,16 +187,11 @@
|
|
174
187
|
|
175
188
|
%% {
|
176
189
|
|
177
|
-
require 'rubygems'
|
178
190
|
require 'rdoc'
|
179
191
|
require 'rdoc/markup/to_joined_paragraph'
|
180
192
|
require 'rdoc/markdown/entities'
|
181
193
|
|
182
|
-
|
183
|
-
require 'rdoc/markdown/literals_1_9'
|
184
|
-
else
|
185
|
-
require 'rdoc/markdown/literals_1_8'
|
186
|
-
end
|
194
|
+
require 'rdoc/markdown/literals'
|
187
195
|
|
188
196
|
##
|
189
197
|
# Supported extensions
|
@@ -198,6 +206,7 @@
|
|
198
206
|
:github,
|
199
207
|
:html,
|
200
208
|
:notes,
|
209
|
+
:strike,
|
201
210
|
]
|
202
211
|
|
203
212
|
# :section: Extensions
|
@@ -248,6 +257,11 @@
|
|
248
257
|
|
249
258
|
extension :notes
|
250
259
|
|
260
|
+
##
|
261
|
+
# Enables the strike extension
|
262
|
+
|
263
|
+
extension :strike
|
264
|
+
|
251
265
|
# :section:
|
252
266
|
|
253
267
|
##
|
@@ -336,7 +350,7 @@
|
|
336
350
|
# with the linking `text` (usually whitespace).
|
337
351
|
|
338
352
|
def link_to content, label = content, text = nil
|
339
|
-
raise 'enable notes extension' if
|
353
|
+
raise ParseError, 'enable notes extension' if
|
340
354
|
content.start_with? '^' and label.equal? content
|
341
355
|
|
342
356
|
if ref = @references[label] then
|
@@ -471,6 +485,17 @@
|
|
471
485
|
"<b>#{text}</b>"
|
472
486
|
end
|
473
487
|
end
|
488
|
+
|
489
|
+
##
|
490
|
+
# Wraps `text` in strike markup for rdoc inline formatting
|
491
|
+
|
492
|
+
def strike text
|
493
|
+
if text =~ /\A[a-z\d.\/-]+\z/i then
|
494
|
+
"~#{text}~"
|
495
|
+
else
|
496
|
+
"<s>#{text}</s>"
|
497
|
+
end
|
498
|
+
end
|
474
499
|
}
|
475
500
|
|
476
501
|
root = Doc
|
@@ -481,6 +506,7 @@ Block = @BlankLine*
|
|
481
506
|
( BlockQuote
|
482
507
|
| Verbatim
|
483
508
|
| CodeFence
|
509
|
+
| Table
|
484
510
|
| Note
|
485
511
|
| Reference
|
486
512
|
| HorizontalRule
|
@@ -499,27 +525,27 @@ Para = @NonindentSpace Inlines:a @BlankLine+
|
|
499
525
|
Plain = Inlines:a
|
500
526
|
{ paragraph a }
|
501
527
|
|
502
|
-
AtxInline = !@Newline !(@Sp
|
528
|
+
AtxInline = !@Newline !(@Sp /#*/ @Sp @Newline) Inline
|
503
529
|
|
504
530
|
AtxStart = < /\#{1,6}/ >
|
505
531
|
{ text.length }
|
506
532
|
|
507
|
-
AtxHeading = AtxStart:s @Sp
|
533
|
+
AtxHeading = AtxStart:s @Sp AtxInline+:a (@Sp /#*/ @Sp)? @Newline
|
508
534
|
{ RDoc::Markup::Heading.new(s, a.join) }
|
509
535
|
|
510
536
|
SetextHeading = SetextHeading1 | SetextHeading2
|
511
537
|
|
512
|
-
SetextBottom1 = /={
|
538
|
+
SetextBottom1 = /={1,}/ @Newline
|
513
539
|
|
514
|
-
SetextBottom2 = /-{
|
540
|
+
SetextBottom2 = /-{1,}/ @Newline
|
515
541
|
|
516
542
|
SetextHeading1 = &(@RawLine SetextBottom1)
|
517
|
-
@StartList:a ( !@Endline Inline:b { a << b } )+ @Sp
|
543
|
+
@StartList:a ( !@Endline Inline:b { a << b } )+ @Sp @Newline
|
518
544
|
SetextBottom1
|
519
545
|
{ RDoc::Markup::Heading.new(1, a.join) }
|
520
546
|
|
521
547
|
SetextHeading2 = &(@RawLine SetextBottom2)
|
522
|
-
@StartList:a ( !@Endline Inline:b { a << b })+ @Sp
|
548
|
+
@StartList:a ( !@Endline Inline:b { a << b })+ @Sp @Newline
|
523
549
|
SetextBottom2
|
524
550
|
{ RDoc::Markup::Heading.new(2, a.join) }
|
525
551
|
|
@@ -738,6 +764,9 @@ HtmlBlockOpenScript = "<" Spnl ("script" | "SCRIPT") Spnl HtmlAttribute* ">"
|
|
738
764
|
HtmlBlockCloseScript = "<" Spnl "/" ("script" | "SCRIPT") Spnl ">"
|
739
765
|
HtmlBlockScript = HtmlBlockOpenScript (!HtmlBlockCloseScript .)* HtmlBlockCloseScript
|
740
766
|
|
767
|
+
HtmlBlockOpenHead = "<" Spnl ("head" | "HEAD") Spnl HtmlAttribute* ">"
|
768
|
+
HtmlBlockCloseHead = "<" Spnl "/" ("head" | "HEAD") Spnl ">"
|
769
|
+
HtmlBlockHead = HtmlBlockOpenHead (!HtmlBlockCloseHead .)* HtmlBlockCloseHead
|
741
770
|
|
742
771
|
HtmlBlockInTags = HtmlAnchor
|
743
772
|
| HtmlBlockAddress
|
@@ -773,6 +802,7 @@ HtmlBlockInTags = HtmlAnchor
|
|
773
802
|
| HtmlBlockThead
|
774
803
|
| HtmlBlockTr
|
775
804
|
| HtmlBlockScript
|
805
|
+
| HtmlBlockHead
|
776
806
|
|
777
807
|
HtmlBlock = < ( HtmlBlockInTags | HtmlComment | HtmlBlockSelfClosing | HtmlUnclosed) >
|
778
808
|
@BlankLine+
|
@@ -867,7 +897,8 @@ StyleBlock = < InStyleTags >
|
|
867
897
|
end }
|
868
898
|
|
869
899
|
Inlines = ( !@Endline Inline:i { i }
|
870
|
-
| @Endline:c &
|
900
|
+
| @Endline:c !( &{ github? } Ticks3 /[^`\n]*$/ )
|
901
|
+
&Inline { c } )+:chunks @Endline?
|
871
902
|
{ chunks }
|
872
903
|
|
873
904
|
Inline = Str
|
@@ -876,6 +907,7 @@ Inline = Str
|
|
876
907
|
| @Space
|
877
908
|
| Strong
|
878
909
|
| Emph
|
910
|
+
| Strike
|
879
911
|
| Image
|
880
912
|
| Link
|
881
913
|
| NoteReference
|
@@ -901,7 +933,7 @@ Entity = ( HexEntity | DecEntity | CharEntity ):a { a }
|
|
901
933
|
Endline = @LineBreak | @TerminalEndline | @NormalEndline
|
902
934
|
|
903
935
|
NormalEndline = @Sp @Newline !@BlankLine !">" !AtxStart
|
904
|
-
!(Line /={
|
936
|
+
!(Line /={1,}|-{1,}/ @Newline)
|
905
937
|
{ "\n" }
|
906
938
|
|
907
939
|
TerminalEndline = @Sp @Newline @Eof
|
@@ -921,46 +953,44 @@ UlLine = < /_{4,}/ > { text } |
|
|
921
953
|
|
922
954
|
Emph = EmphStar | EmphUl
|
923
955
|
|
924
|
-
|
925
|
-
OneStarClose = !@Spacechar !@Newline Inline:a "*"
|
926
|
-
{ a }
|
956
|
+
Whitespace = @Spacechar | @Newline
|
927
957
|
|
928
|
-
EmphStar =
|
958
|
+
EmphStar = "*" !@Whitespace
|
929
959
|
@StartList:a
|
930
|
-
( !
|
931
|
-
|
960
|
+
( !"*" Inline:b { a << b }
|
961
|
+
| StrongStar:b { a << b }
|
962
|
+
)+
|
963
|
+
"*"
|
932
964
|
{ emphasis a.join }
|
933
965
|
|
934
|
-
|
935
|
-
OneUlClose = !@Spacechar !@Newline Inline:a "_" # !Alphanumeric # TODO check
|
936
|
-
{ a }
|
937
|
-
|
938
|
-
EmphUl = OneUlOpen
|
966
|
+
EmphUl = "_" !@Whitespace
|
939
967
|
@StartList:a
|
940
|
-
( !
|
941
|
-
|
968
|
+
( !"_" Inline:b { a << b }
|
969
|
+
| StrongUl:b { a << b }
|
970
|
+
)+
|
971
|
+
"_"
|
942
972
|
{ emphasis a.join }
|
943
973
|
|
944
974
|
Strong = StrongStar | StrongUl
|
945
975
|
|
946
|
-
|
947
|
-
TwoStarClose = !@Spacechar !@Newline Inline:a "**" { a }
|
948
|
-
|
949
|
-
StrongStar = TwoStarOpen
|
976
|
+
StrongStar = "**" !@Whitespace
|
950
977
|
@StartList:a
|
951
|
-
( !
|
952
|
-
|
978
|
+
( !"**" Inline:b { a << b } )+
|
979
|
+
"**"
|
953
980
|
{ strong a.join }
|
954
981
|
|
955
|
-
|
956
|
-
|
957
|
-
{ a }
|
982
|
+
StrongUl = "__" !@Whitespace
|
983
|
+
@StartList:a
|
984
|
+
( !"__" Inline:b { a << b } )+
|
985
|
+
"__"
|
986
|
+
{ strong a.join }
|
958
987
|
|
959
|
-
|
960
|
-
|
961
|
-
|
962
|
-
|
963
|
-
|
988
|
+
Strike = &{ strike? }
|
989
|
+
"~~" !@Whitespace
|
990
|
+
@StartList:a
|
991
|
+
( !"~~" Inline:b { a << b } )+
|
992
|
+
"~~"
|
993
|
+
{ strike a.join }
|
964
994
|
|
965
995
|
# TODO alt text support
|
966
996
|
Image = "!" ( ExplicitLink | ReferenceLink ):a
|
@@ -976,14 +1006,13 @@ ReferenceLinkDouble = Label:content < Spnl > !"[]" Label:label
|
|
976
1006
|
ReferenceLinkSingle = Label:content < (Spnl "[]")? >
|
977
1007
|
{ link_to content, content, text }
|
978
1008
|
|
979
|
-
ExplicitLink = Label:l
|
1009
|
+
ExplicitLink = Label:l "(" @Sp Source:s Spnl Title @Sp ")"
|
980
1010
|
{ "{#{l}}[#{s}]" }
|
981
1011
|
|
982
1012
|
Source = ( "<" < SourceContents > ">" | < SourceContents > )
|
983
1013
|
{ text }
|
984
1014
|
|
985
1015
|
SourceContents = ( ( !"(" !")" !">" Nonspacechar )+ | "(" SourceContents ")")*
|
986
|
-
| ""
|
987
1016
|
|
988
1017
|
Title = ( TitleSingle | TitleDouble | "" ):a
|
989
1018
|
{ a }
|
@@ -1073,7 +1102,7 @@ Eof = !.
|
|
1073
1102
|
Nonspacechar = !@Spacechar !@Newline .
|
1074
1103
|
Sp = @Spacechar*
|
1075
1104
|
Spnl = @Sp (@Newline @Sp)?
|
1076
|
-
SpecialChar = /[
|
1105
|
+
SpecialChar = /[~*_`&\[\]()<!#\\'"]/ | @ExtendedSpecialChar
|
1077
1106
|
NormalChar = !( @SpecialChar | @Spacechar | @Newline ) .
|
1078
1107
|
Digit = [0-9]
|
1079
1108
|
|
@@ -1082,7 +1111,6 @@ Alphanumeric = %literals.Alphanumeric
|
|
1082
1111
|
AlphanumericAscii = %literals.AlphanumericAscii
|
1083
1112
|
BOM = %literals.BOM
|
1084
1113
|
Newline = %literals.Newline
|
1085
|
-
NonAlphanumeric = %literals.NonAlphanumeric
|
1086
1114
|
Spacechar = %literals.Spacechar
|
1087
1115
|
|
1088
1116
|
HexEntity = /&#x/i < /[0-9a-fA-F]+/ > ";"
|
@@ -1142,8 +1170,7 @@ InlineNote = &{ notes? }
|
|
1142
1170
|
@StartList:a
|
1143
1171
|
( !"]" Inline:l { a << l } )+
|
1144
1172
|
"]"
|
1145
|
-
{
|
1146
|
-
ref = [:inline, @note_order.length]
|
1173
|
+
{ ref = [:inline, @note_order.length]
|
1147
1174
|
@footnotes[ref] = paragraph a
|
1148
1175
|
|
1149
1176
|
note_for ref
|
@@ -1166,10 +1193,26 @@ CodeFence = &{ github? }
|
|
1166
1193
|
@Newline
|
1167
1194
|
)+ > Ticks3 @Sp @Newline*
|
1168
1195
|
{ verbatim = RDoc::Markup::Verbatim.new text
|
1169
|
-
verbatim.format = format.intern if format
|
1196
|
+
verbatim.format = format.intern if format.instance_of?(String)
|
1170
1197
|
verbatim
|
1171
1198
|
}
|
1172
1199
|
|
1200
|
+
Table = &{ github? }
|
1201
|
+
TableRow:header TableLine:line TableRow+:body
|
1202
|
+
{ table = RDoc::Markup::Table.new(header, line, body) }
|
1203
|
+
|
1204
|
+
TableRow = TableItem+:row "|" @Newline
|
1205
|
+
{ row }
|
1206
|
+
TableItem = "|" < (!"|" !@Newline .)+ >
|
1207
|
+
{ text.strip }
|
1208
|
+
|
1209
|
+
TableLine = TableColumn+:line "|" @Newline
|
1210
|
+
{ line }
|
1211
|
+
TableColumn = "|" < ( "-"+ ":"? | ":" "-"* ) >
|
1212
|
+
{ text.start_with?(":") ? :left :
|
1213
|
+
text.end_with?(":") ? :right : nil
|
1214
|
+
}
|
1215
|
+
|
1173
1216
|
DefinitionList = &{ definition_lists? }
|
1174
1217
|
( DefinitionListItem+:list )
|
1175
1218
|
{ RDoc::Markup::List.new :NOTE, *list.flatten }
|