我目前正在使用BlueCloth在Ruby中处理Markdown并将其显示为HTML,但在一个位置我需要它作为纯文本(没有一些Markdown)。有没有办法实现这个目标?
是否有降价到纯文本的方法?是否有一个html到纯文本的方法,我能感觉到BlueCloth的结果?
答案 0 :(得分:7)
RedCarpet gem有一个Redcarpet::Render::StripDown渲染器,它将Markdown变为明文"。
复制并修改它以满足您的需求。
或者像这样使用它:
Redcarpet::Markdown.new(Redcarpet::Render::StripDown).render(markdown)
答案 1 :(得分:2)
使用Ruby将HTML转换为纯文本是not a problem,但当然你会丢失所有标记。如果您只想摆脱Markdown语法的部分,它可能不会产生您正在寻找的结果。
最重要的是,未提交的Markdown旨在将用作纯文本,因此将转换为纯文本并不合理。我见过的所有Ruby实现都遵循相同的接口,它不提供剥离语法的方法(仅包括to_html
和text
,它返回原始的Markdown文本)。
答案 2 :(得分:-3)
这不是红宝石,但Pandoc现在写的格式之一是'普通'。这是一些任意降价:
# My Great Work
## First Section
Here we discuss my difficulties with [Markdown](http://wikipedia.org/Markdown)
## Second Section
We begin with a quote:
> We hold these truths to be self-evident ...
then some code:
#! /usr/bin/bash
That's *all*.
(不知道如何关闭语法高亮!)这是关联的“普通”:
My Great Work
=============
First Section
-------------
Here we discuss my difficulties with Markdown
Second Section
--------------
We begin with a quote:
We hold these truths to be self-evident ...
then some code:
#! /usr/bin/bash
That's all.
你可以从github中pandoc / blob / master / src / Text / Pandoc / Writers / Markdown.hs中plainify
的定义解析文档中的不同元素,了解它的作用库;还有一个tutorial表示修改行为是多么容易。