Browse Source

Deprecate limited-use and potentially confusing [class] BBCode tag

- Replace its usage in Mastodon emoji with an internal tag [emoji]
pull/10889/head
Hypolite Petovan 3 months ago
parent
commit
39aff642aa
  1. 6
      doc/BBCode.md
  2. 8
      doc/de/BBCode.md
  3. 4
      src/Content/Text/BBCode.php
  4. 2
      src/Protocol/ActivityPub/Processor.php

6
doc/BBCode.md

@ -650,10 +650,4 @@ On Mastodon this field is used for the content warning.
[style=text-shadow: 0 0 4px #CC0000;]You can change all the CSS properties of this block.[/style]</td>
<td><span style="text-shadow: 0 0 4px #cc0000;;">You can change all the CSS properties of this block.</span></td>
</tr>
<tr>
<td>Custom class block<br>
<br>
[class=custom]If the class exists, this block will have the custom class style applied.[/class]</td>
<td><pre>&lt;span class="custom"&gt;If the class exists,<br> this block will have the custom class<br> style applied.&lt;/span&gt;</pre></td>
</tr>
</table>

8
doc/de/BBCode.md

@ -609,13 +609,5 @@ Dieses Feld wird von Mastodon f&uuml;r die Inhaltswarnung (content warning) verw
[style=text-shadow: 0 0 4px #CC0000;]Du kannst alle CSS-Eigenschaften eines Blocks &auml;ndern-[/style]</td>
<td><span style="text-shadow: 0 0 4px #cc0000;;">Du kannst alle CSS-Eigenschaften eines Blocks &auml;ndern-</span></td>
</tr>
<tr>
<td>Benutzerdefinierte CSS Klassen<br>
<br>
[class=custom]Wenn die vergebene Klasse in den CSS Anweisungen existiert, wird sie angewandt.[/class]</td>
<td><pre>&lt;span class="custom"&gt;Wenn die<br>
vergebene Klasse in den CSS Anweisungen<br>
existiert,wird sie angewandt.&lt;/span&gt;</pre></td>
</tr>
</table>

4
src/Content/Text/BBCode.php

@ -1648,7 +1648,11 @@ class BBCode
// Check for style sheet commands
$text = preg_replace("(\[style=(.*?)\](.*?)\[\/style\])ism", '<span style="$1">$2</span>', $text);
// Mastodon Emoji (internal tag, do not document for users)
$text = preg_replace("(\[emoji=(.*?)](.*?)\[/emoji])ism", '<span class="mastodon emoji"><img src="$1" alt="$2" title="$2"/></span>', $text);
// Check for CSS classes
// @deprecated since 2021.12, left for backward-compatibility reasons
$text = preg_replace("(\[class=(.*?)\](.*?)\[\/class\])ism", '<span class="$1">$2</span>', $text);
// handle nested lists

2
src/Protocol/ActivityPub/Processor.php

@ -96,7 +96,7 @@ class Processor
array_combine(
array_column($emojis, 'name'),
array_map(function ($emoji) {
return '[class=emoji mastodon][img=' . $emoji['href'] . ']' . $emoji['name'] . '[/img][/class]';
return '[emoji=' . $emoji['href'] . ']' . $emoji['name'] . '[/emoji]';
}, $emojis)
)
);

Loading…
Cancel
Save