chore: commit remaining workspace changes

This commit is contained in:
2026-05-08 21:51:29 +02:00
parent 8d108b8a76
commit ff96ef796e
97 changed files with 18020 additions and 2196 deletions

View File

@@ -0,0 +1,42 @@
<?php
declare(strict_types=1);
namespace App\Services\Academy;
use League\CommonMark\Environment\Environment;
use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension;
use League\CommonMark\Extension\GithubFlavoredMarkdownExtension;
use League\CommonMark\MarkdownConverter;
final class AcademyLessonMarkdownRenderer
{
private ?MarkdownConverter $converter = null;
public function render(?string $markdown): string
{
$trimmed = trim((string) $markdown);
if ($trimmed === '') {
return '';
}
return trim((string) $this->converter()->convert($trimmed)->getContent());
}
private function converter(): MarkdownConverter
{
if ($this->converter instanceof MarkdownConverter) {
return $this->converter;
}
$environment = new Environment([
'html_input' => 'strip',
'allow_unsafe_links' => false,
]);
$environment->addExtension(new CommonMarkCoreExtension());
$environment->addExtension(new GithubFlavoredMarkdownExtension());
return $this->converter = new MarkdownConverter($environment);
}
}