Ejemplo n.º 1
0
		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);
		}
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
    }

    public interface IViewParser
    {
        IEnumerable<Span> Parse(string viewFile);
    }
}
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 6
0
        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());
		}