oliverbooth.dev/OliverBooth.Extensions.Markdig/Markdown/Template/TemplateInline.cs
Oliver Booth 6ec4103a3a
refactor: separate Markdig extensions from project
Also introduces .Common project to house common references and types
2024-05-05 02:18:20 +01:00

40 lines
1.2 KiB
C#

using Markdig.Syntax.Inlines;
namespace OliverBooth.Extensions.Markdig.Markdown.Template;
/// <summary>
/// Represents a Markdown inline element that represents a MediaWiki-style template.
/// </summary>
public sealed class TemplateInline : Inline
{
/// <summary>
/// Gets the raw argument string.
/// </summary>
/// <value>The raw argument string.</value>
public string ArgumentString { get; set; } = string.Empty;
/// <summary>
/// Gets the argument list.
/// </summary>
/// <value>The argument list.</value>
public IReadOnlyList<string> ArgumentList { get; set; } = ArraySegment<string>.Empty;
/// <summary>
/// Gets the name of the template.
/// </summary>
/// <value>The name of the template.</value>
public string Name { get; set; } = string.Empty;
/// <summary>
/// Gets the template parameters.
/// </summary>
/// <value>The template parameters.</value>
public IReadOnlyDictionary<string, string> Params { get; set; } = null!;
/// <summary>
/// Gets the variant of the template.
/// </summary>
/// <value>The variant of the template.</value>
public string Variant { get; set; } = string.Empty;
}