Forum: Ruby on Rails Removing <p> from RedCloth

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Mike C. (Guest)
on 2009-01-13 01:05
(Received via mailing list)
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?
Adam K. (Guest)
on 2009-01-13 02:22
(Received via mailing list)
This may or may not help you depending on which RedCloth functionality
you need.

From http://redcloth.rubyforge.org/classes/RedCloth/Tex...


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>!"
Mike C. (Guest)
on 2009-01-13 22:13
(Received via mailing list)
Thanks, that's getting closer to what I want. :) But I'd still like
things enabled such as lists...does that have further options like a
whitelist?

On Jan 12, 4:21 pm, "Adam K." <removed_email_address@domain.invalid>
Adam K. (Guest)
on 2009-01-13 23:05
(Received via mailing list)
Well... you could remove the <p> tags with a regular expression, but
that
would remove all <p> tags, even ones caused intentionally via p. or
having
two lines.

ie: foo.to_html.gsub(/<\/?p>/, '')
Mike C. (Guest)
on 2009-01-14 00:04
(Received via mailing list)
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.

On Jan 13, 1:04 pm, "Adam K." <removed_email_address@domain.invalid>
Aaron V. (Guest)
on 2009-02-20 06:32
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/Help...
Aaron V. (Guest)
on 2009-02-20 06:59
Also if you don't want to use the textilize helper because you want to
include your own options then you can make your own helper using the
same code from the textilize helper and throw in your options.

ie:


  def textilize_with_filter_no_paragraph(text)
    if text.blank?
      ""
    else
      textilized = RedCloth.new(text, [:filter_html])
      textilized.hard_breaks = true if
textilized.respond_to?(:hard_breaks=)

      textiled = textilized.to_html
      if textiled[0..2] == "<p>" then textiled = textiled[3..-1] end
      if textiled[-4..-1] == "</p>" then textiled = textiled[0..-5] end
      return textiled

    end
  end
This topic is locked and can not be replied to.