Adding HTML to my RSS/Atom feed in Rails
-
01-07-2019 - |
Question
The default rails XML builder escapes all HTML, so something like:
atom_feed do |feed|
@stories.each do |story|
feed.entry story do |entry|
entry.title story.title
entry.content "<b>foo</b>"
end
end
end
will produce the text:
<b>foo</b>
instead of: foo
Is there any way to instruct the XML builder to not escape the XML?
Solution
turns out you need to do
entry.content "<b>foo</b>", :type => "html"
althought wrapping it in a CDATA stops it working.
OTHER TIPS
entry.content "type" => "html" do
entry.cdata!(post.content)
end
http://builder.rubyforge.org/classes/Builder/XmlMarkup.html
The special XML characters <, >, and & are converted to <, > and & automatically. Use the << operation to insert text without modification.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow