From b762fc4b460bed9f0510f19e20130fc331fa1efe Mon Sep 17 00:00:00 2001 From: Douwe Maan Date: Mon, 18 Jun 2018 13:28:21 +0200 Subject: Allow trailing whitespace on blockquote fence lines --- changelogs/unreleased/dm-blockquote-trailing-whitespace.yml | 5 +++++ lib/banzai/filter/blockquote_fence_filter.rb | 12 ++++++------ spec/lib/banzai/filter/blockquote_fence_filter_spec.rb | 4 ++++ 3 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 changelogs/unreleased/dm-blockquote-trailing-whitespace.yml diff --git a/changelogs/unreleased/dm-blockquote-trailing-whitespace.yml b/changelogs/unreleased/dm-blockquote-trailing-whitespace.yml new file mode 100644 index 00000000000..98ecdde4f4c --- /dev/null +++ b/changelogs/unreleased/dm-blockquote-trailing-whitespace.yml @@ -0,0 +1,5 @@ +--- +title: Allow trailing whitespace on blockquote fence lines +merge_request: +author: +type: fixed diff --git a/lib/banzai/filter/blockquote_fence_filter.rb b/lib/banzai/filter/blockquote_fence_filter.rb index d2c4b1e4d76..fbfcd72c916 100644 --- a/lib/banzai/filter/blockquote_fence_filter.rb +++ b/lib/banzai/filter/blockquote_fence_filter.rb @@ -10,7 +10,7 @@ module Banzai ^``` .+? - \n```$ + \n```\ *$ ) | (? @@ -19,9 +19,9 @@ module Banzai # Anything, including `>>>` blocks which are ignored by this filter # - ^<[^>]+?>\n + ^<[^>]+?>\ *\n .+? - \n<\/[^>]+?>$ + \n<\/[^>]+?>\ *$ ) | (?: @@ -30,14 +30,14 @@ module Banzai # Anything, including code and HTML blocks # >>> - ^>>>\n + ^>>>\ *\n (? (?: # Any character that doesn't introduce a code or HTML block (?! ^``` | - ^<[^>]+?>\n + ^<[^>]+?>\ *\n ) . | @@ -48,7 +48,7 @@ module Banzai \g )+? ) - \n>>>$ + \n>>>\ *$ ) }mx.freeze diff --git a/spec/lib/banzai/filter/blockquote_fence_filter_spec.rb b/spec/lib/banzai/filter/blockquote_fence_filter_spec.rb index 8224dc5a6b9..b645e49bd43 100644 --- a/spec/lib/banzai/filter/blockquote_fence_filter_spec.rb +++ b/spec/lib/banzai/filter/blockquote_fence_filter_spec.rb @@ -11,4 +11,8 @@ describe Banzai::Filter::BlockquoteFenceFilter do expect(output).to eq(expected) end + + it 'allows trailing whitespace on blockquote fence lines' do + expect(filter(">>> \ntest\n>>> ")).to eq("> test") + end end -- cgit v1.2.1