Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace Root.Core.Models.Fields
- {
- using System;
- using Microsoft.AspNetCore.Html;
- using Markdig;
- public readonly struct MarkdownField
- {
- private readonly string _markup;
- public MarkdownField(string markdown)
- {
- RawMarkdown = markdown;
- if (String.IsNullOrEmpty(RawMarkdown))
- {
- _markup = String.Empty;
- }
- else
- {
- _markup = Markdown.ToHtml(
- RawMarkdown,
- new MarkdownPipelineBuilder().UseAdvancedExtensions().Build());
- }
- }
- public static implicit operator MarkdownField(string input)
- {
- return new MarkdownField(input);
- }
- public static implicit operator string(MarkdownField input)
- {
- return input.ToString();
- }
- public static implicit operator HtmlString(MarkdownField input)
- {
- return new HtmlString(input.ToString());
- }
- public string RawMarkdown { get; }
- public HtmlString Markup
- {
- get
- {
- return new HtmlString(_markup);
- }
- }
- public override string ToString()
- {
- //TODO: WebUtility.HtmlEncode?
- return Markup.ToString();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement