mirror of
https://github.com/ruby/ruby.git
synced 2025-08-23 13:04:13 +02:00
![]() Previously, using ToMarkdown on a label-list would generate output that
could not be reparsed by the RDoc::Markdown parser:
```
md = <<~MD
apple
: a red fruit
banana
: a yellow fruit
MD
doc = RDoc::Markdown.parse(md)
doc # => [doc: [list: NOTE [item: ["apple"]; [para: "a red fruit"]], [item: ["banana"]; [para: "a yellow fruit"]]]]
new_md = doc.accept(RDoc::Markup::ToMarkdown.new)
new_md # => "apple\n: a red fruit\nbanana\n: a yellow fruit\n\n"
new_doc = RDoc::Markdown.parse(new_md)
new_doc # => [doc: [list: NOTE [item: ["apple"]; [para: "a red fruit\nbanana\n: a yellow fruit"]]]]
```
The issue is that the [PHP Markdown Extra spec][1] requires a newline
after each definition list item, but ToMarkdown was not putting newlines
between label-list items.
This commit fixes the issue by properly appending a newline after each
label-list item so that the output of ToMarkdown can be reparsed by
RDoc::Markdown:
```
md = <<~MD
apple
: a red fruit
banana
: a yellow fruit
MD
doc = RDoc::Markdown.parse(mdoc)
doc # => [doc: [list: NOTE [item: ["apple"]; [para: "a red fruit"]], [item: ["banana"]; [para: "a yellow fruit"]]]]
new_md = doc.accept(RDoc::Markup::ToMarkdown.new)
new_md # => "apple\n: a red fruit\n\nbanana\n: a yellow fruit\n\n"
new_doc = RDoc::Markdown.parse(new_md)
new_doc # => [doc: [list: NOTE [item: ["apple"]; [para: "a red fruit"]], [item: ["banana"]; [para: "a yellow fruit"]]]]
```
[1]: https://michelf.ca/projects/php-markdown/extra/#def-list
|
||
---|---|---|
.. | ||
attr_changer.rb | ||
attr_span.rb | ||
attribute_manager.rb | ||
attributes.rb | ||
blank_line.rb | ||
block_quote.rb | ||
document.rb | ||
formatter.rb | ||
hard_break.rb | ||
heading.rb | ||
include.rb | ||
indented_paragraph.rb | ||
list.rb | ||
list_item.rb | ||
paragraph.rb | ||
parser.rb | ||
pre_process.rb | ||
raw.rb | ||
regexp_handling.rb | ||
rule.rb | ||
table.rb | ||
to_ansi.rb | ||
to_bs.rb | ||
to_html.rb | ||
to_html_crossref.rb | ||
to_html_snippet.rb | ||
to_joined_paragraph.rb | ||
to_label.rb | ||
to_markdown.rb | ||
to_rdoc.rb | ||
to_table_of_contents.rb | ||
to_test.rb | ||
to_tt_only.rb | ||
verbatim.rb |