public string TocAsHtml(MarkdownDocument doc) { var node = new HeadingNode(); foreach (var item in doc.OfType <HeadingBlock>()) { node.Insert(new HeadingNode { Id = item.GetAttributes().Id, Level = item.Level, Title = item.Inline?.FirstChild.ToString() }); } return(node.ToString()); }
public void Render(string source, out string html, out string tree) { using (var sw = new StringWriter()) { var doc = Markdown.ToHtml(source, sw, Pipeline); html = sw.ToString(); var node = new HeadingNode(); foreach (var item in doc) { if (item is HeadingBlock hb) { node.Insert(new HeadingNode { Id = hb.GetAttributes().Id, Level = hb.Level, Title = hb.Inline?.FirstChild.ToString() }); } } tree = node.ToString(); } }