Skip to content

johniak/FeintTemplateEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Feint Template Engine

Template engine based on JADE.

Table of Contents

Language example:

Example template:

html 
	head
		script(src="example_script.js")
	body
		#container
			h2 Best template engine ever
			|Friends:
			ul
				each friend in friends
					li {{friend}}

Rendered output :

with parrameter friends={"Piotr","Asia","Paweł","Mateusz","Rafał"}

<html>
        <head>
                <script src="example_script.js">
                </script>
        </head>
        <body>
                <div id="container">
                        <h2>
                                Best template engine ever
                        </h2>
                        Friends:
                        <ul>
                                <li>
                                        Piotr
                                </li>
                                <li>
                                        Asia
                                </li>
                                <li>
                                        Pawel
                                </li>
                                <li>
                                        Mateusz
                                </li>
                                <li>
                                    	Rafal
                            	</li>
                        </ul>
                </div>
        </body>
</html>

Inheritance

Template engine supports inheritance:

files must have fte extension

Parrent:

html
	head
		block head
	body
		#container
			block container
				|Container parent

Child:

extends parrent_template

block head
	script(src="example_script.js")

block container
	h2.
		Best template engine ever
	|Friends:
	ul
		each friend in friends
			li {{friend}}

Rendered output :

with parrameter friends={"Piotr","Asia","Paweł","Mateusz","Rafał"}

<html>
    <head>
        <script src="example_script.js">
        </script>
    </head>
    <body>
            <div id="container">
                	Container parent
                    <h2>
                            Best template engine ever
                    </h2>
                    Friends:
                    <ul>
                            <li>
                                    Piotr
                            </li>
                            <li>
                                    Asia
                            </li>
                            <li>
                                    Pawel
                            </li>
                            <li>
                                    Mateusz
                            </li>
                            <li>
                                    Rafal
                            </li>
                    </ul>
            </div>
    </body>
</html>	

Example usage:

TextReader reader = File.OpenText("child_template.fte");
String text = reader.ReadToEnd();
reader.Close();
String[] friends={"Piotr","Asia","Paweł","Mateusz"};
TemplateEngine templateEngine = new TemplateEngine(text, new { friends = friends });
var rendered = templateEngine.Render();

About

Jade template languege parser implemented in C#

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages