protected override void BuildBlockRules() { base.BuildBlockRules(); var blockRules = BlockRules.ToList(); var index = blockRules.FindLastIndex(s => s is MarkdownNewLineBlockRule); if (index < 0) { throw new ArgumentException($"{nameof(MarkdownNewLineBlockRule)} should exist!"); } blockRules.Insert(index + 1, new AzureIncludeBlockRule()); blockRules.Insert(index + 2, new AzureNoteBlockRule()); var gfmIndex = blockRules.FindIndex(item => item is GfmParagraphBlockRule); blockRules[gfmIndex] = new AzureParagraphBlockRule(); var markdownBlockQuoteIndex = blockRules.FindIndex(item => item is MarkdownBlockquoteBlockRule); blockRules[markdownBlockQuoteIndex] = new AzureBlockquoteBlockRule(); BlockRules = blockRules.ToImmutableList(); }