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

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

もしまだ問題であれば、@eviltrout にこの件を割り当てていただけますか?

[spoiler]まだ

問題です[/spoiler]

「いいね!」 2

ブロックまたはインラインの BBCode のどちらかしかサポートしていないため、修正は難しいでしょう

[Developer's guide to Markdown extensions]

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

難しくないようです。複数行の選択には正しい形式を使うだけでよいのですか?

「いいね!」 1

いいえ、これは Markdown の修正ではなく、ツールバーの動作に関する調整です。ツールバーが不適切な Markdown を生成してしまっているので、改行の追加をより賢く行う必要があります。

「いいね!」 1

さて、選択範囲に改行がある場合にツールバーを「ブロックモード」で動作させるのは簡単です。

[spoiler]mixed
formatting
[/spoiler]

という形式のサポートはそうではありません。

「いいね!」 1

はい、しかしここでのリクエストはそれだけのことです。

「いいね!」 3

@pmusaraj 確認してもらえますか?エディタの選択とボタンは十分にテストされているので、この状況に対するテストの作成方法は比較的明確だと思います。

「いいね!」 3

この問題は、以下の 2 つのコミットで修正されます(corediscourse-spoiler-alert)。選択された文字列が複数行の場合、ツールバーボタンは「ブロックモード」を使用します。

「いいね!」 6

このトピックは 47 時間後に自動的に閉鎖されました。新しい返信は受け付けられません。