oliverbooth.dev/OliverBooth.Common/Markdown/Template/TemplateRenderer.cs

29 lines
918 B
C#

using Markdig.Renderers;
using Markdig.Renderers.Html;
using OliverBooth.Common.Services;
namespace OliverBooth.Common.Markdown.Template;
/// <summary>
/// Represents a Markdown object renderer that handles <see cref="TemplateInline" /> elements.
/// </summary>
internal sealed class TemplateRenderer : HtmlObjectRenderer<TemplateInline>
{
private readonly ITemplateService _templateService;
/// <summary>
/// Initializes a new instance of the <see cref="TemplateRenderer" /> class.
/// </summary>
/// <param name="templateService">The <see cref="TemplateService" />.</param>
public TemplateRenderer(ITemplateService templateService)
{
_templateService = templateService;
}
/// <inheritdoc />
protected override void Write(HtmlRenderer renderer, TemplateInline template)
{
renderer.Write(_templateService.RenderGlobalTemplate(template));
}
}