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