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(); } } } }
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(); } }