Removing <p> from RedCloth

Everytime I do to_html with RedCloth it wraps the entire thing in <p> which is really annoying. I've looked all over for an answer on how to disable this but I've found nothing. I'm surprised that I'm the only one that doesn't want my stuff wrapped in <p> tags. Does anyone know how to disable this?

This may or may not help you depending on which RedCloth functionality you need.

From http://redcloth.rubyforge.org/classes/RedCloth/TextileDoc.html

lite_mode [RW] Accessor for toggling lite mode.

In lite mode, block-level rules are ignored. This means that tables, paragraphs, lists, and such aren't available. Only the inline markup for bold, italics, entities and so on.

  r = RedCloth.new( "And then? She *fell*!", [:lite_mode] )   r.to_html   #=> "And then? She <strong>fell</strong>!"

Thanks, that's getting closer to what I want. :slight_smile: But I'd still like things enabled such as lists...does that have further options like a whitelist?

Well… you could remove the

tags with a regular expression, but that would remove all

tags, even ones caused intentionally via p. or having two lines.

ie: foo.to_html.gsub(/</?p>/, ‘’)

Hmm Yeah I guess so but I do want some <p> tags in there, just not appended all the time. I looked around and found that I could just manually remove the p tags if they're there, but it caused a bunch of other problems like not being XSS safe anymore. Now I'm using RedCloth with a white_list plugin and it works, but I'm still worried about the performance.

Mike Chai wrote:

Everytime I do to_html with RedCloth it wraps the entire thing in <p> which is really annoying. I've looked all over for an answer on how to disable this but I've found nothing. I'm surprised that I'm the only one that doesn't want my stuff wrapped in <p> tags. Does anyone know how to disable this?

Have you tried 'textilize_without_paragraph(text)'?

taken from: http://api.rubyonrails.com/classes/ActionView/Helpers/TextHelper.html#M001717