// Split the markdown into sections, one section for each // top level heading public static List <string> SplitSections(string markdown) { // Build blocks var md = new MarkdownDeep.Markdown(); // Process blocks var blocks = md.ProcessBlocks(markdown); // Create sections var Sections = new List <string>(); int iPrevSectionOffset = 0; for (int i = 0; i < blocks.Count; i++) { var b = blocks[i]; if (md.IsSectionHeader(b)) { // Get the offset of the section int iSectionOffset = b.lineStart; // Add section Sections.Add(markdown.Substring(iPrevSectionOffset, iSectionOffset - iPrevSectionOffset)); iPrevSectionOffset = iSectionOffset; } } // Add the last section if (markdown.Length > iPrevSectionOffset) { Sections.Add(markdown.Substring(iPrevSectionOffset)); } return(Sections); }
// Split the markdown into sections, one section for each // top level heading public static List<string> SplitSections(string markdown) { // Build blocks var md = new MarkdownDeep.Markdown(); // Process blocks var blocks = md.ProcessBlocks(markdown); // Create sections var Sections = new List<string>(); int iPrevSectionOffset = 0; for (int i = 0; i < blocks.Count; i++) { var b = blocks[i]; if (md.IsSectionHeader(b)) { // Get the offset of the section int iSectionOffset = b.lineStart; // Add section Sections.Add(markdown.Substring(iPrevSectionOffset, iSectionOffset - iPrevSectionOffset)); iPrevSectionOffset = iSectionOffset; } } // Add the last section if (markdown.Length > iPrevSectionOffset) { Sections.Add(markdown.Substring(iPrevSectionOffset)); } return Sections; }