Уценка к простому тексту в Ruby? - PullRequest
17 голосов
/ 30 марта 2010

В настоящее время я использую BlueCloth для обработки Markdown в Ruby и отображения его в виде HTML, но в одном месте он мне нужен как простой текст (без некоторой части Markdown). Есть ли способ добиться этого?

Есть ли метод уценки к обычному тексту? Есть ли метод html-to-text, который я мог почувствовать в результате BlueCloth?

Ответы [ 3 ]

7 голосов
/ 14 ноября 2014

RedCarpet gem имеет Redcarpet :: Render :: StripDown , который "превращает Markdown в открытый текст".

Скопируйте и измените его в соответствии с вашими потребностями.

Или используйте это так:

Redcarpet::Markdown.new(Redcarpet::Render::StripDown).render(markdown)
2 голосов
/ 31 марта 2010

Преобразование HTML в обычный текст с Ruby не проблема , но, конечно, вы потеряете всю разметку. Если вы хотите избавиться только от некоторых синтаксиса Markdown, это, вероятно, не даст желаемого результата.

Суть в том, что необработанный Markdown предназначен для использования в качестве простого текста, поэтому преобразование в простой текст не имеет смысла. Все реализации Ruby, которые я видел, следуют одному и тому же интерфейсу, который не предлагает способа удаления синтаксиса (только включая to_html и text, который возвращает исходный текст Markdown).

0 голосов
/ 13 апреля 2010

Это не ruby, но один из форматов, которые сейчас пишет 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.

Вы можете понять, что он делает с различными элементами, которые он анализирует в документах, из определения plainify в pandoc / blob / master / src / Text / Pandoc / Writers / Markdown.hs в репозитории Github; есть также учебник , который показывает, как легко изменить поведение.

...