* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\CommonMark\Extension\Mention\Generator; use League\CommonMark\Extension\Mention\Mention; use League\CommonMark\Node\Inline\AbstractInline; final class StringTemplateLinkGenerator implements MentionGeneratorInterface { private string $urlTemplate; public function __construct(string $urlTemplate) { $this->urlTemplate = $urlTemplate; } public function generateMention(Mention $mention): ?AbstractInline { $mention->setUrl(\sprintf($this->urlTemplate, $mention->getIdentifier())); return $mention; } }