Revert "Use Redcarpet::Render::XHTML instead of our custom renderer"

This reverts commit 4bb95b3773.
This commit is contained in:
Tom Hughes 2012-11-29 22:22:22 +00:00
parent d3b2a12266
commit 9dfb2729ab
3 changed files with 18 additions and 4 deletions

View file

@ -34,7 +34,7 @@ gem 'rack-cors'
gem 'ruby-openid', '>= 2.2.0' gem 'ruby-openid', '>= 2.2.0'
# Markdown formatting support # Markdown formatting support
gem 'redcarpet', '>= 2.2.0' gem 'redcarpet'
# Character conversion support for ruby 1.8 # Character conversion support for ruby 1.8
gem 'iconv', :platforms => :ruby_18 gem 'iconv', :platforms => :ruby_18

View file

@ -189,7 +189,7 @@ DEPENDENCIES
rack-cors rack-cors
rails (= 3.2.9) rails (= 3.2.9)
rails-i18n (>= 0.6.3) rails-i18n (>= 0.6.3)
redcarpet (>= 2.2.0) redcarpet
rinku (>= 1.2.2) rinku (>= 1.2.2)
ruby-openid (>= 2.2.0) ruby-openid (>= 2.2.0)
sanitize sanitize

View file

@ -82,13 +82,27 @@ module RichText
private private
def html_parser def html_parser
@@html_renderer ||= Redcarpet::Render::XHTML.new({ @@html_renderer ||= Renderer.new({
:filter_html => true, :safe_links_only => true, :link_attributes => { :rel => "nofollow" } :filter_html => true, :safe_links_only => true
}) })
@@html_parser ||= Redcarpet::Markdown.new(@@html_renderer, { @@html_parser ||= Redcarpet::Markdown.new(@@html_renderer, {
:no_intra_emphasis => true, :autolink => true, :space_after_headers => true :no_intra_emphasis => true, :autolink => true, :space_after_headers => true
}) })
end end
class Renderer < Redcarpet::Render::XHTML
def link(link, title, alt_text)
"<a rel=\"nofollow\" href=\"#{link}\">#{alt_text}</a>"
end
def autolink(link, link_type)
if link_type == :email
"<a rel=\"nofollow\" href=\"mailto:#{link}\">#{link}</a>"
else
"<a rel=\"nofollow\" href=\"#{link}\">#{link}</a>"
end
end
end
end end
class Text < Base class Text < Base