class RDoc::Markdown

RDoc::Markdown,如 markdown 语法所述。

要选择 Markdown 作为您的唯一默认格式,请参阅 RDoc::Options 的保存选项,了解如何设置 .rdoc_options 文件以存储您的项目默认设置。

用法

这是一个手动使用此解析器读取 markdown 文件的简单示例。

data = File.read("README.md")
formatter = RDoc::Markup::ToHtml.new(RDoc::Options.new, nil)
html = RDoc::Markdown.parse(data).accept(formatter)

# do something with html

扩展

解析器支持以下 markdown 扩展,但并非所有扩展都默认在 RDoc 输出中使用。

RDoc

RDoc Markdown 解析器具有以下内置行为,无法禁用。

嵌入单词中的下划线永远不会被解释为强调。(虽然 markdown dingus 强调单词内的下划线,但 Markdown 语法和 MarkdownTest 都没有提及此行为。)

对于 HTML 输出,RDoc 始终会自动链接裸 URL。

换行符

break_on_newline 扩展将所有换行符转换为硬换行符,如 Github Flavored Markdown 中所示。此扩展默认禁用。

CSS

css 扩展允许在输出中包含 CSS 代码块,但它们不用于任何内置的 RDoc 输出格式。此扩展默认禁用。

示例

<style type="text/css">
h1 { font-size: 3em }
</style>

定义列表

definition_lists 扩展允许使用 PHP Markdown Extra 语法的定义列表,但目前仅支持一个标签和一个定义。此扩展默认启用。

示例

cat
:   A small furry mammal
that seems to sleep a lot

ant
:   A little insect that is known
to enjoy picnics

生成

cat

一种似乎经常睡觉的小型毛茸茸的哺乳动物

ant

一种喜欢野餐的小昆虫

删除线

示例

This is ~~striked~~.

生成

这是 ~删除线~。

Github

github 扩展启用部分 Github Flavored Markdown。此扩展默认启用。

支持的 github 扩展包括

围栏代码块

在代码块周围使用 ```,而不是缩进四个空格。

语法高亮

使用 ``` ruby 作为代码围栏的开头以添加语法高亮。(目前仅支持 ruby 语法)。

HTML

允许在输出中包含原始 HTML。此扩展默认启用。

示例

<table>
...
</table>

注释

notes 扩展启用脚注支持。此扩展默认启用。

示例

Here is some text[^1] including an inline footnote ^[for short footnotes]

...

[^1]: With the footnote text down at the bottom

生成

这是一些文本1,包括一个内联脚注 2

限制

作者

此 markdown 解析器是从 John MacFarlane 的 peg-markdown 移植到 kpeg 的。

它在 MIT 许可证下使用

特此免费授予任何人获得本软件及其相关文档文件(“软件”)的副本的许可,以便在不受限制的情况下处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供的人员这样做,但须遵守以下条件

上述版权声明和本许可声明应包含在所有软件副本或重要部分中。

本软件按“原样”提供,不提供任何明示或暗示的担保,包括但不限于对适销性、特定用途适用性和不侵权的担保。在任何情况下,作者或版权持有人均不对因本软件或本软件的使用或其他交易而引起的或与之相关的任何索赔、损害或其他责任承担责任,无论是根据合同、侵权或其他方式。

移植到 kpeg 由 Eric Hodel 和 Evan Phoenix 执行


1 脚注文本在底部

2 对于简短的脚注