From 14682d3fcefcadcc2815ca22ed7972fe924864a3 Mon Sep 17 00:00:00 2001 From: Hivie Date: Thu, 25 Jun 2026 00:04:02 +0100 Subject: [PATCH] add nowrap on mailto: markdown links --- app/Libraries/Markdown/OsuMarkdown.php | 5 ++++- resources/css/bem/osu-md.less | 4 ++++ tests/Libraries/Markdown/html_markdown_examples/link.html | 3 +++ tests/Libraries/Markdown/html_markdown_examples/link.md | 2 ++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/Libraries/Markdown/OsuMarkdown.php b/app/Libraries/Markdown/OsuMarkdown.php index 05c2ec64d4c..fed53da1900 100644 --- a/app/Libraries/Markdown/OsuMarkdown.php +++ b/app/Libraries/Markdown/OsuMarkdown.php @@ -343,7 +343,10 @@ private function createDefaultAttributesConfig(): array 'class' => "{$blockClass}__image", ], Link::class => [ - 'class' => "{$blockClass}__link", + 'class' => static fn (Link $node) => class_with_modifiers( + "{$blockClass}__link", + ['mailto' => starts_with($node->getUrl(), 'mailto:')], + ), ], ListBlock::class => [ 'class' => static fn (ListBlock $node) => class_with_modifiers( diff --git a/resources/css/bem/osu-md.less b/resources/css/bem/osu-md.less index 450c3c025db..2a48c97b022 100644 --- a/resources/css/bem/osu-md.less +++ b/resources/css/bem/osu-md.less @@ -296,6 +296,10 @@ } &__link { + &--mailto { + white-space: nowrap; + } + &--footnote-ref { font-size: @font-size--small-2; diff --git a/tests/Libraries/Markdown/html_markdown_examples/link.html b/tests/Libraries/Markdown/html_markdown_examples/link.html index 28cb38013d3..8c53e839123 100644 --- a/tests/Libraries/Markdown/html_markdown_examples/link.html +++ b/tests/Libraries/Markdown/html_markdown_examples/link.html @@ -1,3 +1,6 @@

Welcome to osu!

+

+ appeal-review@ppy.sh +

diff --git a/tests/Libraries/Markdown/html_markdown_examples/link.md b/tests/Libraries/Markdown/html_markdown_examples/link.md index 56c7b61bb37..5c3bd074112 100644 --- a/tests/Libraries/Markdown/html_markdown_examples/link.md +++ b/tests/Libraries/Markdown/html_markdown_examples/link.md @@ -1 +1,3 @@ [Welcome to osu!](https://osu.ppy.sh) + +[appeal-review@ppy.sh](mailto:appeal-review@ppy.sh)