Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Template Toolkit for .NET
C#
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
TT.Tests
TT
lib
.gitignore
LICENSE
README
TODO
TT.sln
build.bat

README

Welcome to my bizarre attempt to use Template Toolkit templates with .NET. My ultimate goal is to turn this into a ViewEngine for ASP.NET MVC

Rather than writing my own parser/lexer, I'm attempting to use ANTLR as the Parser/Lexer grammer which outputs an AST. The AST is then translated into C# using StringBuilder as part of ANTLR itself. The resulting source is compiled and run.

I chose to use Lexer/Parser->AST->Template assuming that once the grammar is written, we can use the parser to ouput VB.NET or any other language using the appropriate templates.

I'm starting simple (GET/SET) and working may out from there. Something should be easy. Some things fill be harder (FILTER), and some things won't translate at all (PERL blocks).

P.S. I have no clue what I'm doing. Most of this stuff was way over my head when I started, but somehow I have some simple syntac working all the way through the process. :-)

WHAT'S WORKING?
  - implicit variable get [% variable %]
  - explicit variable get [% GET variable %]
  - variable fallback from Process(data) to Settings(variables)
  - implicit variable set [% variable = x %], where x is string, number, decimal
  - explicit variable set [% SET variable = x %], where x is string, number, decimal
  - set defaults [% DEFAULT variable = x %], where x is string, number, decimal
  - multiple defaults in one block
		[% DEFAULT
			foo = 1
			bar = 'baz'
			baz = 2.34
		%]
  - multiple sets in one block
		[% SET
			foo = 1
			bar = 'baz'
			baz = 2.34
		%]
  - basic if statement  [% IF variable %]  [% variable %]   [% END %]
  - basic foreach statment  [% FOREACH i IN variable %]   [% i %]   [% END %]
Something went wrong with that request. Please try again.