1<?php
2
3// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0.
4// See the LICENCE file in the repository root for full licence text.
5
6namespace App\Libraries\Markdown\Indexing\Renderers;
7
8use League\CommonMark\Node\Inline\AbstractStringContainer;
9use League\CommonMark\Node\Node;
10use League\CommonMark\Renderer\ChildNodeRendererInterface;
11use League\CommonMark\Renderer\NodeRendererInterface;
12
13class InlineRenderer implements NodeRendererInterface
14{
15 public function render(Node $node, ChildNodeRendererInterface $childRenderer): string
16 {
17 if ($node instanceof AbstractStringContainer) {
18 return $node->getLiteral();
19 } else {
20 return $childRenderer->renderNodes($node->children());
21 }
22 }
23}