public string ConvertToHtmlString(string paragraph, IEnumerable <TagType> availableTagTypes) { var result = new StringBuilder(); var markdownTokenizer = new MarkdownTokenizer(paragraph, availableTagTypes); foreach (var token in markdownTokenizer.GetTokens()) { string htmlTag; if (token.TokenType == TokenType.Tag) { var tokenContent = token.TagType.AvailableInnerTagTypes.Any() ? ConvertToHtmlString(token.Content, token.TagType.AvailableInnerTagTypes) : token.Content; htmlTag = token.TagType.ToHtml(tokenContent); } else { htmlTag = token.Content; } result.Append(htmlTag); } return(result.ToString()); }
public string Render(string markdownText, TokenConverter converter) { var tokens = new MarkdownTokenizer().SplitTextToTokens(markdownText); var formattedText = converter.ConvertTokens(tokens); return(formattedText); }
public void InitTokenizer(string markdownString) { tokenizer = new MarkdownTokenizer(markdownString, availableTagTypes); }