Example #1
0
        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());
        }
Example #3
0
        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();
        }
Example #4
0
            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!"));
            }
Example #5
0
        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;
        }