cdramey
/
picotemplate
Archived
1
0
Fork 0

Finally fixed markdown

This commit is contained in:
Christopher Ramey 2012-02-13 02:35:43 +00:00 committed by cdramey
parent fa97797530
commit 422b727686
2 changed files with 56 additions and 66 deletions

2
README
View File

@ -0,0 +1,2 @@
Picotemplate is a BSD-licensed C-Template workalike written in Java.
For usage, please see README.md

View File

@ -1,108 +1,97 @@
picotemplate picotemplate
============ ============
`picotemplate` is a simple, tiny C-Template workalike written in java picotemplate is a simple, tiny C-Template workalike written in java
with the intention of being as high performance as possible. with the intention of being as high performance as possible.
`picotemplate` is very small, only three class files and is BSD licensed. picotemplate is very small, only three class files and is BSD licensed.
basic usage basic usage
----------- -----------
First, create your template: First, create your template:
<code><pre>
<html> <html>
<body> <body>
This is my template. My favorite food is {{FOOD}}. This is my template. My favorite food is {{FOOD}}.
</body> </body>
</html> </html>
</pre></code>
Import the required classes: Import the required classes:
<code><pre>
import com.binarythought.picotemplate.Template; import com.binarythought.picotemplate.Template;
import com.binarythought.picotemplate.TemplateDictionary; import com.binarythought.picotemplate.TemplateDictionary;
</pre></code>
Create your template and template dictionary: Create your template and template dictionary:
<code><pre>
Template template = new Template(new File("mytemplate.tpl")); Template template = new Template(new File("mytemplate.tpl"));
TemplateDictionary dict = new TemplateDictionary(); TemplateDictionary dict = new TemplateDictionary();
</pre></code>
Assign a value to the "food" variable (Unassigned variables are not shown): Assign a value to the "food" variable (Unassigned variables are not shown):
<code><pre>
dict.put("food", "cookies"); dict.put("food", "cookies");
</pre></code>
And parse your template: And parse your template:
<code><pre>
String result = template.parse(dict); String result = template.parse(dict);
</pre></code>
And the result: And the result:
<code><pre>
<html> <html>
<body> <body>
This is my template. My favorite food is cookies. This is my template. My favorite food is cookies.
</body> </body>
</html> </html>
</pre></code>
advanced usage advanced usage
-------------- --------------
picotemplate can selectively show areas of static content, called "sections". picotemplate can selectively show areas of static content, called "sections".
It can also loop over these sections using child dictionaries. Consider the It can also loop over these sections using child dictionaries. Consider the
following example: following example:
<code><pre>
<html> <html>
<body> <body>
{{FAVORITE_SHOW}} is probably my favorite show. {{FAVORITE_SHOW}} is probably my favorite show.
{{#GOODSHOWS}} {{#GOODSHOWS}}
{{SHOW}} is pretty good, too.. {{SHOW}} is pretty good, too..
{{/GOODSHOWS}} {{/GOODSHOWS}}
</body> </body>
</html> </html>
</pre></code>
Create your template and template dictionary as usual: Create your template and template dictionary as usual:
<code><pre>
Template template = new Template(new File("mytemplate.tpl")); Template template = new Template(new File("mytemplate.tpl"));
TemplateDictionary dict = new TemplateDictionary(); TemplateDictionary dict = new TemplateDictionary();
</pre></code>
Define our favorite show: Define our favorite show:
<code><pre>
dict.put("favorite_show", "Happy Days"); dict.put("favorite_show", "Happy Days");
</pre></code>
Now show the section called "goodshows" (Sections are by default hidden, and Now show the section called "goodshows" (Sections are by default hidden, and
must be explicitly told to be shown): must be explicitly told to be shown):
<code><pre>
dict.show("goodshows"); dict.show("goodshows");
</pre></code>
And add some shows for it to loop over: And add some shows for it to loop over:
<code><pre>
TemplateDictionary child1 = dict.createChild("goodshows"); TemplateDictionary child1 = dict.createChild("goodshows");
child1.put("show", "M.A.S.H"); child1.put("show", "M.A.S.H");
TemplateDictionary child2 = dict.createChild("goodshows"); TemplateDictionary child2 = dict.createChild("goodshows");
child2.put("show", "A-Team"); child2.put("show", "A-Team");
</pre></code>
And the result: And the result:
<code><pre>
<html> <html>
<body> <body>
Happy Days is probably my favorite show. Happy Days is probably my favorite show.
@ -110,5 +99,4 @@ And the result:
A-Team is pretty good, too.. A-Team is pretty good, too..
</body> </body>
</html> </html>
</pre></code>