public static CodeFenceStyle Modify(this CodeFenceStyle style) { switch (style) { case CodeFenceStyle.Backtick: return(CodeFenceStyle.Tilde); case CodeFenceStyle.Tilde: return(CodeFenceStyle.Backtick); default: throw new ArgumentException(style.ToString(), nameof(style)); } }
public MarkdownFormat( EmphasisStyle boldStyle = EmphasisStyle.Asterisk, EmphasisStyle italicStyle = EmphasisStyle.Asterisk, BulletListStyle bulletListStyle = BulletListStyle.Asterisk, OrderedListStyle orderedListStyle = OrderedListStyle.Dot, HeadingStyle headingStyle = HeadingStyle.NumberSign, HeadingOptions headingOptions = HeadingOptions.EmptyLineBeforeAndAfter, TableOptions tableOptions = TableOptions.FormatHeader | TableOptions.OuterDelimiter | TableOptions.Padding | TableOptions.EmptyLineBeforeAndAfter, CodeFenceStyle codeFenceStyle = CodeFenceStyle.Backtick, CodeBlockOptions codeBlockOptions = CodeBlockOptions.EmptyLineBeforeAndAfter, CharEntityFormat charEntityFormat = CharEntityFormat.Hexadecimal, HorizontalRuleFormat?horizontalRuleFormat = null, AngleBracketEscapeStyle angleBracketEscapeStyle = AngleBracketEscapeStyle.Backslash) { BoldStyle = boldStyle; ItalicStyle = italicStyle; BulletListStyle = bulletListStyle; OrderedListStyle = orderedListStyle; HeadingStyle = headingStyle; HeadingOptions = headingOptions; TableOptions = tableOptions; CodeFenceStyle = codeFenceStyle; CodeBlockOptions = codeBlockOptions; CharEntityFormat = charEntityFormat; if (BulletListStyle == BulletListStyle.Asterisk) { BulletItemStart = "* "; } else if (BulletListStyle == BulletListStyle.Plus) { BulletItemStart = "+ "; } else if (BulletListStyle == BulletListStyle.Minus) { BulletItemStart = "- "; } else { throw new InvalidOperationException(ErrorMessages.UnknownEnumValue(BulletListStyle)); } if (BoldStyle == EmphasisStyle.Asterisk) { BoldDelimiter = "**"; } else if (BoldStyle == EmphasisStyle.Underscore) { BoldDelimiter = "__"; } else { throw new InvalidOperationException(ErrorMessages.UnknownEnumValue(BoldStyle)); } if (ItalicStyle == EmphasisStyle.Asterisk) { ItalicDelimiter = "*"; } else if (ItalicStyle == EmphasisStyle.Underscore) { ItalicDelimiter = "_"; } else { throw new InvalidOperationException(ErrorMessages.UnknownEnumValue(ItalicStyle)); } if (OrderedListStyle == OrderedListStyle.Dot) { OrderedItemStart = ". "; } else if (OrderedListStyle == OrderedListStyle.Parenthesis) { OrderedItemStart = ") "; } else { throw new InvalidOperationException(ErrorMessages.UnknownEnumValue(OrderedListStyle)); } if (HeadingStyle == HeadingStyle.NumberSign) { HeadingStart = "#"; } else { throw new InvalidOperationException(ErrorMessages.UnknownEnumValue(HeadingStyle)); } if (CodeFenceStyle == CodeFenceStyle.Backtick) { CodeFence = "```"; } else if (CodeFenceStyle == CodeFenceStyle.Tilde) { CodeFence = "~~~"; } else { throw new InvalidOperationException(ErrorMessages.UnknownEnumValue(CodeFenceStyle)); } if (horizontalRuleFormat != null) { Error.ThrowOnInvalidHorizontalRuleFormat(horizontalRuleFormat.Value); HorizontalRuleFormat = horizontalRuleFormat.Value; } else { HorizontalRuleFormat = HorizontalRuleFormat.Default; } if (HorizontalRuleStyle == HorizontalRuleStyle.Hyphen) { HorizontalRuleText = "-"; } else if (HorizontalRuleStyle == HorizontalRuleStyle.Underscore) { HorizontalRuleText = "_"; } else if (HorizontalRuleStyle == HorizontalRuleStyle.Asterisk) { HorizontalRuleText = "*"; } else { throw new InvalidOperationException(ErrorMessages.UnknownEnumValue(HorizontalRuleStyle)); } AngleBracketEscapeStyle = angleBracketEscapeStyle; }
public MarkdownFormat WithCodeFenceStyle(CodeFenceStyle codeFenceStyle);
public MarkdownFormat(EmphasisStyle boldStyle = EmphasisStyle.Asterisk, EmphasisStyle italicStyle = EmphasisStyle.Asterisk, BulletListStyle bulletListStyle = BulletListStyle.Asterisk, OrderedListStyle orderedListStyle = OrderedListStyle.Dot, HeadingStyle headingStyle = HeadingStyle.NumberSign, HeadingOptions headingOptions = HeadingOptions.EmptyLineBeforeAndAfter, TableOptions tableOptions = TableOptions.FormatHeader | TableOptions.Padding | TableOptions.OuterDelimiter | TableOptions.EmptyLineBeforeAndAfter, CodeFenceStyle codeFenceStyle = CodeFenceStyle.Backtick, CodeBlockOptions codeBlockOptions = CodeBlockOptions.EmptyLineBeforeAndAfter, CharEntityFormat charEntityFormat = CharEntityFormat.Hexadecimal, HorizontalRuleFormat?horizontalRuleFormat = null);