void ReadHtmlSpans(string html) { RazorEngineHost razorEngineHost = new RazorEngineHost(codeLanguage); RazorTemplateEngine engine = new RazorTemplateEngine(razorEngineHost); ParserResults results = engine.ParseTemplate(new StringReader(html)); spans = new List<Span>(results.Document.Flatten()); spans.RemoveAll(span => span.Kind != SpanKind.Markup); }
void ReadBlockSpans(string markup) { var razorEngineHost = new RazorEngineHost(codeLanguage); var engine = new RazorTemplateEngine(razorEngineHost); var results = engine.ParseTemplate(new StringReader(markup)); spans = new List<Span>(results.Document.Flatten()); spans.RemoveAll(span => !span.IsBlock); }
} public interface IViewParser { IEnumerable<Span> Parse(string viewFile); } }
internal void Parse(TextReader razorTemplate, TextWriter output) { RazorEngineHost host = new RazorEngineHost(new CSharpRazorCodeLanguage()); RazorTemplateEngine engine = new RazorTemplateEngine(host); ParserResults result = engine.ParseTemplate(razorTemplate); if (!result.Success) { ThrowParserError(result); } WriteTemplateFunction(result.Document, output); }
public virtual void RenderClientTemplate(TextReader razorTemplate, TextWriter output) { var host = new RazorEngineHost(new CSharpRazorCodeLanguage()); var engine = new RazorTemplateEngine(host); var parserResults = engine.ParseTemplate(razorTemplate); if(parserResults.Success == false) // TODO: Less suck throw new RazorClientTemplateException("Template parse exception"); RenderClientTemplate(parserResults.Document, output); }
public IEnumerable<Span> Parse(string viewFile) { RazorCodeLanguage language; switch (viewFile.FileExtension()) { case ".cshtml": language = new CSharpRazorCodeLanguage(true); break; case ".vbhtml": language = new VBRazorCodeLanguage(true); break; default: throw new ArgumentException("Invalid extension for Razor engine."); } using (var fileStream = new FileStream(viewFile, FileMode.Open, FileAccess.Read)) using (var reader = new StreamReader(fileStream)) { var engine = new RazorTemplateEngine(new RazorEngine.Compilation.RazorEngineHost(language, () => new HtmlMarkupParser())); var parseResults = engine.ParseTemplate(reader); return parseResults.Document.Flatten(); } }
ParserResults ParseTemplate(ITextBuffer textBuffer) { var host = new RazorEngineHost(new CSharpRazorCodeLanguage()); var engine = new RazorTemplateEngine(host); return engine.ParseTemplate(textBuffer.CreateReader()); }