public void TestExecInheritanceWithParentOutside() { TemplateProviderMemory TemplateProvider = new TemplateProviderMemory(); TemplateFactory TemplateFactory = new TemplateFactory(TemplateProvider); TemplateProvider.Add("Base.html", "Test{% block Body %}Base{% endblock %}Test"); TemplateProvider.Add("Test.html", "{% extends 'Base.html' %}Not{% block Body %}12{% endblock %}{% parent %}Rendered"); Assert.AreEqual("Test1Base2Test", TemplateFactory.GetTemplateCodeByFile("Test.html").RenderToString()); }
public void TestExecBasicInheritance() { TemplateProviderMemory TemplateProvider = new TemplateProviderMemory(); TemplateFactory TemplateFactory = new TemplateFactory(TemplateProvider, OutputGeneratedCode: true); TemplateProvider.Add("Base.html", "Test{% block Body %}Base{% endblock %}Test"); TemplateProvider.Add("Test.html", "{% extends 'Base.html' %}Not{% block Body %}Ex{% endblock %}Rendered"); Assert.AreEqual("TestExTest", TemplateFactory.GetTemplateCodeByFile("Test.html").RenderToString()); }
static void Main(string[] args) { //TemplateProvider TemplateProvider = new TemplateProviderVirtualFileSystem(new LocalFileSystem(FileUtils.GetExecutableDirectoryPath(), false)); TemplateProviderMemory TemplateProvider = new TemplateProviderMemory(); TemplateFactory TemplateFactory = new TemplateFactory(TemplateProvider); TemplateProvider.Add("Base.html", "Test{% block Body %}Base{% endblock %}Test"); TemplateProvider.Add("Test.html", "{% extends 'Base.html' %}{% block Body %}Ex{% endblock %}"); //TemplateProvider.Add("Test.html", "{% block Body %}Ex{% endblock %}"); Console.WriteLine(TemplateFactory.GetTemplateCodeByFile("Test.html").RenderToString()); Console.ReadKey(); }
public override async Task HandleRequestAsync(FastcgiRequestAsync Request, FastcgiResponseAsync Response) { var StreamWriter = new StreamWriter(Response.StdoutStream); StreamWriter.AutoFlush = true; //StreamWriter.Write("Hello World!"); var Stopwatch = new Stopwatch(); Stopwatch.Start(); var Html = TemplateFactory.GetTemplateCodeByFile("Test.html").RenderToString(); Stopwatch.Stop(); StreamWriter.Write("Content-type: text/html\r\n"); StreamWriter.Write("X-Time: {0}\r\n", Stopwatch.Elapsed); StreamWriter.Write("\r\n"); StreamWriter.Write(Html); StreamWriter.Write(Request.Params.ToJson()); //throw (new Exception("Error!")); }
protected override void HandleHttpRequest(HttpRequest HttpRequest) { if (HttpRequest.Post.ContainsKey("Title") && HttpRequest.Post.ContainsKey("Body")) { Posts.Add(new Post() { Title = HttpRequest.Post["Title"], Body = HttpRequest.Post["Body"], }); } HttpRequest.Output.Write(TemplateFactory.GetTemplateCodeByFile("Test.html").RenderToString(new TemplateScope(new Dictionary <String, dynamic>() { { "Count", Count++ }, { "Params", HttpRequest.Enviroment }, { "Posts", Posts }, { "POST", HttpRequest.Post }, }))); HttpRequest.Output.WriteLine("<pre>"); foreach (var Param in HttpRequest.Enviroment) { HttpRequest.Output.WriteLine("{0}: {1}", Param.Key, Param.Value); } HttpRequest.Output.WriteLine("</pre>"); /* * if (HttpRequest.StdinBytes.Length > 0) * { * File.WriteAllBytes("Stdin.bin", HttpRequest.StdinBytes); * } * HttpRequest.Output.WriteLine(HttpRequest.Stdin); */ HttpRequest.OutputDebug = true; }