Editor toolbar generates invalid multi-paragraph spoilers

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

4 Mi Piace

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:

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]

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

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.

@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
3 Mi Piace

Puoi assegnare questa questione a @eviltrout, se è ancora un problema?

[spoiler]È ancora

un problema[/spoiler]

2 Mi Piace

Sarà difficile da risolvere, poiché supportiamo solo BBCode a blocco o in linea

[spoiler]
block
[/spoiler]
[spoiler]inline[/spoiler]

Non sembra difficile, basta usare la forma corretta per le selezioni su più righe?

1 Mi Piace

Sì, non è una correzione di markdown, ma semplicemente un aggiustamento al modo in cui funziona la barra degli strumenti: la barra degli strumenti introduce un markdown errato e deve essere più intelligente nell’aggiungere le nuove righe.

1 Mi Piace

Giusto, è facile fissare la barra degli strumenti per utilizzare la “modalità blocco” quando ci sono righe nuove nella selezione.

Supportare

[spoiler]formato
misto
[/spoiler]

non lo è.

1 Mi Piace

Sì, ma è l’unica cosa richiesta qui

3 Mi Piace

@pmusaraj puoi darci un’occhiata? La selezione e i pulsanti nell’editor sono stati testati molto bene, quindi dovrebbe essere abbastanza ovvio come creare un test per questa situazione.

3 Mi Piace

Questo dovrebbe essere risolto tramite questi due commit (core, discourse-spoiler-alert): il pulsante della barra degli strumenti utilizzerà la “modalità blocco” se la stringa selezionata è su più righe.

6 Mi Piace

Questo argomento è stato automaticamente chiuso dopo 47 ore. Non sono più ammesse nuove risposte.