Editor toolbar generates invalid multi-paragraph spoilers


(Dan Fabulich) #1

Continuing the discussion from HTML <b> across paragraph breaks differs between preview and result:

The editor bug is still there as far as I can see.

To reproduce: on meta.discourse.org or try.discourse.org, type two paragraphs with double line breaks separating them like this:

foo

bar

Select the paragraphs, click the gear, and click “Blur Spoiler.”

Actual: The editor inserts spoiler tags inline at the start/end of the selection, which used to work, but which no longer makes a multi-paragraph spoiler.

[spoiler]foo

bar[/spoiler]

It renders like this:

[spoiler]foo

bar[/spoiler]

Expected:

[spoiler]
foo

bar
[/spoiler]

foo

bar


(Dan Fabulich) #2

Note that it should also do the right thing if you select the spoilers in this example:

foo Rosebud is a sled

Bruce Willis died in Act 1

It was Kevin Spacey the whole time

Darth is Anakin bar 

Currently it does this:

foo [spoiler]Rosebud is a sled

Bruce Willis died in Act 1

It was Kevin Spacey the whole time

Darth is Anakin[/spoiler] bar

I’m not 100% sure what it should do in this case. One thing it might do is convert the inline spoilers into a spoiler block like this.

foo
[spoiler]
Rosebud is a sled

Bruce Willis died in Act 1

It was Kevin Spacey the whole time

Darth is Anakin
[/spoiler]
bar

foo

Rosebud is a sled

Bruce Willis died in Act 1

It was Kevin Spacey the whole time

Darth is Anakin

bar

But perhaps instead it should wrap each inline section with its own [spoiler] tag and embed all of the paragraphs in a spoiler block.

foo [spoiler]Rosebud is a sled[/spoiler]

[spoiler]
Bruce Willis died in Act 1

It was Kevin Spacey the whole time
[/spoiler]

[spoiler]Darth is Anakin[/spoiler] bar 

foo Rosebud is a sled

Bruce Willis died in Act 1

It was Kevin Spacey the whole time

Darth is Anakin bar

But that introduces three spoilers; you have to click on each spoiler one at a time to reveal it. :confused:


(Jeff Atwood) #3

Incorrect, it should simply add spoiler BBCode tags at the top and bottom. And if it does not, we should definitely fix that @eviltrout

[spoiler]
foo Rosebud is a sled

Bruce Willis died in Act 1

It was Kevin Spacey the whole time

Darth is Anakin bar 
[/spoiler]

(Dan Fabulich) #4

I guess that’s OK, too. (A bit weird that non-spoiler text “foo” and “bar” sneaks in.)

I just want to make sure inline spoilers will still work.

So if you select the spoiler here:

foo Rosebud is a sled bar

it should continue to generate an inline spoiler

foo [spoiler]Rosebud is a sled[/spoiler] bar

foo Rosebud is a sled bar


(Jeff Atwood) #5

Yes, that is more or less how the code toolbar button already works – try it – so I think @eviltrout can just adopt that exact behavior.


(Sam Saffron) #6

@eviltrout I recall fixing this a few weeks back with the details plugin.

Current behavior:

test []test

test[] test

Hit spoiler

test [spoiler]test

test[/spoiler] test

Desired

test
[spoiler]
test

test
[/spoiler]
test

Since spoiler is also inline, this needs to work as well

text spoil text
text [spoiler]spoil[/spoiler] text