tenjin 0.6.2 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.txt +163 -0
- data/MIT-LICENSE +16 -17
- data/README.txt +5 -5
- data/benchmark/Makefile +9 -0
- data/benchmark/bench.rb +3 -2
- data/bin/rbtenjin +6 -3
- data/doc/docstyle.css +25 -4
- data/doc/users-guide.html +2088 -1563
- data/lib/tenjin.rb +784 -158
- data/public_html/_layout.rbhtml +33 -0
- data/public_html/css/style.css +77 -0
- data/public_html/env.rbhtml +15 -0
- data/public_html/favicon.ico +0 -0
- data/public_html/hello.rbhtml +14 -0
- data/public_html/index.rbhtml +39 -0
- data/public_html/rbtenjin.cgi +188 -0
- data/tenjin.gemspec +9 -6
- data/test/data/examples/preprocessing/main.rb +1 -1
- data/test/data/examples/preprocessing/select.rbhtml +1 -1
- data/test/data/faq/{ex11-bench.rb → ex10-bench.rb} +3 -3
- data/test/data/faq/ex10-content.rbhtml +8 -11
- data/test/data/faq/{ex11-layout1.rbhtml → ex10-layout1.rbhtml} +0 -0
- data/test/data/faq/{ex11-layout2.rbhtml → ex10-layout2.rbhtml} +0 -0
- data/test/data/faq/{ex11.rb → ex10.rb} +1 -1
- data/test/data/faq/{ex11.rbhtml → ex10.rbhtml} +0 -0
- data/test/data/faq/{ex11.source → ex10.source} +2 -2
- data/test/data/faq/{ex11_arraybuffer.result → ex10_arraybuffer.result} +1 -1
- data/test/data/faq/{ex5.rbhtml → ex2.rbhtml} +0 -0
- data/test/data/faq/{ex5_template_args.source → ex2_template_args.source} +1 -1
- data/test/data/faq/{ex7-expr-pattern.rb → ex4-expr-pattern.rb} +1 -1
- data/test/data/faq/{ex7-expr-pattern.rbhtml → ex4-expr-pattern.rbhtml} +0 -0
- data/test/data/faq/{ex7_expr_pattern.result → ex4_expr_pattern.result} +1 -1
- data/test/data/faq/{ex6-content.rhtml → ex5-content.rhtml} +0 -0
- data/test/data/faq/{ex6-layout.rhtml → ex5-layout.rhtml} +0 -0
- data/test/data/faq/{ex6.rb → ex5.rb} +2 -2
- data/test/data/faq/{ex6_eruby.result → ex5_eruby.result} +1 -1
- data/test/data/faq/{ex2-content.rbhtml → ex6-content.rbhtml} +0 -0
- data/test/data/faq/{ex2-layout.rbhtml → ex6-layout.rbhtml} +0 -0
- data/test/data/faq/{ex2_removenl.result → ex6_removenl.result} +1 -1
- data/test/data/faq/ex7-m18n.rb +48 -0
- data/test/data/faq/{ex8-m18n.rbhtml → ex7-m18n.rbhtml} +0 -0
- data/test/data/faq/{ex8_m18n.result → ex7_m18n.result} +1 -1
- data/test/data/faq/ex8-baselayout.rbhtml +8 -0
- data/test/data/faq/ex8-content.rbhtml +6 -0
- data/test/data/faq/{ex9-mylayout.rbhtml → ex8-mylayout.rbhtml} +0 -0
- data/test/data/faq/{ex9_changelayout.result → ex8_changelayout.result} +1 -1
- data/test/data/faq/ex9-baselayout.rbhtml +24 -5
- data/test/data/faq/ex9-content.rbhtml +12 -6
- data/test/data/faq/{ex10-customlayout.rbhtml → ex9-customlayout.rbhtml} +1 -1
- data/test/data/faq/{ex10_inherit.result → ex9_inherit.result} +1 -1
- data/test/data/faq/helpers1.rb +17 -0
- data/test/data/faq/helpers1.rbhtml +4 -0
- data/test/data/faq/helpers1.result +11 -0
- data/test/data/faq/helpers2.rb +21 -0
- data/test/data/faq/helpers2.rbhtml +4 -0
- data/test/data/faq/helpers2.result +11 -0
- data/test/data/faq/weekday1.rb +6 -0
- data/test/data/faq/weekday1.rbhtml +9 -0
- data/test/data/faq/weekday1.result +23 -0
- data/test/data/faq/weekday2.rb +8 -0
- data/test/data/faq/weekday2.rbhtml +10 -0
- data/test/data/faq/weekday2.result +24 -0
- data/test/data/faq/weekday3.rb +22 -0
- data/test/data/faq/weekday3.rbhtml +3 -0
- data/test/data/faq/weekday3.result +28 -0
- data/test/data/users_guide/test_010/main.rb +14 -0
- data/test/data/users_guide/test_010/result.output +13 -0
- data/test/data/users_guide/test_010/views/page.rbhtml +11 -0
- data/test/data/users_guide/test_011/main.rb +14 -0
- data/test/data/users_guide/test_011/result.output +2 -0
- data/test/data/users_guide/test_011/views/page.rbhtml +11 -0
- data/test/data/users_guide/test_020/main.rb +14 -0
- data/test/data/users_guide/test_020/result.output +13 -0
- data/test/data/users_guide/test_020/views/page.rbhtml +11 -0
- data/test/data/users_guide/test_021/main.rb +12 -0
- data/test/data/users_guide/test_021/result.output +12 -0
- data/test/data/users_guide/test_021/views/page.rbhtml +11 -0
- data/test/data/users_guide/test_030/main.rb +14 -0
- data/test/data/users_guide/test_030/result.output +23 -0
- data/test/data/users_guide/test_030/views/_layout.rbhtml +10 -0
- data/test/data/users_guide/test_030/views/page.rbhtml +11 -0
- data/test/data/users_guide/test_040/main.rb +14 -0
- data/test/data/users_guide/test_040/result.output +23 -0
- data/test/data/users_guide/test_040/views/_layout.rbhtml +10 -0
- data/test/data/users_guide/test_040/views/page.rbhtml +12 -0
- data/test/data/users_guide/test_050/main.rb +14 -0
- data/test/data/users_guide/test_050/result.output +14 -0
- data/test/data/users_guide/test_050/views/_layout.rbhtml +10 -0
- data/test/data/users_guide/test_050/views/page.rbhtml +13 -0
- data/test/data/users_guide/test_051/main.rb +14 -0
- data/test/data/users_guide/test_051/result.output +12 -0
- data/test/data/users_guide/test_051/views/_layout.rbhtml +11 -0
- data/test/data/users_guide/test_051/views/page.rbhtml +13 -0
- data/test/data/users_guide/test_060/main.rb +14 -0
- data/test/data/users_guide/test_060/result.output +29 -0
- data/test/data/users_guide/test_060/views/_footer.rbhtml +3 -0
- data/test/data/users_guide/test_060/views/_header.rbhtml +3 -0
- data/test/data/users_guide/test_060/views/_layout.rbhtml +13 -0
- data/test/data/users_guide/test_060/views/page.rbhtml +13 -0
- data/test/data/users_guide/test_070/main.rb +14 -0
- data/test/data/users_guide/test_070/result.output +29 -0
- data/test/data/users_guide/test_070/views/_footer.rbhtml +3 -0
- data/test/data/users_guide/test_070/views/_header.rbhtml +3 -0
- data/test/data/users_guide/test_070/views/_layout.rbhtml +13 -0
- data/test/data/users_guide/test_070/views/page.rbhtml +13 -0
- data/test/data/users_guide/test_capturing/main.rb +24 -0
- data/test/data/users_guide/test_capturing/result.output +28 -0
- data/test/data/users_guide/test_capturing/views/_layout.rbhtml +21 -0
- data/test/data/users_guide/test_capturing/views/blog-post.rbhtml +13 -0
- data/test/data/users_guide/test_context/context.rb +5 -0
- data/test/data/users_guide/test_context/context.yaml +4 -0
- data/test/data/users_guide/test_context/example.rbhtml +5 -0
- data/test/data/users_guide/test_context/result1.output +6 -0
- data/test/data/users_guide/test_context/result2.output +6 -0
- data/test/data/users_guide/test_context/result3.output +6 -0
- data/test/data/users_guide/test_context/result4.output +6 -0
- data/test/data/users_guide/test_convert/example.rbhtml +5 -0
- data/test/data/users_guide/test_convert/result1.output +7 -0
- data/test/data/users_guide/test_convert/result2.output +6 -0
- data/test/data/users_guide/test_escape/main.rb +4 -0
- data/test/data/users_guide/test_escape/result.output +5 -0
- data/test/data/users_guide/test_escape/views/page.rbhtml +4 -0
- data/test/data/users_guide/test_execute/example.rbhtml +6 -0
- data/test/data/users_guide/test_execute/result.output +6 -0
- data/test/data/users_guide/test_fragmentcache/cache.d/items/1 +5 -0
- data/test/data/users_guide/test_fragmentcache/main.rb +21 -0
- data/test/data/users_guide/test_fragmentcache/result.output +8 -0
- data/test/data/users_guide/test_fragmentcache/result2.output +6 -0
- data/test/data/users_guide/test_fragmentcache/views/items.rbhtml +10 -0
- data/test/data/users_guide/test_logging/ex-logger.rb +11 -0
- data/test/data/users_guide/test_logging/example.rbhtml +0 -0
- data/test/data/users_guide/test_logging/result1.output +3 -0
- data/test/data/users_guide/test_logging/result2.output +2 -0
- data/test/data/users_guide/test_m17n/m17n.rb +44 -0
- data/test/data/users_guide/test_m17n/m17n.rbhtml +5 -0
- data/test/data/users_guide/test_m17n/result.output +9 -0
- data/test/data/users_guide/test_m17n/result_en.output +4 -0
- data/test/data/users_guide/test_m17n/result_fr.output +4 -0
- data/test/data/users_guide/test_nested/main.rb +8 -0
- data/test/data/users_guide/test_nested/result.output +15 -0
- data/test/data/users_guide/test_nested/views/_blog_layout.rbhtml +5 -0
- data/test/data/users_guide/{layout8_html.rbhtml → test_nested/views/_site_layout.rbhtml} +0 -0
- data/test/data/users_guide/test_nested/views/blog_post.rbhtml +4 -0
- data/test/data/users_guide/test_preprocessing/pp-example1.rb +14 -0
- data/test/data/users_guide/test_preprocessing/result1a.output +11 -0
- data/test/data/users_guide/test_preprocessing/result1b.output +5 -0
- data/test/data/users_guide/test_preprocessing/result1c.output +6 -0
- data/test/data/users_guide/test_preprocessing/result2a.output +10 -0
- data/test/data/users_guide/test_preprocessing/result2b.output +10 -0
- data/test/data/users_guide/test_preprocessing/result3a.output +2 -0
- data/test/data/users_guide/test_preprocessing/result3b.output +2 -0
- data/test/data/users_guide/test_preprocessing/views/pp-example1.rbhtml +4 -0
- data/test/data/users_guide/{example12.rbhtml → test_preprocessing/views/pp-example2.rbhtml} +4 -4
- data/test/data/users_guide/test_preprocessing/views/pp-example3.rbhtml +7 -0
- data/test/data/users_guide/test_retrieve/example.rbhtml +10 -0
- data/test/data/users_guide/test_retrieve/result1.output +11 -0
- data/test/data/users_guide/test_retrieve/result2.output +11 -0
- data/test/data/users_guide/test_retrieve/result3.output +11 -0
- data/test/data/users_guide/test_retrieve/result4.output +8 -0
- data/test/data/users_guide/test_retrieve/result5.output +5 -0
- data/test/data/users_guide/test_safe/result.output +6 -0
- data/test/data/users_guide/test_safe/safe-test.rb +21 -0
- data/test/data/users_guide/test_safehelper/main.rb +16 -0
- data/test/data/users_guide/test_safehelper/result.output +8 -0
- data/test/data/users_guide/{example3.rbhtml → test_syntax_check/example.rbhtml} +0 -0
- data/test/data/users_guide/test_syntax_check/result.output +2 -0
- data/test/data/users_guide/test_trace/layout.rbhtml +7 -0
- data/test/data/users_guide/test_trace/main.rbhtml +5 -0
- data/test/data/users_guide/test_trace/result.output +16 -0
- data/test/data/users_guide/test_trace/trace-example.rb +4 -0
- data/test/oktest.rb +755 -0
- data/test/test_all.rb +24 -14
- data/test/test_engine.rb +628 -63
- data/test/test_engine.yaml +40 -3
- data/test/test_examples.rb +14 -12
- data/test/test_faq.rb +17 -12
- data/test/test_htmlhelper.rb +104 -33
- data/test/test_main.rb +32 -21
- data/test/test_main.yaml +2 -2
- data/test/test_safe.rb +206 -0
- data/test/test_store.rb +220 -0
- data/test/test_tcache.rb +94 -0
- data/test/test_template.rb +65 -23
- data/test/test_template.yaml +7 -7
- data/test/test_users_guide.rb +75 -29
- data/test/testcase-helper.rb +20 -18
- data/test/testunit-assertions.rb +71 -0
- metadata +185 -159
- data/doc-api/classes/Tenjin.html +0 -141
- data/doc-api/classes/Tenjin/ArrayBufferTemplate.html +0 -270
- data/doc-api/classes/Tenjin/BaseContext.html +0 -329
- data/doc-api/classes/Tenjin/Context.html +0 -126
- data/doc-api/classes/Tenjin/ContextHelper.html +0 -461
- data/doc-api/classes/Tenjin/Engine.html +0 -616
- data/doc-api/classes/Tenjin/ErubisTemplate.html +0 -166
- data/doc-api/classes/Tenjin/HtmlHelper.html +0 -359
- data/doc-api/classes/Tenjin/Preprocessor.html +0 -242
- data/doc-api/classes/Tenjin/Template.html +0 -916
- data/doc-api/created.rid +0 -1
- data/doc-api/files/README_txt.html +0 -188
- data/doc-api/files/lib/tenjin_rb.html +0 -136
- data/doc-api/fr_class_index.html +0 -36
- data/doc-api/fr_file_index.html +0 -28
- data/doc-api/fr_method_index.html +0 -91
- data/doc-api/index.html +0 -24
- data/doc-api/rdoc-style.css +0 -208
- data/doc/examples.html +0 -312
- data/doc/faq.html +0 -909
- data/examples/preprocessing/select.rbhtml.cache +0 -17
- data/test/Rookbook.yaml +0 -14
- data/test/assert-text-equal.rb +0 -45
- data/test/data/faq/ex10-baselayout.rbhtml +0 -27
- data/test/data/faq/ex11-content.rbhtml +0 -9
- data/test/data/faq/ex8-m18n.rb +0 -77
- data/test/data/users_guide/content6.rbhtml +0 -3
- data/test/data/users_guide/content7.rbhtml +0 -5
- data/test/data/users_guide/content8.rbhtml +0 -2
- data/test/data/users_guide/contextdata.rb +0 -7
- data/test/data/users_guide/datafile.rb +0 -5
- data/test/data/users_guide/datafile.yaml +0 -10
- data/test/data/users_guide/ex.rbhtml +0 -6
- data/test/data/users_guide/ex.result +0 -7
- data/test/data/users_guide/ex.script +0 -5
- data/test/data/users_guide/ex_script.result +0 -7
- data/test/data/users_guide/ex_source.result +0 -8
- data/test/data/users_guide/example1.rbhtml +0 -12
- data/test/data/users_guide/example1.result +0 -17
- data/test/data/users_guide/example10.rbhtml +0 -4
- data/test/data/users_guide/example10_template_args.result +0 -6
- data/test/data/users_guide/example11.rbhtml +0 -5
- data/test/data/users_guide/example11_template_args_result +0 -2
- data/test/data/users_guide/example12_preprocessed.result +0 -10
- data/test/data/users_guide/example12_preprocessed_source.result +0 -10
- data/test/data/users_guide/example13.rbhtml +0 -6
- data/test/data/users_guide/example13_preprocessed.result +0 -2
- data/test/data/users_guide/example13_preprocessed_source.result +0 -2
- data/test/data/users_guide/example14.rb +0 -32
- data/test/data/users_guide/example14.rbhtml +0 -6
- data/test/data/users_guide/example14_tmplclass.result +0 -15
- data/test/data/users_guide/example15.rb +0 -10
- data/test/data/users_guide/example15_escapefunc.result +0 -14
- data/test/data/users_guide/example16.rbhtml +0 -4
- data/test/data/users_guide/example16a.rb +0 -10
- data/test/data/users_guide/example16a.result +0 -4
- data/test/data/users_guide/example16b.rb +0 -13
- data/test/data/users_guide/example16b.result +0 -4
- data/test/data/users_guide/example16c.rb +0 -12
- data/test/data/users_guide/example16c.result +0 -4
- data/test/data/users_guide/example16d.rb +0 -27
- data/test/data/users_guide/example16d.result +0 -4
- data/test/data/users_guide/example1_S.result +0 -14
- data/test/data/users_guide/example1_SXNC.result +0 -10
- data/test/data/users_guide/example1_source.result +0 -14
- data/test/data/users_guide/example2.rbhtml +0 -3
- data/test/data/users_guide/example2_sb.result2 +0 -9
- data/test/data/users_guide/example3_syntaxcheck.result +0 -2
- data/test/data/users_guide/example4.rbhtml +0 -13
- data/test/data/users_guide/example4_datafile_rb.result +0 -13
- data/test/data/users_guide/example4_yaml.result +0 -13
- data/test/data/users_guide/example5.rbhtml +0 -9
- data/test/data/users_guide/example5_datastr_rb.result +0 -9
- data/test/data/users_guide/example5_datastr_yaml.result +0 -9
- data/test/data/users_guide/example6.rbhtml +0 -19
- data/test/data/users_guide/example6_layout.result +0 -29
- data/test/data/users_guide/example6_nested.result +0 -28
- data/test/data/users_guide/example7_layout2.result +0 -13
- data/test/data/users_guide/example8_layout3.result +0 -8
- data/test/data/users_guide/example9.rbhtml +0 -18
- data/test/data/users_guide/example9_capture.result +0 -26
- data/test/data/users_guide/footer.html +0 -5
- data/test/data/users_guide/footer.rbhtml +0 -4
- data/test/data/users_guide/layout6.rbhtml +0 -17
- data/test/data/users_guide/layout7.rbhtml +0 -9
- data/test/data/users_guide/layout8_xhtml.rbhtml +0 -6
- data/test/data/users_guide/layout9.rbhtml +0 -25
- data/test/data/users_guide/sidemenu.rbhtml +0 -5
- data/test/data/users_guide/user_app.cgi +0 -39
- data/test/data/users_guide/user_app.result +0 -30
- data/test/data/users_guide/user_create.rbhtml +0 -6
- data/test/data/users_guide/user_edit.rbhtml +0 -7
- data/test/data/users_guide/user_form.rbhtml +0 -10
- data/test/data/users_guide/user_layout.rbhtml +0 -16
@@ -0,0 +1,28 @@
|
|
1
|
+
$ ruby weekday3.rb
|
2
|
+
***** preprocessed *****
|
3
|
+
_buf << %Q`<form>\n`
|
4
|
+
_selected = { (@params['weekday']).to_s => ' selected="selected"' }
|
5
|
+
_buf << %Q`<select name="weekday">
|
6
|
+
<option>-</option>
|
7
|
+
<option value="1"#{_selected['1']}>Sun</option>
|
8
|
+
<option value="2"#{_selected['2']}>Mon</option>
|
9
|
+
<option value="3"#{_selected['3']}>Tue</option>
|
10
|
+
<option value="4"#{_selected['4']}>Wed</option>
|
11
|
+
<option value="5"#{_selected['5']}>Thu</option>
|
12
|
+
<option value="6"#{_selected['6']}>Fri</option>
|
13
|
+
<option value="7"#{_selected['7']}>Sat</option>
|
14
|
+
</select>
|
15
|
+
</form>\n`
|
16
|
+
***** output *****
|
17
|
+
<form>
|
18
|
+
<select name="weekday">
|
19
|
+
<option>-</option>
|
20
|
+
<option value="1">Sun</option>
|
21
|
+
<option value="2">Mon</option>
|
22
|
+
<option value="3" selected="selected">Tue</option>
|
23
|
+
<option value="4">Wed</option>
|
24
|
+
<option value="5">Thu</option>
|
25
|
+
<option value="6">Fri</option>
|
26
|
+
<option value="7">Sat</option>
|
27
|
+
</select>
|
28
|
+
</form>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'tenjin'
|
2
|
+
|
3
|
+
## context data
|
4
|
+
context = {
|
5
|
+
:title => 'Tenjin Example',
|
6
|
+
:items => ['<AAA>', 'B&B', '"CCC"'],
|
7
|
+
}
|
8
|
+
|
9
|
+
## create engine object
|
10
|
+
engine = Tenjin::Engine.new(:path=>['views'])
|
11
|
+
|
12
|
+
## render template with context data
|
13
|
+
html = engine.render('page.rbhtml', context)
|
14
|
+
print html
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'tenjin'
|
2
|
+
|
3
|
+
## context data
|
4
|
+
context = {
|
5
|
+
:title => 'Tenjin Example',
|
6
|
+
:items => ['<AAA>', 'B&B', '"CCC"'],
|
7
|
+
}
|
8
|
+
|
9
|
+
## create engine object
|
10
|
+
engine = Tenjin::Engine.new(:path=>['views'])
|
11
|
+
|
12
|
+
## render template with context data
|
13
|
+
html = engine.render('page.rbhtml', context)
|
14
|
+
print html
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'tenjin'
|
2
|
+
|
3
|
+
## context data
|
4
|
+
context = {
|
5
|
+
:title => 'Tenjin Example',
|
6
|
+
:items => ['<AAA>', 'B&B', '"CCC"'],
|
7
|
+
}
|
8
|
+
|
9
|
+
## create engine object
|
10
|
+
engine = Tenjin::Engine.new(:path=>['views'])
|
11
|
+
|
12
|
+
## render template with context data
|
13
|
+
html = engine.render('page.rbhtml', context)
|
14
|
+
print html
|
@@ -0,0 +1,13 @@
|
|
1
|
+
$ rbtenjin -s views/page.rbhtml
|
2
|
+
_buf = ''; _buf << %Q`<h2>#{escape((@title).to_s)}</h2>
|
3
|
+
<table>\n`
|
4
|
+
i = 0
|
5
|
+
for item in @items
|
6
|
+
i += 1
|
7
|
+
klass = i % 2 == 1 ? 'odd' : 'even'
|
8
|
+
_buf << %Q` <tr class="#{klass}">
|
9
|
+
<td>#{escape((item).to_s)}</td>
|
10
|
+
</tr>\n`
|
11
|
+
end
|
12
|
+
_buf << %Q`</table>\n`
|
13
|
+
_buf.to_s
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'tenjin'
|
2
|
+
template = Tenjin::Template.new('views/page.rbhtml')
|
3
|
+
puts template.script
|
4
|
+
|
5
|
+
### or:
|
6
|
+
#template = Tenjin::Template.new
|
7
|
+
#filename = 'views/page.rbhtml'
|
8
|
+
#print(template.convert(File.read(filename), filename))
|
9
|
+
|
10
|
+
### or:
|
11
|
+
#engine = Tenjin::Engine.new(:path=>['views'])
|
12
|
+
#print(engine.get_template('page.rbhtml').script)
|
@@ -0,0 +1,12 @@
|
|
1
|
+
$ ruby main.rb
|
2
|
+
_buf << %Q`<h2>#{escape((@title).to_s)}</h2>
|
3
|
+
<table>\n`
|
4
|
+
i = 0
|
5
|
+
for item in @items
|
6
|
+
i += 1
|
7
|
+
klass = i % 2 == 1 ? 'odd' : 'even'
|
8
|
+
_buf << %Q` <tr class="#{klass}">
|
9
|
+
<td>#{escape((item).to_s)}</td>
|
10
|
+
</tr>\n`
|
11
|
+
end
|
12
|
+
_buf << %Q`</table>\n`
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'tenjin'
|
2
|
+
|
3
|
+
## context data
|
4
|
+
context = {
|
5
|
+
:title => 'Tenjin Example',
|
6
|
+
:items => ['<AAA>', 'B&B', '"CCC"'],
|
7
|
+
}
|
8
|
+
|
9
|
+
## cleate engine object
|
10
|
+
engine = Tenjin::Engine.new(:path=>['views'], :layout=>'_layout.rbhtml')
|
11
|
+
|
12
|
+
## render template with context data
|
13
|
+
html = engine.render('page.rbhtml', context)
|
14
|
+
print html
|
@@ -0,0 +1,23 @@
|
|
1
|
+
$ ruby main.rb
|
2
|
+
<!DOCTYPE>
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
6
|
+
<title>Tenjin Example</title>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<h2>Tenjin Example</h2>
|
10
|
+
<table>
|
11
|
+
<tr class="odd">
|
12
|
+
<td><AAA></td>
|
13
|
+
</tr>
|
14
|
+
<tr class="even">
|
15
|
+
<td>B&B</td>
|
16
|
+
</tr>
|
17
|
+
<tr class="odd">
|
18
|
+
<td>"CCC"</td>
|
19
|
+
</tr>
|
20
|
+
</table>
|
21
|
+
|
22
|
+
</body>
|
23
|
+
</html>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'tenjin'
|
2
|
+
|
3
|
+
## context data
|
4
|
+
context = {
|
5
|
+
:title => 'Tenjin Example',
|
6
|
+
:items => ['<AAA>', 'B&B', '"CCC"'],
|
7
|
+
}
|
8
|
+
|
9
|
+
## cleate engine object
|
10
|
+
engine = Tenjin::Engine.new(:path=>['views'], :layout=>'_layout.rbhtml')
|
11
|
+
|
12
|
+
## render template with context data
|
13
|
+
html = engine.render('page.rbhtml', context)
|
14
|
+
print html
|
@@ -0,0 +1,23 @@
|
|
1
|
+
$ ruby main.rb
|
2
|
+
<!DOCTYPE>
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
6
|
+
<title>Tenjin: Layout Template Example</title>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<h2>Tenjin Example</h2>
|
10
|
+
<table>
|
11
|
+
<tr class="odd">
|
12
|
+
<td><AAA></td>
|
13
|
+
</tr>
|
14
|
+
<tr class="even">
|
15
|
+
<td>B&B</td>
|
16
|
+
</tr>
|
17
|
+
<tr class="odd">
|
18
|
+
<td>"CCC"</td>
|
19
|
+
</tr>
|
20
|
+
</table>
|
21
|
+
|
22
|
+
</body>
|
23
|
+
</html>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<?rb @page_title = 'Tenjin: Layout Template Example' ?>
|
2
|
+
<h2>${@title}</h2>
|
3
|
+
<table>
|
4
|
+
<?rb i = 0 ?>
|
5
|
+
<?rb for item in @items ?>
|
6
|
+
<?rb i += 1 ?>
|
7
|
+
<?rb klass = i % 2 == 1 ? 'odd' : 'even' ?>
|
8
|
+
<tr class="#{klass}">
|
9
|
+
<td>${item}</td>
|
10
|
+
</tr>
|
11
|
+
<?rb end ?>
|
12
|
+
</table>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'tenjin'
|
2
|
+
|
3
|
+
## context data
|
4
|
+
context = {
|
5
|
+
:title => 'Tenjin Example',
|
6
|
+
:items => ['<AAA>', 'B&B', '"CCC"'],
|
7
|
+
}
|
8
|
+
|
9
|
+
## cleate engine object
|
10
|
+
engine = Tenjin::Engine.new(:path=>['views'], :layout=>'_layout.rbhtml')
|
11
|
+
|
12
|
+
## render template with context data
|
13
|
+
html = engine.render('page.rbhtml', context)
|
14
|
+
print html
|
@@ -0,0 +1,14 @@
|
|
1
|
+
$ rbtenjin -sb views/page.rbhtml
|
2
|
+
title = @title; items = @items;
|
3
|
+
@page_title = 'Tenjin: Layout Template Example'
|
4
|
+
_buf << %Q`<h2>#{escape((title).to_s)}</h2>
|
5
|
+
<table>\n`
|
6
|
+
i = 0
|
7
|
+
for item in items
|
8
|
+
i += 1
|
9
|
+
klass = i % 2 == 1 ? 'odd' : 'even'
|
10
|
+
_buf << %Q` <tr class="#{klass}">
|
11
|
+
<td>#{escape((item).to_s)}</td>
|
12
|
+
</tr>\n`
|
13
|
+
end
|
14
|
+
_buf << %Q`</table>\n`
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<?rb #@ARGS title, items ?>
|
2
|
+
<?rb @page_title = 'Tenjin: Layout Template Example' ?>
|
3
|
+
<h2>${title}</h2>
|
4
|
+
<table>
|
5
|
+
<?rb i = 0 ?>
|
6
|
+
<?rb for item in items ?>
|
7
|
+
<?rb i += 1 ?>
|
8
|
+
<?rb klass = i % 2 == 1 ? 'odd' : 'even' ?>
|
9
|
+
<tr class="#{klass}">
|
10
|
+
<td>${item}</td>
|
11
|
+
</tr>
|
12
|
+
<?rb end ?>
|
13
|
+
</table>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'tenjin'
|
2
|
+
|
3
|
+
## context data
|
4
|
+
context = {
|
5
|
+
:title => 'Tenjin Example',
|
6
|
+
:items => ['<AAA>', 'B&B', '"CCC"'],
|
7
|
+
}
|
8
|
+
|
9
|
+
## cleate engine object
|
10
|
+
engine = Tenjin::Engine.new(:path=>['views'], :layout=>'_layout.rbhtml')
|
11
|
+
|
12
|
+
## render template with context data
|
13
|
+
html = engine.render('page.rbhtml', context)
|
14
|
+
print html
|
@@ -0,0 +1,12 @@
|
|
1
|
+
$ rbtenjin -sb views/_layout.rbhtml
|
2
|
+
_content = @_content; page_title = @page_title;
|
3
|
+
_buf << %Q`<!DOCTYPE>
|
4
|
+
<html>
|
5
|
+
<head>
|
6
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
7
|
+
<title>#{escape((@page_title).to_s)}</title>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
#{@_content}
|
11
|
+
</body>
|
12
|
+
</html>\n`
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<?rb #@ARGS title, items ?>
|
2
|
+
<?rb @page_title = 'Tenjin: Layout Template Example' ?>
|
3
|
+
<h2>${title}</h2>
|
4
|
+
<table>
|
5
|
+
<?rb i = 0 ?>
|
6
|
+
<?rb for item in items ?>
|
7
|
+
<?rb i += 1 ?>
|
8
|
+
<?rb klass = i % 2 == 1 ? 'odd' : 'even' ?>
|
9
|
+
<tr class="#{klass}">
|
10
|
+
<td>${item}</td>
|
11
|
+
</tr>
|
12
|
+
<?rb end ?>
|
13
|
+
</table>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'tenjin'
|
2
|
+
|
3
|
+
## context data
|
4
|
+
context = {
|
5
|
+
:title => 'Tenjin Example',
|
6
|
+
:items => ['<AAA>', 'B&B', '"CCC"'],
|
7
|
+
}
|
8
|
+
|
9
|
+
## cleate engine object
|
10
|
+
engine = Tenjin::Engine.new(:path=>['views'], :layout=>'_layout.rbhtml')
|
11
|
+
|
12
|
+
## render template with context data
|
13
|
+
html = engine.render('page.rbhtml', context)
|
14
|
+
print html
|