From e725455dea4a83da6c5f0df5df35a12ece7ef0ac Mon Sep 17 00:00:00 2001 From: albert Date: Tue, 19 Feb 2013 13:46:14 -0500 Subject: [PATCH] fix #405 --- app/logical/d_text.rb | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/logical/d_text.rb b/app/logical/d_text.rb index 92af35faf..1dcbfb88e 100644 --- a/app/logical/d_text.rb +++ b/app/logical/d_text.rb @@ -14,7 +14,6 @@ class DText str.gsub!(/&/, "&") str.gsub!(//, ">") - str.gsub!(/(?\1') str.gsub!(/\n/m, "
") str.gsub!(/\[b\](.+?)\[\/b\]/i, '\1') str.gsub!(/\[i\](.+?)\[\/i\]/i, '\1') @@ -122,6 +121,8 @@ class DText unless options[:inline] str.gsub!(/\s*\[quote\]\s*/m, "\n\n[quote]\n\n") str.gsub!(/\s*\[\/quote\]\s*/m, "\n\n[/quote]\n\n") + str.gsub!(/\s*\[spoilers?\](?!\])\s*/m, "\n\n[spoiler]\n\n") + str.gsub!(/\s*\[\/spoilers?\]\s*/m, "\n\n[/spoiler]\n\n") end str.gsub!(/(?:\r?\n){3,}/, "\n\n") @@ -162,6 +163,16 @@ class DText "" end + when /\[spoilers?\](?!\])/ + stack << "div" + '
' + + when /\[\/spoilers?\]/ + if stack.last == "div" + stack.pop + '
' + end + else '

' + parse_inline(block) + "

" end