Пример #1
0
        public static void WriteHtml(HtmlBlock html)
        {
            if (html.Type != HtmlBlockType.InterruptingBlock &&
                html.Type != HtmlBlockType.NonInterruptingBlock)
            {
                return;
            }

            MarkdownConsole.WriteHtml(GetTextFromInlineContainer(html.Inline));
        }
Пример #2
0
        private static void WriteInline(IInline inline)
        {
            switch (inline)
            {
            case LiteralInline literal:
                SysConsole.Write(GetTextFromLiteral(literal));
                return;

            case LinkInline link:
                MarkdownConsole.WriteLink(GetUrlFromLink(link), link.Title);
                return;

            case AutolinkInline autoLink:
                MarkdownConsole.WriteLink(autoLink.Url);
                return;

            case CodeInline code:
                MarkdownConsole.WriteCode(code.Content);
                return;

            case EmphasisInline emphasis:
                string text = GetTextFromInlineContainer(emphasis);
                if (emphasis.IsDouble)
                {
                    MarkdownConsole.WriteBold(text);
                }
                else
                {
                    MarkdownConsole.WriteItalic(text);
                }
                return;

            case HtmlInline html:
                MarkdownConsole.WriteHtml(html.Tag);
                return;

            case HtmlEntityInline htmlEntity:
                MarkdownConsole.WriteHtml(htmlEntity.Transcoded.Text);
                return;

            case LineBreakInline lineBreak:
                SysConsole.WriteLine();
                return;
            }
        }