From c63d35a65d2a2e93e1a66c7cb739fe19897186aa Mon Sep 17 00:00:00 2001 From: joshua stein Date: Fri, 6 Jul 2012 17:52:32 -0500 Subject: [PATCH] use a common class for rdiscount options, filter out tags, add rel=nofollow --- app/models/comment.rb | 3 +-- app/models/message.rb | 3 +-- app/models/story.rb | 3 +-- app/models/user.rb | 3 +-- extras/markdowner.rb | 18 ++++++++++++++++++ 5 files changed, 22 insertions(+), 8 deletions(-) create mode 100644 extras/markdowner.rb diff --git a/app/models/comment.rb b/app/models/comment.rb index ff30ca7..6cd5820 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -117,8 +117,7 @@ class Comment < ActiveRecord::Base end def generated_markeddown_comment - RDiscount.new(self.comment, :smart, :autolink, :safelink, - :filter_html).to_html + Markdowner.to_html(self.comment) end def comment=(com) diff --git a/app/models/message.rb b/app/models/message.rb index 0b34758..49e68a7 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -78,8 +78,7 @@ class Message < ActiveRecord::Base end def linkified_body - RDiscount.new(self.body.to_s, :smart, :autolink, :safelink, - :filter_html).to_html + Markdowner.to_html(self.body) end def plaintext_body diff --git a/app/models/story.rb b/app/models/story.rb index e7da941..622e649 100644 --- a/app/models/story.rb +++ b/app/models/story.rb @@ -157,8 +157,7 @@ class Story < ActiveRecord::Base end def generated_markeddown_description - RDiscount.new(self.description.to_s, :smart, :autolink, :safelink, - :filter_html).to_html + Markdowner.to_html(self.description) end def description=(desc) diff --git a/app/models/user.rb b/app/models/user.rb index abb1b13..e3e829c 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -62,8 +62,7 @@ class User < ActiveRecord::Base end def linkified_about - RDiscount.new(self.about.to_s, :smart, :autolink, :safelink, - :filter_html).to_html + Markdowner.to_html(self.about) end def recent_threads(amount) diff --git a/extras/markdowner.rb b/extras/markdowner.rb new file mode 100644 index 0000000..7d10fdb --- /dev/null +++ b/extras/markdowner.rb @@ -0,0 +1,18 @@ +class Markdowner + def self.to_html(text) + if text.blank? + return "" + else + html = RDiscount.new(text.to_s, :smart, :autolink, :safelink, + :filter_styles, :filter_html).to_html + + # change

headings to just emphasis tags + html.gsub!(/<(\/)?h(\d)>/) { |_| "<#{$1}strong>" } + + # make links have rel=nofollow + html.gsub!(/