Example #1
0
        protected internal virtual void Render(Content content, IRenderer renderer)
        {
            var contentStr = content.ToString();

            if (String.IsNullOrEmpty(contentStr))
            {
                return;
            }

            var contentEnds = contentStr.Length > 0 && contentStr[contentStr.Length - 1] == '\n';

            using (var contentReader = new StringReader(contentStr))
            {
                string line;
                while ((line = contentReader.ReadLine()) != null)
                {
                    var needsPara = renderer.IsRenderingBlock == false;
                    if (needsPara)
                    {
                        renderer.BeginRenderBlock(GetLineBlockType(line), null);
                    }
                    if (line.Length > 0)
                    {
                        RenderLine(line, renderer);
                    }
                    if (contentReader.Peek() > -1 || contentEnds)
                    {
                        renderer.EndRenderBlock();
                    }
                }
            }
        }
Example #2
0
        protected sealed override void Render(Tag tag, IRenderer renderer)
        {
            if (this.IsSection)
            {
                renderer.BeginRenderSection(this.Block, tag);
            }
            else
            {
                renderer.BeginRenderBlock(this.Block, tag);
            }

            RenderOverride(tag, renderer);

            if (this.IsSection)
            {
                renderer.EndRenderSection();
            }
            else
            {
                renderer.EndRenderBlock();
            }
        }