Esempio n. 1
0
            public override Node VisitStyle(StyleNode style)
            {
                return(style.Style switch
                {
                    Style.Bold => VisitTag("strong"),
                    Style.Italic => VisitTag("em"),
                    Style.Mono => VisitTag("code"),
                    Style.MultiMono => VisitTag("pre"),
                    Style.Strikethru => VisitTag("del"),
                    Style.Underline => VisitTag("u"),
                    Style.BlockQuote => VisitTag("blockquote"),
                    Style.InlineCode => VisitTag("code"),
                    Style.Spoiler => Visit(() => base.VisitStyle(style), "<span class=\"d-spoiler\">", "</span>"),

                    _ => throw new ArgumentException($"Unknown style: {style}"),
                });
Esempio n. 2
0
        public Node Visit(Node node)
        {
            return(node switch
            {
                TextNode text => VisitText(text),
                StyleNode style => VisitStyle(style),
                NewlineNode nl => VisitNewline(nl),
                CodeNode code => VisitCode(code),
                LinkNode link => VisitLink(link),
                MentionNode mention => VisitMention(mention),
                ChannelNode channel => VisitChannel(channel),
                RoleNode role => VisitRole(role),
                CustomEmojiNode emoji => VisitCustomEmoji(emoji),
                ContainerNode container => VisitContainer(container),

                _ => throw new ArgumentException($"Unknown node type: {node.GetType()}."),
            });