Пример #1
0
        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());
        }
Пример #2
0
        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();
            }
        }