public override void Write(MarkdownViewBase instance, TextWriter textWriter, Dictionary <string, object> scopeArgs) { var model = GetModel(scopeArgs); var memberExprEnumerator = GetMemberExprEnumerator(model); if (IsNested) { //Write Markdown foreach (var item in memberExprEnumerator) { scopeArgs[this.EnumeratorName] = item; base.Write(instance, textWriter, scopeArgs); } } else { //Buffer Markdown output before converting and writing HTML var sw = StringWriterCacheAlt.Allocate(); foreach (var item in memberExprEnumerator) { scopeArgs[this.EnumeratorName] = item; base.Write(instance, sw, scopeArgs); } var markdown = StringWriterCacheAlt.ReturnAndFree(sw); var renderedMarkup = Transform(markdown); textWriter.Write(renderedMarkup); } }
protected void WriteStatement(MarkdownViewBase instance, TextWriter textWriter, Dictionary <string, object> scopeArgs) { if (IsNested) { //Write Markdown WriteInternal(instance, textWriter, scopeArgs); } else { //Buffer Markdown output before converting and writing HTML var sw = StringWriterCacheAlt.Allocate(); WriteInternal(instance, sw, scopeArgs); var markdown = StringWriterCacheAlt.ReturnAndFree(sw); var html = Transform(markdown); textWriter.Write(html); } }