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 « J'aime »

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 « J'aime »

Peux-tu assigner quelqu’un à @eviltrout si le problème persiste ?

[spoiler]C’est toujours

un problème[/spoiler]

2 « J'aime »

Cela risque d’être difficile à corriger, car nous ne prenons en charge que les balises BBCode de type bloc ou en ligne block ou inline

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

Cela ne semble pas difficile, il suffit d’utiliser la forme correcte pour les sélections sur plusieurs lignes ?

1 « J'aime »

Oui, ce n’est pas une correction Markdown, mais simplement un ajustement du fonctionnement de la barre d’outils. La barre d’outils génère un mauvais Markdown ; elle doit être plus intelligente pour ajouter des sauts de ligne.

1 « J'aime »

Bon, il est facile de corriger la barre d’outils pour qu’elle utilise le « mode bloc » lorsqu’il y a des sauts de ligne dans la sélection.

En revanche, prendre en charge

[spoiler]mixte
formatage
[/spoiler]

ne l’est pas.

1 « J'aime »

Oui, mais c’est la seule chose demandée ici.

3 « J'aime »

@pmusaraj peux-tu jeter un coup d’œil ? La sélection et les boutons dans l’éditeur sont très bien testés, il devrait donc être assez évident de créer un test pour cette situation.

3 « J'aime »

Cela devrait être corrigé grâce à ces deux commits (core, discourse-spoiler-alert) : le bouton de la barre d’outils utilisera le « mode bloc » si la chaîne sélectionnée s’étend sur plusieurs lignes.

6 « J'aime »

Ce sujet a été automatiquement fermé après 47 heures. De nouvelles réponses ne sont plus autorisées.