From 5dc8642a990d4af2218b0e7c1a88ae85b3fcf5d6 Mon Sep 17 00:00:00 2001 From: flaburgan Date: Wed, 4 Mar 2015 19:30:00 +0100 Subject: [PATCH] Strip markdown from the heading of a post. Impact notifications, email subjects, SPV , the Atom feed... --- lib/diaspora/message_renderer.rb | 2 +- spec/lib/diaspora/message_renderer_spec.rb | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/diaspora/message_renderer.rb b/lib/diaspora/message_renderer.rb index a9432c8fe..a876156f8 100644 --- a/lib/diaspora/message_renderer.rb +++ b/lib/diaspora/message_renderer.rb @@ -225,7 +225,7 @@ module Diaspora atx_content end - heading &&= heading.strip + heading &&= self.class.new(heading).plain_text_without_markdown if heading && opts[:length] heading.truncate opts[:length] diff --git a/spec/lib/diaspora/message_renderer_spec.rb b/spec/lib/diaspora/message_renderer_spec.rb index 1ee78b35d..9e152cdce 100644 --- a/spec/lib/diaspora/message_renderer_spec.rb +++ b/spec/lib/diaspora/message_renderer_spec.rb @@ -9,7 +9,7 @@ describe Diaspora::MessageRenderer do context 'when :length is passed in parameters' do it 'returns string of size less or equal to :length' do string_size = 12 - title = message("## My title\n Post content...").title(length: string_size) + title = message("## This is a really, really, really long title\n Post content").title(length: string_size) expect(title.size).to be <= string_size end end @@ -24,6 +24,10 @@ describe Diaspora::MessageRenderer do it 'returns setext style header' do expect(message("My title \n======\n Post content...").title).to eq "My title" end + + it 'returns header without markdown' do + expect(message("## **[My title](http://diasporafoundation.org)**\n Post content...").title).to eq "My title (http://diasporafoundation.org)" + end end context 'without a Markdown header of less than 200 characters on first line ' do