Example #1
0
        public override void TryRender(string text, MarkdownRenderer renderer, RenderStrategyChain strategyChain)
        {
            int level;

            if (renderer.PropertyChain.TryGetProperty(RenderSettingField.HEADING_LEVEL, out level))
            {
                if (1 <= level && level <= 4)
                {
                    increament(level);

                    string lab = "";
                    for (int i = 0; i < level; i++)
                    {
                        renderer.RenderOut.Append("#");
                        lab += $"{numbering[i]}.";
                    }
                    renderer.RenderOut.Append($" {lab} {text}");
                    return;
                }
            }
            strategyChain.TryNextStrategy(text, renderer);
        }
Example #2
0
        public override void TryRender(string text, MarkdownRenderer renderer, RenderStrategyChain strategyChain)
        {
            string type;

            if (renderer.PropertyChain.TryGetProperty(RenderSettingField.TEXT_STYLE, out type))
            {
                switch (type)
                {
                case RenderSettingField.TEXT_STYLE_BOLD:
                    renderer.RenderOut.Append($" **{text}** ");
                    break;

                case RenderSettingField.TEXT_STYLE_ITALIC:
                    renderer.RenderOut.Append($" *{text}* ");
                    break;

                case RenderSettingField.TEXT_STYLE_DELETELINE:
                    renderer.RenderOut.Append($" ~~{text}~~ ");
                    break;

                default:
                    renderer.RenderOut.Append(text);
                    break;
                }
                return;
            }
            else if (renderer.PropertyChain.TryGetProperty(MarkdownRenderSetting.MD_REGION_INLINE, out type))
            {
                switch (type)
                {
                case MarkdownRenderSetting.MD_REGION_CODE:
                    renderer.RenderOut.Append($" `{text}` ");
                    break;
                }
                return;
            }
            strategyChain.TryNextStrategy(text, renderer);
        }
Example #3
0
 public abstract void TryRender(string text, MarkdownRenderer renderer, RenderStrategyChain strategyChain);