ember 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/HISTORY +79 -0
- data/INSTALL +31 -0
- data/MANUAL +25 -0
- data/README +54 -0
- data/THEORY +151 -0
- data/USAGE +250 -0
- data/bin/ember +58 -20
- data/doc/ann.xml +93 -0
- data/doc/api/Ember.html +436 -0
- data/doc/api/Ember/Template.html +774 -0
- data/doc/api/Ember/Template/Program.html +877 -0
- data/doc/api/Ember/Template/Program/Statement.html +181 -0
- data/doc/api/_index.html +139 -0
- data/doc/api/class_list.html +36 -0
- data/doc/api/css/common.css +1 -0
- data/doc/api/css/full_list.css +50 -0
- data/doc/api/css/style.css +273 -0
- data/doc/api/file.LICENSE.html +73 -0
- data/doc/api/file_list.html +38 -0
- data/doc/api/frames.html +13 -0
- data/doc/api/index.html +72 -13
- data/doc/api/js/app.js +111 -0
- data/doc/api/js/full_list.js +117 -0
- data/doc/api/js/{jquery-1.3.2.min.js → jquery.js} +0 -0
- data/doc/api/method_list.html +179 -0
- data/doc/api/top-level-namespace.html +87 -0
- data/doc/index.html +1353 -682
- data/inochi.opts +31 -0
- data/lib/ember.rb +1 -15
- data/lib/ember/inochi.rb +103 -0
- data/lib/ember/template.rb +66 -78
- data/test/combinatorics.rb +188 -0
- data/test/ember/template_test.rb +137 -0
- data/test/runner +25 -0
- data/test/test_helper.rb +5 -0
- metadata +61 -51
- data/doc/api/apple-touch-icon.png +0 -0
- data/doc/api/classes/Ember.html +0 -61
- data/doc/api/classes/Ember/Template.html +0 -413
- data/doc/api/classes/Ember/Template/Program.html +0 -60
- data/doc/api/created.rid +0 -1
- data/doc/api/css/main.css +0 -263
- data/doc/api/css/panel.css +0 -383
- data/doc/api/css/reset.css +0 -53
- data/doc/api/favicon.ico +0 -0
- data/doc/api/files/LICENSE.html +0 -76
- data/doc/api/files/lib/ember/template_rb.html +0 -66
- data/doc/api/files/lib/ember_rb.html +0 -63
- data/doc/api/i/arrows.png +0 -0
- data/doc/api/i/results_bg.png +0 -0
- data/doc/api/i/tree_bg.png +0 -0
- data/doc/api/js/jquery-effect.js +0 -593
- data/doc/api/js/main.js +0 -22
- data/doc/api/js/searchdoc.js +0 -628
- data/doc/api/panel/index.html +0 -71
- data/doc/api/panel/search_index.js +0 -1
- data/doc/api/panel/tree.js +0 -1
- data/doc/history.erb +0 -34
- data/doc/index.erb +0 -11
- data/doc/intro.erb +0 -53
- data/doc/setup.erb +0 -78
- data/doc/usage.erb +0 -280
- data/rakefile +0 -14
- data/test/ember.rb +0 -17
- data/test/ember/template.rb +0 -141
@@ -0,0 +1,87 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta name="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>Top Level Namespace</title>
|
7
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
|
8
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
9
|
+
|
10
|
+
<script type="text/javascript" charset="utf-8">
|
11
|
+
relpath = '';
|
12
|
+
if (relpath != '') relpath += '/';
|
13
|
+
</script>
|
14
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
15
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
16
|
+
|
17
|
+
</head>
|
18
|
+
<body>
|
19
|
+
<script type="text/javascript" charset="utf-8">
|
20
|
+
if (window.top.frames.main) document.body.className = 'frames';
|
21
|
+
</script>
|
22
|
+
|
23
|
+
<div id="header">
|
24
|
+
<div id="menu">
|
25
|
+
|
26
|
+
<a href="_index.html">Index</a> »
|
27
|
+
|
28
|
+
|
29
|
+
<span class="title">Top Level Namespace</span>
|
30
|
+
|
31
|
+
|
32
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="search">
|
36
|
+
<a id="class_list_link" href="#">Class List</a>
|
37
|
+
<a id="method_list_link" href="#">Method List</a>
|
38
|
+
<a id ="file_list_link" href="#">File List</a>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div class="clear"></div>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<iframe id="search_frame"></iframe>
|
45
|
+
|
46
|
+
<div id="content"><h1>Top Level Namespace
|
47
|
+
|
48
|
+
|
49
|
+
</h1>
|
50
|
+
|
51
|
+
<dl class="box">
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
</dl>
|
61
|
+
<div class="clear"></div>
|
62
|
+
|
63
|
+
<h2>Defined Under Namespace</h2>
|
64
|
+
<p class="children">
|
65
|
+
|
66
|
+
|
67
|
+
<strong class="modules">Modules:</strong> <a href="Ember.html" title="Ember (module)">Ember</a>
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
</p>
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
</div>
|
79
|
+
|
80
|
+
<div id="footer">
|
81
|
+
Generated on Sat Apr 3 14:23:18 2010 by
|
82
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
|
83
|
+
0.5.4 (ruby-1.9.1).
|
84
|
+
</div>
|
85
|
+
|
86
|
+
</body>
|
87
|
+
</html>
|
data/doc/index.html
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
|
3
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
3
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
4
4
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
5
5
|
<head>
|
6
6
|
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
7
7
|
|
8
|
-
<meta name="generator" content="ERBook
|
8
|
+
<meta name="generator" content="ERBook 9.2.1 (2009-11-18) — http://snk.tuxfamily.org/lib/erbook/"/>
|
9
9
|
|
10
|
-
<title>Ember
|
10
|
+
<title>Ember — eRuby template processor</title>
|
11
11
|
|
12
12
|
<meta name="author" content="Suraj N. Kurapati"/>
|
13
13
|
|
14
|
-
<meta name="date" content="03
|
14
|
+
<meta name="date" content="03 April 2010"/>
|
15
15
|
|
16
|
-
<link rel="alternate" type="application/rss+xml" href="
|
16
|
+
<link rel="alternate" type="application/rss+xml" href="ann.xml"/>
|
17
17
|
|
18
18
|
<style type="text/css" media="screen">
|
19
19
|
/*<![CDATA[*/
|
@@ -69,25 +69,25 @@
|
|
69
69
|
----------------------------------*/
|
70
70
|
.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
|
71
71
|
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
|
72
|
-
.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url("data:
|
72
|
+
.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABkCAYAAAD0ZHJ6AAAAeUlEQVRoge3OMQHAIBAAsVL/nh8JDDfAkCjImpn5HvbfDpwIVoKVYCVYCVaClWAlWAlWgpVgJVgJVoKVYCVYCVaClWAlWAlWgpVgJVgJVoKVYCVYCVaClWAlWAlWgpVgJVgJVoKVYCVYCVaClWAlWAlWgpVgJVgJVhtqiwTEKTLXTgAAAABJRU5ErkJggg==") 50% 50% repeat-x; color: #222222; }
|
73
73
|
.ui-widget-content a { color: #222222; }
|
74
|
-
.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url("data:
|
74
|
+
.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAYAAABHLFpgAAAALElEQVQYlWN49OjRfyYGBgaGIUT8//8fSqBx0Yh///4RL8vAwAAVQ2MNOwIAl6g6KkOJwk8AAAAASUVORK5CYII=") 50% 50% repeat-x; color: #222222; font-weight: bold; }
|
75
75
|
.ui-widget-header a { color: #222222; }
|
76
76
|
|
77
77
|
/* Interaction states
|
78
78
|
----------------------------------*/
|
79
|
-
.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url("data:
|
79
|
+
.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAANUlEQVQ4je3LMQoAIBADwb38/6t5wFXaWAiCtUiaYZvF9hBACOFbuntVVe11B0CSjjeE8BwThQIJ8dhEl0YAAAAASUVORK5CYII=") 50% 50% repeat-x; font-weight: normal; color: #555555; outline: none; }
|
80
80
|
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; outline: none; }
|
81
|
-
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #999999; background: #dadada url("data:
|
81
|
+
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #999999; background: #dadada url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAANklEQVQ4jWN48uTJfyYGBgaGUWKUGCWGLfHt2zcoi5GREYNgYmJCZiG42IiB98woMUqMEtgIAMdjCdyg+eEBAAAAAElFTkSuQmCC") 50% 50% repeat-x; font-weight: normal; color: #212121; outline: none; }
|
82
82
|
.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; outline: none; }
|
83
|
-
.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url("data:
|
83
|
+
.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAMElEQVQ4je3LIQ4AIBTD0O3f/8wrFgmKhMy8pKJKwkhSKeVbbGuAPU9f4PIopTxgAeS0DRtI4yK0AAAAAElFTkSuQmCC") 50% 50% repeat-x; font-weight: normal; color: #212121; outline: none; }
|
84
84
|
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; outline: none; text-decoration: none; }
|
85
85
|
|
86
86
|
/* Interaction Cues
|
87
87
|
----------------------------------*/
|
88
|
-
.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url("data:
|
88
|
+
.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAP0lEQVQ4je3PMQrAMABC0a/3v2zX0mCXNkOgc6C4PARd5DqPGKCU8luS8SbAQhiCQRgJE56kZTfbbP9RSvnkBsWcEAZRWcgqAAAAAElFTkSuQmCC") 50% 50% repeat-x; color: #363636; }
|
89
89
|
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; }
|
90
|
-
.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url("data:
|
90
|
+
.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAPklEQVQ4je3PMQqAMABD0Z/c/7aCIAXjJIhD10LJ8vgZw30eMUApZV/GhZNgSTjoLYElY/hNMJ/S6gullCkPiCIPCr4NiEwAAAAASUVORK5CYII=") 50% 50% repeat-x; color: #cd0a0a; }
|
91
91
|
.ui-state-error a, .ui-widget-content .ui-state-error a { color: #cd0a0a; }
|
92
92
|
.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #cd0a0a; }
|
93
93
|
.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
@@ -98,14 +98,14 @@
|
|
98
98
|
----------------------------------*/
|
99
99
|
|
100
100
|
/* states and images */
|
101
|
-
.ui-icon { width: 16px; height: 16px; background-image: url("data:
|
102
|
-
.ui-widget-content .ui-icon {background-image: url("data:
|
103
|
-
.ui-widget-header .ui-icon {background-image: url("data:
|
104
|
-
.ui-state-default .ui-icon { background-image: url("data:
|
105
|
-
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url("data:
|
106
|
-
.ui-state-active .ui-icon {background-image: url("data:
|
107
|
-
.ui-state-highlight .ui-icon {background-image: url("data:
|
108
|
-
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url("data:
|
101
|
+
.ui-icon { width: 16px; height: 16px; background-image: url("data:image/png;base64,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"); }
|
102
|
+
.ui-widget-content .ui-icon {background-image: url("data:image/png;base64,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"); }
|
103
|
+
.ui-widget-header .ui-icon {background-image: url("data:image/png;base64,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"); }
|
104
|
+
.ui-state-default .ui-icon { background-image: url("data:image/png;base64,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"); }
|
105
|
+
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUWG2rLCAAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg=="); }
|
106
|
+
.ui-state-active .ui-icon {background-image: url("data:image/png;base64,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"); }
|
107
|
+
.ui-state-highlight .ui-icon {background-image: url("data:image/png;base64,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"); }
|
108
|
+
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url("data:image/png;base64,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"); }
|
109
109
|
|
110
110
|
/* positioning */
|
111
111
|
.ui-icon-carat-1-n { background-position: 0 0; }
|
@@ -298,8 +298,8 @@
|
|
298
298
|
.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; }
|
299
299
|
|
300
300
|
/* Overlays */
|
301
|
-
.ui-widget-overlay { background: #aaaaaa url("data:
|
302
|
-
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url("data:
|
301
|
+
.ui-widget-overlay { background: #aaaaaa url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABkCAYAAAD0ZHJ6AAAAe0lEQVRoge3OMQHAIBAAMcC/kjdZJHTI0A4XBdkz86wfO18H3hRUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUF8O8A8WdY6opAAAAAElFTkSuQmCC") 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
|
302
|
+
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABkCAYAAAD0ZHJ6AAAAe0lEQVRoge3OMQHAIBAAMcC/kjdZJHTI0A4XBdkz86wfO18H3hRUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUF8O8A8WdY6opAAAAAElFTkSuQmCC") 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; }/* Accordion
|
303
303
|
----------------------------------*/
|
304
304
|
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
|
305
305
|
.ui-accordion .ui-accordion-li-fix { display: inline; }
|
@@ -416,7 +416,7 @@
|
|
416
416
|
----------------------------------*/
|
417
417
|
.ui-tabs { padding: .2em; zoom: 1; }
|
418
418
|
.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
|
419
|
-
.ui-tabs .ui-tabs-nav li { position: relative; float: left;
|
419
|
+
.ui-tabs .ui-tabs-nav li { position: relative; float: left; margin: 0 .2em -1px 0; padding: 0; }
|
420
420
|
.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; }
|
421
421
|
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; }
|
422
422
|
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
|
@@ -424,49 +424,388 @@
|
|
424
424
|
.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; }
|
425
425
|
.ui-tabs .ui-tabs-hide { display: none !important; }
|
426
426
|
|
427
|
-
|
428
|
-
.ui-widget
|
429
|
-
{
|
430
|
-
/* prevent nested widgets from having larger fonts */
|
431
|
-
font-size: 1em;
|
432
|
-
}
|
433
|
-
|
434
|
-
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a
|
435
|
-
{
|
436
|
-
cursor: pointer;
|
437
|
-
}
|
438
|
-
|
439
|
-
/* decorate external hyperlinks with a visual indicator */
|
440
|
-
a[href]:not([href^="#"])
|
441
|
-
{
|
442
|
-
background : url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D+PAAAAFVBMVEVmmcwzmcyZzP8AZswAZv////////9E6giVAAAAB3RSTlP///////8AGksDRgAAADhJREFUGFcly0ESAEAEA0Ei6/9P3sEcVB8kmrwFyni0bOeyyDpy9JTLEaOhQq7Ongf5FeMhHS/4AVnsAZubxDVmAAAAAElFTkSuQmCC");
|
443
|
-
background-position : center right;
|
444
|
-
background-repeat : no-repeat;
|
445
|
-
padding-right : 13px;
|
446
|
-
}
|
447
|
-
|
448
|
-
/* display icon for blockquote elements */
|
449
|
-
blockquote
|
450
|
-
{
|
451
|
-
background-image : url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAU3SURBVGiB7VlPaBRXHP5+82aTSLIrkY3YJR68VmuSPXlRPPQPGg05iD14sZfEUkpbPJQqQVJs0yQlkEDobaE9CaloTlI0InhYNOBi2yAFT0JxZW2ysn/cmTczvx4ym+7Ozs7uzK6kQj54zOzvzbz3fe/3583MEjPjbYay3QRaxY6A7caOgO2G2uoAExMTB4QQVy3LGrEsq+XxnFAUpcDMCVVVv71y5Ure2d/yhKqqLgwPDw8PDg6SEMLzWj8lu3ytlLLr9u3bXzx48OAlgJma+f3Rrcb4+HgoGo1+FI/HSUoJKWVDQpXnThsR1fSHQiEcP36849GjR2NtFxCLxYSu64qiKDBNsyXyAGBZVo3NNE2EQiEA2OU2dttj1gkvwn766+GNCvAi50eQF96IgCCrHVRQ2wW0Sq7tHhgfHw/FYrF69bELAAzDgGEYvsipqtoU+cA5MDExcUBV1Z/27t37vld97+rqEtPT056TOCGlRF9fH44dO4b9+/cHTmDAQ4AQ4uqpU6c+jMfj5Itdk0in07h27RrOnz+/ZWurByzLGjl8+DBpmlZVn5tBo/AhIuzbtw+GYSCfz6OnpycQ+UYCVCEEDMNoG/GKscHM6O7ursodv+Q9BfhBOypL0ErUsoBmCDda2WbKLTO75mJgAX43paB7QYWdiIjYsQK+X2gqB3WbqFmbc0wvQfZvBUC3815fHggaLl4hREQgoq1KV36kLh/LhYSZNQCdAKpeapoS0I5wqSciEokgEokgm80CAHbv3g0hxNY1hmHg3r17xvr6+q9u3BoKCLrCzfRJKTE3N2devHhRhMNh5HI5qKqKyclJSCl1+7bSxsbG8srKys8AXgcS4IzddnmEiEpPnjz5anFxcebChQvhPXv2AAA0TeOFhYUjxWJRBWAAKADYcBPQVBK3kqxeNgD86tWr35PJ5Oj8/PxGMpnUmRnRaLR09uzZAQAv7ZYB8I+zAgFtDiG/HiEi7u3tzV+/fn0tm82+p+v6lw8fPvyso6Ojo7+///uDBw8eWltbKwKo+7Ld0AOVIeRczRZXHwAgpRQA1GQy+Xp2dva7W7duHXr+/HnCNM2+EydOfAqAsLnQgohUIqri/EZDyE20Y1wqFoudAEI2SfXOnTvZqampr58+fTrAzO+cPn26z+ap2GIUKtdY1AkhIlIvX75cQ8rt6MfmNlWpVOqyyVU+8vLS0tLfAL5x2AGgasB6OdBJRKZpmnB+MqncdCptdlWpjO8tmxOKokBRFORyOWiaxrYAaZOz7GP53Ko4N5m5avIaAUQkAKi6rv+WSqVG4/G4UvlGJqVEPp+HEAKRSKSOfm9YloVnz56hUCi8XF1dTdvkpIN8pQDLrQK5CijrSCaT05ZldS4vL3/AzAIADQ0NWaOjoyoRIRwO4+7du3JlZUXA4dZGsPPhz8ePH/8AQLPb6zLxemRdibo8mxCAHrt1A+gAwGfOnDly7ty5xZGRkV0AsLq6Km/cuLGWSCQ+yWQymh8B+C8hS9jcpHLMXPPhthnUeICZmYh0bK4KAdABcCwWG+jv71dN08TNmzdLqVTqr6WlpY8zmUzN7uhDgG6LKAYhD7h4YKuDqBObn03EyZMno4ODg38cPXpUSaVShRcvXkwmEolfcrlc/Q+i3ignlQ6gyMxBx6m/EzOzZntCDAwM/AgA9+/fn02n01OJRKIQdEIbyuYUwYmXUdcDZVy6dOldZv7cNM3JmZmZdKsTth3OXdPZxsbGQo2u2c7W0AP/d7z1f/LtCNhu7AjYbrz1Av4F8/cV1apw1zkAAAAASUVORK5CYII=");
|
452
|
-
background-repeat : no-repeat;
|
453
|
-
margin-left : 0;
|
454
|
-
padding-left : 65px;
|
455
|
-
min-height : 50px;
|
456
|
-
}
|
457
427
|
/*]]>*/
|
458
428
|
</style>
|
459
429
|
|
430
|
+
|
431
|
+
|
460
432
|
<style type="text/css" media="all">
|
461
|
-
/*<![CDATA[*/body
|
433
|
+
/*<![CDATA[*/body {
|
434
|
+
color: #000000;
|
435
|
+
background-color: #FFFFFF;
|
436
|
+
line-height: 1.5em;
|
437
|
+
font-family: "DejaVu Sans", "Bitstream Vera Sans", "Calibri", "Verdana", sans-serif; }
|
438
|
+
|
439
|
+
em, strong, dt {
|
440
|
+
font-family: "DejaVu Serif", "Bitstream Vera Serif", "Constantia", "Book Antiqua", serif; }
|
441
|
+
|
442
|
+
blockquote {
|
443
|
+
color: #333;
|
444
|
+
font-style: italic;
|
445
|
+
background-image: url(cid:70877506);
|
446
|
+
background-repeat: no-repeat;
|
447
|
+
margin-left: 0;
|
448
|
+
padding-left: 65px;
|
449
|
+
min-height: 50px; }
|
450
|
+
|
451
|
+
hr {
|
452
|
+
height: 0;
|
453
|
+
border: 0;
|
454
|
+
border-top: thin dashed #000000; }
|
455
|
+
|
456
|
+
tt, code, pre {
|
457
|
+
font-family: "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Menlo", "Consolas", "Lucida Console", "Fixedsys", monospace;
|
458
|
+
font-size: 1em;
|
459
|
+
line-height: 1em; }
|
460
|
+
|
461
|
+
code.para {
|
462
|
+
white-space: pre; }
|
463
|
+
|
464
|
+
ins {
|
465
|
+
text-decoration: none; }
|
466
|
+
|
467
|
+
a > img {
|
468
|
+
border: none; }
|
469
|
+
|
470
|
+
dt {
|
471
|
+
margin-top: 1.5em;
|
472
|
+
font-weight: bolder; }
|
473
|
+
|
474
|
+
h1, h2, h3, h4, h5, h6, .title {
|
475
|
+
font-weight: lighter;
|
476
|
+
font-family: "DejaVu Serif", "Bitstream Vera Serif", "Constantia", "Book Antiqua", serif; }
|
477
|
+
|
478
|
+
#_floats h1, #_floats h2, #_floats h3, #_floats h4, #_floats h5, #_floats h6 {
|
479
|
+
margin-top: 1.25em; }
|
480
|
+
|
481
|
+
#_document h1, #_document h2, #_document h3, #_document h4, #_document h5, #_document h6 {
|
482
|
+
margin-top: 2.5em;
|
483
|
+
line-height: 1.25em; }
|
484
|
+
#_document h1 {
|
485
|
+
font-size: 2.0em; }
|
486
|
+
#_document h2 {
|
487
|
+
font-size: 1.8em; }
|
488
|
+
#_document h3 {
|
489
|
+
font-size: 1.6em; }
|
490
|
+
#_document h4 {
|
491
|
+
font-size: 1.4em; }
|
492
|
+
#_document h5 {
|
493
|
+
font-size: 1.2em; }
|
494
|
+
#_document h6 {
|
495
|
+
font-size: 1.0em; }
|
496
|
+
|
497
|
+
table {
|
498
|
+
border: none;
|
499
|
+
border-collapse: collapse;
|
500
|
+
margin: auto;
|
501
|
+
margin-top: 1em;
|
502
|
+
margin-bottom: 1em; }
|
503
|
+
|
504
|
+
th, td {
|
505
|
+
padding: 1em;
|
506
|
+
border: 1px solid #bbb;
|
507
|
+
vertical-align: top;
|
508
|
+
background-color: #FFFFFF; }
|
509
|
+
|
510
|
+
th {
|
511
|
+
background-color: #F5F5F5; }
|
512
|
+
|
513
|
+
#_header > .title {
|
514
|
+
font-size: 2.25em; }
|
515
|
+
|
516
|
+
@media print {
|
517
|
+
#_header .printer_friendly_toggle {
|
518
|
+
display: none; } }
|
519
|
+
|
520
|
+
@media screen {
|
521
|
+
#_header .printer_friendly_toggle {
|
522
|
+
display: inline; }
|
523
|
+
#_header .printer_friendly_toggle label:hover {
|
524
|
+
cursor: pointer; } }
|
525
|
+
|
526
|
+
#_abstract {
|
527
|
+
margin-bottom: 5em; }
|
528
|
+
|
529
|
+
#_contents ul > li {
|
530
|
+
list-style-type: none; }
|
531
|
+
#_contents li ul {
|
532
|
+
padding-bottom: 1em; }
|
533
|
+
#_contents > ul {
|
534
|
+
padding-left: 1em; }
|
535
|
+
|
536
|
+
#_references > ol > li {
|
537
|
+
margin-bottom: 1em; }
|
538
|
+
|
539
|
+
#_footer {
|
540
|
+
padding-top: 1em;
|
541
|
+
text-align: center;
|
542
|
+
margin: auto; }
|
543
|
+
|
544
|
+
.part > .title, .chapter > .title {
|
545
|
+
padding-bottom: 0.5em; }
|
546
|
+
|
547
|
+
.part > .title > big, .chapter > .title > big {
|
548
|
+
display: block;
|
549
|
+
margin-top: 0.25em; }
|
550
|
+
|
551
|
+
.paragraph > .title {
|
552
|
+
font-size: large; }
|
553
|
+
|
554
|
+
._float > .title {
|
555
|
+
font-size: large; }
|
556
|
+
._float > .content {
|
557
|
+
min-height: 48px; }
|
558
|
+
._float > .content > .icon {
|
559
|
+
float: left;
|
560
|
+
margin-top: 0;
|
561
|
+
margin-right: 1em;
|
562
|
+
margin-bottom: 1em;
|
563
|
+
margin-left: 0; }
|
564
|
+
|
565
|
+
.figure > .title {
|
566
|
+
text-align: center; }
|
567
|
+
.figure > .content img {
|
568
|
+
display: block;
|
569
|
+
margin: auto; }
|
570
|
+
/*]]>*/
|
462
571
|
</style>
|
463
572
|
|
464
573
|
<style type="text/css" media="screen">
|
465
|
-
/*<![CDATA[*/body
|
574
|
+
/*<![CDATA[*/body {
|
575
|
+
margin: 0;
|
576
|
+
padding: 0.5em;
|
577
|
+
background-color: #FFFFFF; }
|
578
|
+
|
579
|
+
#_loading:before {
|
580
|
+
content: "Loading..."; }
|
581
|
+
|
582
|
+
#_body, #_abstract > .title, #_contents > .title, .part > .title, .chapter > .title, .section > .title, #_references > .title {
|
583
|
+
display: none; }
|
584
|
+
|
585
|
+
.tabs {
|
586
|
+
clear: both; }
|
587
|
+
|
588
|
+
.ui-widget {
|
589
|
+
font-size: 1em; }
|
590
|
+
|
591
|
+
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a {
|
592
|
+
cursor: pointer; }
|
593
|
+
|
594
|
+
li > p:first-child {
|
595
|
+
display: inline; }
|
596
|
+
|
597
|
+
tt {
|
598
|
+
background-color: #F0F8FF; }
|
599
|
+
|
600
|
+
pre {
|
601
|
+
cursor: text;
|
602
|
+
line-height: normal;
|
603
|
+
border: 1px solid #b1d827;
|
604
|
+
background-color: #F5FFDF;
|
605
|
+
padding: 1em;
|
606
|
+
display: inline-block;
|
607
|
+
min-width: 95%;
|
608
|
+
margin: 0; }
|
609
|
+
|
610
|
+
ins ~ div {
|
611
|
+
margin-top: 1.5em; }
|
612
|
+
|
613
|
+
code.para {
|
614
|
+
cursor: text;
|
615
|
+
line-height: normal;
|
616
|
+
border: 1px solid #b1d827;
|
617
|
+
background-color: #F5FFDF;
|
618
|
+
padding: 1em;
|
619
|
+
display: inline-block;
|
620
|
+
margin: 0;
|
621
|
+
min-width: 92.5%;
|
622
|
+
background-color: #FFFFE8;
|
623
|
+
border-color: #EEDD88; }
|
624
|
+
|
625
|
+
pre.para {
|
626
|
+
background-color: #FFFFE8;
|
627
|
+
border-color: #EEDD88; }
|
628
|
+
|
629
|
+
a {
|
630
|
+
text-decoration: none; }
|
631
|
+
a:hover {
|
632
|
+
text-decoration: underline; }
|
633
|
+
a:link {
|
634
|
+
color: #0038E1; }
|
635
|
+
a:visited {
|
636
|
+
color: #800080; }
|
637
|
+
a[href]:not([href^="#"]) {
|
638
|
+
background: url(cid:70892528);
|
639
|
+
background-position: center right;
|
640
|
+
background-repeat: no-repeat;
|
641
|
+
padding-right: 13px; }
|
642
|
+
|
643
|
+
#_header > .logo {
|
644
|
+
text-align: center; }
|
645
|
+
#_header > .title_and_subtitle {
|
646
|
+
float: left;
|
647
|
+
margin-right: 1.5em; }
|
648
|
+
#_header > .title_and_subtitle .title {
|
649
|
+
margin-top: 0.25em; }
|
650
|
+
#_header > .authors_and_date {
|
651
|
+
text-align: right; }
|
652
|
+
#_header > .authors_and_date .authors, #_header > .authors_and_date .date {
|
653
|
+
margin-top: 0;
|
654
|
+
margin-bottom: 0.25em; }
|
655
|
+
#_header > .authors_and_date .date {
|
656
|
+
font-weight: lighter; }
|
657
|
+
|
658
|
+
#_contents li ul {
|
659
|
+
border-left: thick solid #F5F5F5; }
|
660
|
+
#_contents li ul:hover {
|
661
|
+
border-color: #DCDCDC; }
|
662
|
+
|
663
|
+
#_contents a:target, #_floats a:target {
|
664
|
+
background: url(cid:70887404);
|
665
|
+
background-position: center right;
|
666
|
+
background-repeat: no-repeat;
|
667
|
+
padding-right: 20px; }
|
668
|
+
|
669
|
+
.paragraph {
|
670
|
+
margin-top: 1.5em;
|
671
|
+
margin-bottom: 1.5em; }
|
672
|
+
.paragraph > .nav {
|
673
|
+
float: left; }
|
674
|
+
.paragraph > .title {
|
675
|
+
padding-left: 2.5em;
|
676
|
+
padding-top: 0.25em; }
|
677
|
+
|
678
|
+
._float {
|
679
|
+
margin: 1.5em; }
|
680
|
+
._float > .title {
|
681
|
+
padding-top: 0.5em;
|
682
|
+
padding-left: 1em;
|
683
|
+
padding-right: 1em; }
|
684
|
+
._float > .nav {
|
685
|
+
position: relative;
|
686
|
+
z-index: 1;
|
687
|
+
top: 0.25em;
|
688
|
+
right: 0.25em; }
|
689
|
+
._float > .content {
|
690
|
+
margin: 1em; }
|
691
|
+
|
692
|
+
.nav {
|
693
|
+
float: right;
|
694
|
+
clear: right; }
|
695
|
+
.nav > a > img:hover {
|
696
|
+
background-color: yellow; }
|
697
|
+
|
698
|
+
.ui-tabs > .ui-tabs-panel > .nav {
|
699
|
+
position: relative;
|
700
|
+
margin-top: -3.4em;
|
701
|
+
margin-right: -1.25em; }
|
702
|
+
|
703
|
+
.ui-tabs > .ui-tabs-nav > li:last-child {
|
704
|
+
margin-right: 9em; }
|
705
|
+
|
706
|
+
.ui-tabs > .ui-tabs-nav > li > a > .section_number {
|
707
|
+
display: none; }
|
708
|
+
|
709
|
+
#_about > table td:first-child, #_about > .validations {
|
710
|
+
text-align: center; }
|
711
|
+
|
712
|
+
#_search_form {
|
713
|
+
text-align: right;
|
714
|
+
font-weight: normal; }
|
715
|
+
#_search_form input {
|
716
|
+
margin-top: 0.25em; }
|
717
|
+
#_search_form input.initial {
|
718
|
+
color: gray;
|
719
|
+
font-style: italic; }
|
720
|
+
#_search_form #_search_start, #_search_form #_search_stop {
|
721
|
+
float: right;
|
722
|
+
margin: 0.1625em;
|
723
|
+
padding: 0.325em; }
|
724
|
+
#_search_form #_search_start:hover, #_search_form #_search_stop:hover {
|
725
|
+
cursor: pointer; }
|
726
|
+
|
727
|
+
#_search > .status {
|
728
|
+
text-align: center; }
|
729
|
+
#_search > .results > .result > .excerpt:hover {
|
730
|
+
background-color: #FFFFE0;
|
731
|
+
cursor: pointer; }
|
732
|
+
#_search > .results > .result > .excerpt:hover * {
|
733
|
+
cursor: pointer; }
|
734
|
+
/*]]>*/
|
466
735
|
</style>
|
467
736
|
|
468
737
|
<style type="text/css" media="print">
|
469
|
-
/*<![CDATA[*/
|
738
|
+
/*<![CDATA[*/body {
|
739
|
+
font-family: "DejaVu Serif", "Bitstream Vera Serif", "Constantia", "Book Antiqua", serif; }
|
740
|
+
|
741
|
+
em, strong, dt {
|
742
|
+
font-family: "DejaVu Sans", "Bitstream Vera Sans", "Calibri", "Verdana", sans-serif; }
|
743
|
+
|
744
|
+
tt {
|
745
|
+
font-weight: normal; }
|
746
|
+
|
747
|
+
pre {
|
748
|
+
border: none; }
|
749
|
+
|
750
|
+
h1, h2, h3, h4, h5, h6, .title {
|
751
|
+
font-weight: normal;
|
752
|
+
font-family: "DejaVu Sans", "Bitstream Vera Sans", "Calibri", "Verdana", sans-serif;
|
753
|
+
clear: both; }
|
754
|
+
|
755
|
+
a:link, a:visited {
|
756
|
+
color: #000000;
|
757
|
+
text-decoration: none; }
|
758
|
+
a[href]:not([href^="#"]):link, a[href]:not([href^="#"]):visited {
|
759
|
+
color: #0000FF;
|
760
|
+
text-decoration: underline;
|
761
|
+
font-weight: bolder; }
|
762
|
+
a.xref[title]:link, a.xref[title]:visited {
|
763
|
+
color: #0000FF;
|
764
|
+
text-decoration: underline;
|
765
|
+
font-weight: bolder; }
|
766
|
+
a[href]:not([href^="#"]):after {
|
767
|
+
content: " " attr(href);
|
768
|
+
font-family: "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Menlo", "Consolas", "Lucida Console", "Fixedsys", monospace; }
|
769
|
+
a.xref[title]:after {
|
770
|
+
content: " " attr(title); }
|
771
|
+
a:after {
|
772
|
+
font-weight: normal;
|
773
|
+
font-size: smaller; }
|
774
|
+
|
775
|
+
.tabs > ul, .nav, #_floats, #_about, #_search {
|
776
|
+
display: none; }
|
777
|
+
|
778
|
+
#_contents, .part, .chapter, #_references {
|
779
|
+
page-break-before: always; }
|
780
|
+
|
781
|
+
#_header, #_footer {
|
782
|
+
text-align: center; }
|
783
|
+
|
784
|
+
#_header > .authors_and_date > .authors {
|
785
|
+
margin-top: 1.625em;
|
786
|
+
margin-bottom: -0.25em; }
|
787
|
+
|
788
|
+
.header_outside_above, #_header, .header_outside_below, .logo {
|
789
|
+
margin-bottom: 5em; }
|
790
|
+
|
791
|
+
.footer_outside_above, #_footer, .footer_outside_below, #_references, #_about {
|
792
|
+
margin-top: 5em; }
|
793
|
+
|
794
|
+
#_header .header_inside_above, #_footer .footer_inside_above {
|
795
|
+
margin-bottom: 4em; }
|
796
|
+
|
797
|
+
#_header .header_inside_below, #_footer .footer_inside_below {
|
798
|
+
margin-top: 4em; }
|
799
|
+
|
800
|
+
.part > .title > big, .chapter > .title > big {
|
801
|
+
padding-bottom: 0.5em; }
|
802
|
+
|
803
|
+
.paragraph > .title {
|
804
|
+
margin-top: 2em; }
|
805
|
+
|
806
|
+
._float {
|
807
|
+
margin: 3em; }
|
808
|
+
/*]]>*/
|
470
809
|
</style>
|
471
810
|
|
472
811
|
<script type="text/javascript">
|
@@ -512,6 +851,18 @@ jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.bro
|
|
512
851
|
* ui.core.js
|
513
852
|
*/
|
514
853
|
(function(a){a.widget("ui.tabs",{_init:function(){if(this.options.deselectable!==undefined){this.options.collapsible=this.options.deselectable}this._tabify(true)},_setData:function(b,c){if(b=="selected"){if(this.options.collapsible&&c==this.options.selected){return}this.select(c)}else{this.options[b]=c;if(b=="deselectable"){this.options.collapsible=c}this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+a.data(b)},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+a.data(this.list[0]));return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(c,b){return{tab:c,panel:b,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(n){this.list=this.element.children("ul:first");this.lis=a("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return a("a",this)[0]});this.panels=a([]);var p=this,d=this.options;var c=/^#.+/;this.anchors.each(function(r,o){var q=a(o).attr("href");var s=q.split("#")[0],u;if(s&&(s===location.toString().split("#")[0]||(u=a("base")[0])&&s===u.href)){q=o.hash;o.href=q}if(c.test(q)){p.panels=p.panels.add(p._sanitizeSelector(q))}else{if(q!="#"){a.data(o,"href.tabs",q);a.data(o,"load.tabs",q.replace(/#.*$/,""));var w=p._tabId(o);o.href="#"+w;var v=a("#"+w);if(!v.length){v=a(d.panelTemplate).attr("id",w).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(p.panels[r-1]||p.list);v.data("destroy.tabs",true)}p.panels=p.panels.add(v)}else{d.disabled.push(r)}}});if(n){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(d.selected===undefined){if(location.hash){this.anchors.each(function(q,o){if(o.hash==location.hash){d.selected=q;return false}})}if(typeof d.selected!="number"&&d.cookie){d.selected=parseInt(p._cookie(),10)}if(typeof d.selected!="number"&&this.lis.filter(".ui-tabs-selected").length){d.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}d.selected=d.selected||0}else{if(d.selected===null){d.selected=-1}}d.selected=((d.selected>=0&&this.anchors[d.selected])||d.selected<0)?d.selected:0;d.disabled=a.unique(d.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(q,o){return p.lis.index(q)}))).sort();if(a.inArray(d.selected,d.disabled)!=-1){d.disabled.splice(a.inArray(d.selected,d.disabled),1)}this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");if(d.selected>=0&&this.anchors.length){this.panels.eq(d.selected).removeClass("ui-tabs-hide");this.lis.eq(d.selected).addClass("ui-tabs-selected ui-state-active");p.element.queue("tabs",function(){p._trigger("show",null,p._ui(p.anchors[d.selected],p.panels[d.selected]))});this.load(d.selected)}a(window).bind("unload",function(){p.lis.add(p.anchors).unbind(".tabs");p.lis=p.anchors=p.panels=null})}else{d.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}this.element[d.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");if(d.cookie){this._cookie(d.selected,d.cookie)}for(var g=0,m;(m=this.lis[g]);g++){a(m)[a.inArray(g,d.disabled)!=-1&&!a(m).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled")}if(d.cache===false){this.anchors.removeData("cache.tabs")}this.lis.add(this.anchors).unbind(".tabs");if(d.event!="mouseover"){var f=function(o,i){if(i.is(":not(.ui-state-disabled)")){i.addClass("ui-state-"+o)}};var j=function(o,i){i.removeClass("ui-state-"+o)};this.lis.bind("mouseover.tabs",function(){f("hover",a(this))});this.lis.bind("mouseout.tabs",function(){j("hover",a(this))});this.anchors.bind("focus.tabs",function(){f("focus",a(this).closest("li"))});this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var b,h;if(d.fx){if(a.isArray(d.fx)){b=d.fx[0];h=d.fx[1]}else{b=h=d.fx}}function e(i,o){i.css({display:""});if(a.browser.msie&&o.opacity){i[0].style.removeAttribute("filter")}}var k=h?function(i,o){a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");o.hide().removeClass("ui-tabs-hide").animate(h,h.duration||"normal",function(){e(o,h);p._trigger("show",null,p._ui(i,o[0]))})}:function(i,o){a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");o.removeClass("ui-tabs-hide");p._trigger("show",null,p._ui(i,o[0]))};var l=b?function(o,i){i.animate(b,b.duration||"normal",function(){p.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");i.addClass("ui-tabs-hide");e(i,b);p.element.dequeue("tabs")})}:function(o,i,q){p.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");i.addClass("ui-tabs-hide");p.element.dequeue("tabs")};this.anchors.bind(d.event+".tabs",function(){var o=this,r=a(this).closest("li"),i=p.panels.filter(":not(.ui-tabs-hide)"),q=a(p._sanitizeSelector(this.hash));if((r.hasClass("ui-tabs-selected")&&!d.collapsible)||r.hasClass("ui-state-disabled")||r.hasClass("ui-state-processing")||p._trigger("select",null,p._ui(this,q[0]))===false){this.blur();return false}d.selected=p.anchors.index(this);p.abort();if(d.collapsible){if(r.hasClass("ui-tabs-selected")){d.selected=-1;if(d.cookie){p._cookie(d.selected,d.cookie)}p.element.queue("tabs",function(){l(o,i)}).dequeue("tabs");this.blur();return false}else{if(!i.length){if(d.cookie){p._cookie(d.selected,d.cookie)}p.element.queue("tabs",function(){k(o,q)});p.load(p.anchors.index(this));this.blur();return false}}}if(d.cookie){p._cookie(d.selected,d.cookie)}if(q.length){if(i.length){p.element.queue("tabs",function(){l(o,i)})}p.element.queue("tabs",function(){k(o,q)});p.load(p.anchors.index(this))}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(a.browser.msie){this.blur()}});this.anchors.bind("click.tabs",function(){return false})},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var c=a.data(this,"href.tabs");if(c){this.href=c}var d=a(this).unbind(".tabs");a.each(["href","load","cache"],function(e,f){d.removeData(f+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){if(a.data(this,"destroy.tabs")){a(this).remove()}else{a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}});if(b.cookie){this._cookie(null,b.cookie)}},add:function(e,d,c){if(c===undefined){c=this.anchors.length}var b=this,g=this.options,i=a(g.tabTemplate.replace(/#\{href\}/g,e).replace(/#\{label\}/g,d)),h=!e.indexOf("#")?e.replace("#",""):this._tabId(a("a",i)[0]);i.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var f=a("#"+h);if(!f.length){f=a(g.panelTemplate).attr("id",h).data("destroy.tabs",true)}f.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(c>=this.lis.length){i.appendTo(this.list);f.appendTo(this.list[0].parentNode)}else{i.insertBefore(this.lis[c]);f.insertBefore(this.panels[c])}g.disabled=a.map(g.disabled,function(k,j){return k>=c?++k:k});this._tabify();if(this.anchors.length==1){i.addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[c],this.panels[c]))},remove:function(b){var d=this.options,e=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();if(e.hasClass("ui-tabs-selected")&&this.anchors.length>1){this.select(b+(b+1<this.anchors.length?1:-1))}d.disabled=a.map(a.grep(d.disabled,function(g,f){return g!=b}),function(g,f){return g>=b?--g:g});this._tabify();this._trigger("remove",null,this._ui(e.find("a")[0],c[0]))},enable:function(b){var c=this.options;if(a.inArray(b,c.disabled)==-1){return}this.lis.eq(b).removeClass("ui-state-disabled");c.disabled=a.grep(c.disabled,function(e,d){return e!=b});this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b]))},disable:function(c){var b=this,d=this.options;if(c!=d.selected){this.lis.eq(c).addClass("ui-state-disabled");d.disabled.push(c);d.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}},select:function(b){if(typeof b=="string"){b=this.anchors.index(this.anchors.filter("[href$="+b+"]"))}else{if(b===null){b=-1}}if(b==-1&&this.options.collapsible){b=this.options.selected}this.anchors.eq(b).trigger(this.options.event+".tabs")},load:function(e){var c=this,g=this.options,b=this.anchors.eq(e)[0],d=a.data(b,"load.tabs");this.abort();if(!d||this.element.queue("tabs").length!==0&&a.data(b,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(e).addClass("ui-state-processing");if(g.spinner){var f=a("span",b);f.data("label.tabs",f.html()).html(g.spinner)}this.xhr=a.ajax(a.extend({},g.ajaxOptions,{url:d,success:function(i,h){a(c._sanitizeSelector(b.hash)).html(i);c._cleanup();if(g.cache){a.data(b,"cache.tabs",true)}c._trigger("load",null,c._ui(c.anchors[e],c.panels[e]));try{g.ajaxOptions.success(i,h)}catch(j){}c.element.dequeue("tabs")}}))},abort:function(){this.element.queue([]);this.panels.stop(false,true);if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup()},url:function(c,b){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",b)},length:function(){return this.anchors.length}});a.extend(a.ui.tabs,{version:"1.7.2",getter:"length",defaults:{ajaxOptions:null,cache:false,cookie:null,collapsible:false,disabled:[],event:"click",fx:null,idPrefix:"ui-tabs-",panelTemplate:"<div></div>",spinner:"<em>Loading…</em>",tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>'}});a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(d,f){var b=this,g=this.options;var c=b._rotate||(b._rotate=function(h){clearTimeout(b.rotation);b.rotation=setTimeout(function(){var i=g.selected;b.select(++i<b.anchors.length?i:0)},d);if(h){h.stopPropagation()}});var e=b._unrotate||(b._unrotate=!f?function(h){if(h.clientX){b.rotate(null)}}:function(h){t=g.selected;c()});if(d){this.element.bind("tabsshow",c);this.anchors.bind(g.event+".tabs",e);c()}else{clearTimeout(b.rotation);this.element.unbind("tabsshow",c);this.anchors.unbind(g.event+".tabs",e);delete this._rotate;delete this._unrotate}}})})(jQuery);;/*
|
854
|
+
* jQuery UI Progressbar 1.7.2
|
855
|
+
*
|
856
|
+
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
|
857
|
+
* Dual licensed under the MIT (MIT-LICENSE.txt)
|
858
|
+
* and GPL (GPL-LICENSE.txt) licenses.
|
859
|
+
*
|
860
|
+
* http://docs.jquery.com/UI/Progressbar
|
861
|
+
*
|
862
|
+
* Depends:
|
863
|
+
* ui.core.js
|
864
|
+
*/
|
865
|
+
(function(a){a.widget("ui.progressbar",{_init:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this._valueMin(),"aria-valuemax":this._valueMax(),"aria-valuenow":this._value()});this.valueDiv=a('<div class="ui-progressbar-value ui-widget-header ui-corner-left"></div>').appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow").removeData("progressbar").unbind(".progressbar");this.valueDiv.remove();a.widget.prototype.destroy.apply(this,arguments)},value:function(b){if(b===undefined){return this._value()}this._setData("value",b);return this},_setData:function(b,c){switch(b){case"value":this.options.value=c;this._refreshValue();this._trigger("change",null,{});break}a.widget.prototype._setData.apply(this,arguments)},_value:function(){var b=this.options.value;if(b<this._valueMin()){b=this._valueMin()}if(b>this._valueMax()){b=this._valueMax()}return b},_valueMin:function(){var b=0;return b},_valueMax:function(){var b=100;return b},_refreshValue:function(){var b=this.value();this.valueDiv[b==this._valueMax()?"addClass":"removeClass"]("ui-corner-right");this.valueDiv.width(b+"%");this.element.attr("aria-valuenow",b)}});a.extend(a.ui.progressbar,{version:"1.7.2",defaults:{value:0}})})(jQuery);;/*
|
515
866
|
* jQuery UI Effects 1.7.2
|
516
867
|
*
|
517
868
|
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
|
@@ -533,10 +884,8 @@ jQuery.effects||(function(d){d.effects={version:"1.7.2",save:function(g,h){for(v
|
|
533
884
|
* effects.core.js
|
534
885
|
*/
|
535
886
|
(function(a){a.effects.highlight=function(b){return this.queue(function(){var e=a(this),d=["backgroundImage","backgroundColor","opacity"];var h=a.effects.setMode(e,b.options.mode||"show");var c=b.options.color||"#ffff99";var g=e.css("backgroundColor");a.effects.save(e,d);e.show();e.css({backgroundImage:"none",backgroundColor:c});var f={backgroundColor:g};if(h=="hide"){f.opacity=0}e.animate(f,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(h=="hide"){e.hide()}a.effects.restore(e,d);if(h=="show"&&a.browser.msie){this.style.removeAttribute("filter")}if(b.callback){b.callback.apply(this,arguments)}e.dequeue()}})})}})(jQuery);;
|
536
|
-
|
537
887
|
$(function() {
|
538
|
-
|
539
|
-
(the ISC license)
|
888
|
+
/*(the ISC license)
|
540
889
|
|
541
890
|
Copyright 2006 Suraj N. Kurapati <sunaku@gmail.com>
|
542
891
|
|
@@ -551,283 +900,603 @@ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
551
900
|
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
552
901
|
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
553
902
|
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
554
|
-
|
555
|
-
|
556
|
-
|
903
|
+
*/
|
904
|
+
"use strict";
|
905
|
+
|
906
|
+
//--------------------------------------------------------------------------
|
907
|
+
// utility logic
|
908
|
+
//--------------------------------------------------------------------------
|
909
|
+
|
910
|
+
//
|
911
|
+
// Returns the tab corresponding to the
|
912
|
+
// given panel in the given tabs widget.
|
913
|
+
//
|
914
|
+
function tab_by_panel(panel, tabs_widget) {
|
915
|
+
if (!tabs_widget) {
|
916
|
+
tabs_widget = panel.parent('.ui-tabs');
|
917
|
+
}
|
918
|
+
|
919
|
+
return tabs_widget.find(
|
920
|
+
'.ui-tabs-nav > li > a[href=#'+ panel.attr('id') +']'
|
921
|
+
).parent('li');
|
922
|
+
}
|
923
|
+
|
924
|
+
//
|
925
|
+
// Returns a jQuery element containing a jQuery UI icon of the given name.
|
926
|
+
//
|
927
|
+
function ui_icon(name) {
|
928
|
+
return $('<div/>').addClass('ui-state-default ui-corner-all').append(
|
929
|
+
$('<span/>').addClass('ui-icon ui-icon-' + name)
|
930
|
+
);
|
931
|
+
}
|
932
|
+
|
933
|
+
//--------------------------------------------------------------------------
|
934
|
+
// document location
|
935
|
+
//--------------------------------------------------------------------------
|
936
|
+
|
937
|
+
var $last_hash;
|
938
|
+
|
939
|
+
//
|
940
|
+
// Sets the location bar hash to the given value.
|
941
|
+
//
|
942
|
+
// [prevent_jump]
|
943
|
+
// If true, prevents the browser from jumping to
|
944
|
+
// the element corresponding to the given hash.
|
945
|
+
//
|
946
|
+
function set_hash(hash, prevent_jump) {
|
947
|
+
if (hash === $last_hash) {
|
948
|
+
return;
|
949
|
+
}
|
950
|
+
|
951
|
+
function set_the_hash() {
|
952
|
+
// XXX: bypass on_hash_change() by setting $last_hash
|
953
|
+
window.location.hash = $last_hash = hash;
|
954
|
+
}
|
955
|
+
|
956
|
+
if (prevent_jump) {
|
957
|
+
var target = $(hash);
|
958
|
+
|
959
|
+
if (target.length) {
|
960
|
+
//
|
961
|
+
// This particular approach to solving the browser
|
962
|
+
// jumping problem comes from the jQuery.LocalScroll
|
963
|
+
// plugin, which is dual licensed under MIT and GPL:
|
964
|
+
//
|
965
|
+
// Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
|
966
|
+
//
|
967
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
968
|
+
// of this software and associated documentation files (the "Software"), to deal
|
969
|
+
// in the Software without restriction, including without limitation the rights
|
970
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
971
|
+
// copies of the Software, and to permit persons to whom the Software is
|
972
|
+
// furnished to do so, subject to the following conditions:
|
973
|
+
//
|
974
|
+
// The above copyright notice and this permission notice shall be included in
|
975
|
+
// all copies or substantial portions of the Software.
|
976
|
+
//
|
977
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
978
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
979
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
980
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
981
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
982
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
983
|
+
// THE SOFTWARE.
|
557
984
|
//
|
558
|
-
//
|
985
|
+
// The jQuery.LocalScroll plugin is documented at:
|
986
|
+
//
|
987
|
+
// http://flesler.blogspot.com/2007/10/jquerylocalscroll-10.html
|
988
|
+
//
|
989
|
+
// And its source is available at:
|
990
|
+
//
|
991
|
+
// http://flesler-plugins.googlecode.com/svn/trunk/jquery.localScroll/jquery.localScroll.js
|
559
992
|
//
|
560
|
-
var $last_hash = null;
|
561
993
|
|
562
|
-
|
563
|
-
var curr_hash = window.location.hash;
|
994
|
+
var target_id = target.attr('id');
|
564
995
|
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
996
|
+
// temporarily place a dummy element at the current
|
997
|
+
// screen position and give it the ID of the target
|
998
|
+
var original_screen_position = $(window).scrollTop();
|
999
|
+
|
1000
|
+
var dummy = $('<span/>').attr('id', target_id).css({
|
1001
|
+
position: 'absolute',
|
1002
|
+
top: original_screen_position
|
1003
|
+
});
|
1004
|
+
|
1005
|
+
target.removeAttr('id').before(dummy);
|
1006
|
+
|
1007
|
+
// when we set the hash, the browser will jump to the
|
1008
|
+
// dummy, which is where the browser screen currently
|
1009
|
+
// is, and therefore the jump will not be visualized!
|
1010
|
+
set_the_hash();
|
1011
|
+
|
1012
|
+
// undo the temporary changes
|
1013
|
+
dummy.remove();
|
1014
|
+
target.attr('id', target_id);
|
1015
|
+
|
1016
|
+
// the above approach does not work for Opera and IE.
|
1017
|
+
// they ignore the dummy and jump to the actual target
|
1018
|
+
$(window).scrollTop(original_screen_position);
|
1019
|
+
|
1020
|
+
return;
|
1021
|
+
}
|
1022
|
+
}
|
1023
|
+
|
1024
|
+
set_the_hash();
|
1025
|
+
}
|
1026
|
+
|
1027
|
+
//
|
1028
|
+
// Reveals the element at the given hash by (1) activating all
|
1029
|
+
// tabs that contain it, (2) smoothly scrolling to it, and (3)
|
1030
|
+
// updating the hash in the browser's location bar accordingly.
|
1031
|
+
//
|
1032
|
+
function reveal(hash_or_elem, callback) {
|
1033
|
+
var target = $(hash_or_elem);
|
1034
|
+
|
1035
|
+
if (target.length) {
|
1036
|
+
var target_is_panel = target.is('div') &&
|
1037
|
+
target.parent('.ui-tabs').length;
|
569
1038
|
|
570
|
-
|
1039
|
+
// reveal all tabs which contain the target
|
1040
|
+
if (target.is(':hidden')) {
|
1041
|
+
var panels = target.parents('.ui-tabs > div:hidden').get().reverse();
|
1042
|
+
|
1043
|
+
if (target_is_panel) {
|
1044
|
+
panels.push(target);
|
571
1045
|
}
|
572
1046
|
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
// If true, prevents the browser from jumping to
|
578
|
-
// the element corresponding to the given hash.
|
579
|
-
//
|
580
|
-
function set_hash(hash, prevent_jump) {
|
581
|
-
if ($last_hash == hash) {
|
582
|
-
return;
|
583
|
-
}
|
1047
|
+
$(panels).each(function() {
|
1048
|
+
var panel = $(this);
|
1049
|
+
var tabs_widget = panel.parent('.ui-tabs');
|
1050
|
+
var selected_index = tabs_widget.tabs('option', 'selected');
|
584
1051
|
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
1052
|
+
// map the panel to its tab because tabs do not
|
1053
|
+
// have to be in the same order as their panels
|
1054
|
+
var tab = tab_by_panel(panel, tabs_widget);
|
1055
|
+
var wanted_index = tab.prevAll('li').length;
|
1056
|
+
|
1057
|
+
if (wanted_index !== selected_index) {
|
1058
|
+
tabs_widget.tabs('select', wanted_index);
|
590
1059
|
}
|
1060
|
+
});
|
1061
|
+
}
|
591
1062
|
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
// This particular approach to solving the browser
|
598
|
-
// jumping problem comes from the jQuery.LocalScroll
|
599
|
-
// plugin, which is dual licensed under MIT and GPL:
|
600
|
-
//
|
601
|
-
// Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
|
602
|
-
//
|
603
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
604
|
-
// of this software and associated documentation files (the "Software"), to deal
|
605
|
-
// in the Software without restriction, including without limitation the rights
|
606
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
607
|
-
// copies of the Software, and to permit persons to whom the Software is
|
608
|
-
// furnished to do so, subject to the following conditions:
|
609
|
-
//
|
610
|
-
// The above copyright notice and this permission notice shall be included in
|
611
|
-
// all copies or substantial portions of the Software.
|
612
|
-
//
|
613
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
614
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
615
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
616
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
617
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
618
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
619
|
-
// THE SOFTWARE.
|
620
|
-
//
|
621
|
-
// This plugin is documented at:
|
622
|
-
//
|
623
|
-
// http://flesler.blogspot.com/2007/10/jquerylocalscroll-10.html
|
624
|
-
//
|
625
|
-
// And its source is available at:
|
626
|
-
//
|
627
|
-
// http://flesler-plugins.googlecode.com/svn/trunk/jquery.localScroll/jquery.localScroll.js
|
628
|
-
//
|
629
|
-
var target_id = target.attr('id');
|
630
|
-
|
631
|
-
//
|
632
|
-
// temporarily place a dummy element at the current
|
633
|
-
// screen position and give it the ID of the target
|
634
|
-
//
|
635
|
-
var original_screen_position = $(window).scrollTop();
|
636
|
-
|
637
|
-
var dummy = $('<span/>').attr('id', target_id).css({
|
638
|
-
position: 'absolute',
|
639
|
-
top: original_screen_position
|
640
|
-
});
|
1063
|
+
// scroll to nearest visible element if the target
|
1064
|
+
// is naturally hidden (e.g. because of a CSS rule)
|
1065
|
+
if (target.is(':hidden')) {
|
1066
|
+
target = target.closest(':not(:hidden)');
|
1067
|
+
}
|
641
1068
|
|
642
|
-
|
1069
|
+
// scroll to the tab bar instead of the target
|
1070
|
+
// because it contains the title for the target
|
1071
|
+
var scroll_target = target;
|
643
1072
|
|
644
|
-
|
645
|
-
|
646
|
-
// dummy, which is where the browser screen currently
|
647
|
-
// is, and therefore the jump will not be visualized!
|
648
|
-
//
|
649
|
-
set_the_hash();
|
1073
|
+
if (target_is_panel) {
|
1074
|
+
var tabs_nav = target.parent('.ui-tabs').find('> .ui-tabs-nav');
|
650
1075
|
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
target.attr('id', target_id);
|
1076
|
+
if (!tabs_nav.is(':hidden')) {
|
1077
|
+
scroll_target = tabs_nav;
|
1078
|
+
}
|
1079
|
+
}
|
656
1080
|
|
657
|
-
|
658
|
-
// the above approach does not work for Opera and IE.
|
659
|
-
// they ignore the dummy and jump to the actual target
|
660
|
-
//
|
661
|
-
$(window).scrollTop(original_screen_position);
|
1081
|
+
var scroll_offset = Math.floor(scroll_target.offset().top);
|
662
1082
|
|
663
|
-
|
1083
|
+
// set body height so that any element can be
|
1084
|
+
// brought to the top of the screen via scrolling
|
1085
|
+
var document_height = $(document).height();
|
1086
|
+
var window_height = $(window).height();
|
1087
|
+
if (document_height - scroll_offset <= window_height) {
|
1088
|
+
$('body').css('min-height', document_height + window_height);
|
1089
|
+
}
|
1090
|
+
|
1091
|
+
var pending = true;
|
1092
|
+
$('html, body').animate(
|
1093
|
+
{ scrollTop: scroll_offset }, 'slow', 'swing', function() {
|
1094
|
+
// prevent the body of this function from being
|
1095
|
+
// executed twice -- because there are 2 target
|
1096
|
+
// elements in the animation list and only one
|
1097
|
+
// of them actually works in different browsers!
|
1098
|
+
if (pending && scroll_offset === $(window).scrollTop()) {
|
1099
|
+
pending = false;
|
1100
|
+
|
1101
|
+
var target_id = target.attr('id');
|
1102
|
+
set_hash('#' + (target_id || '_reveal' + Math.random()),
|
1103
|
+
target_is_panel || !target_id);
|
1104
|
+
|
1105
|
+
if (callback && typeof(callback) === 'function') {
|
1106
|
+
callback();
|
664
1107
|
}
|
665
1108
|
}
|
1109
|
+
}
|
1110
|
+
);
|
1111
|
+
}
|
1112
|
+
}
|
1113
|
+
|
1114
|
+
//--------------------------------------------------------------------------
|
1115
|
+
// search engine
|
1116
|
+
//--------------------------------------------------------------------------
|
1117
|
+
|
1118
|
+
// Adapted from the source code of the ":contains" selector from
|
1119
|
+
// the "Search on this Page" plugin by Waldek Mastykarz
|
1120
|
+
// <http://blog.mastykarz.nl>, which was (1) published online on
|
1121
|
+
// 17 November 2008 at <http://www.endusersharepoint.com/?p=951>
|
1122
|
+
// and <http://blog.mastykarz.nl/search-page-jquery/>, and was
|
1123
|
+
// (2) updated to work with jQuery 1.3 by "anonymous" here:
|
1124
|
+
// <http://stackoverflow.com/questions/187537>.
|
1125
|
+
jQuery.expr[':'].matches = function(a, i, m) {
|
1126
|
+
// compile the regexp during the first call to this
|
1127
|
+
// function only, so that subsequent calls are fast
|
1128
|
+
if (typeof(m[3]) === 'string') {
|
1129
|
+
m[3] = new RegExp(m[3], 'i');
|
1130
|
+
}
|
1131
|
+
return jQuery(a).text().match(m[3]);
|
1132
|
+
};
|
1133
|
+
|
1134
|
+
$('.tabs:first > ul').append(
|
1135
|
+
$('<li/>').append(
|
1136
|
+
$('<a/>').attr('id', '_search_link').attr('href', '#_search').
|
1137
|
+
text("Search")
|
1138
|
+
).hide()
|
1139
|
+
).append(
|
1140
|
+
$('<form/>').attr('id', '_search_form').append(
|
1141
|
+
$('<input/>').attr('type', 'text').attr('name', 'q').
|
1142
|
+
addClass('initial').attr('title', "Search with regular expression").focus(function() {
|
1143
|
+
var box = $(this);
|
1144
|
+
|
1145
|
+
if (box.is('.initial')) {
|
1146
|
+
box.val('').removeClass('initial');
|
1147
|
+
}
|
1148
|
+
}).blur(function() {
|
1149
|
+
var box = $(this);
|
666
1150
|
|
667
|
-
|
1151
|
+
if (! box.val().match(/\S/)) {
|
1152
|
+
box.val(box.attr('title')).addClass('initial');
|
668
1153
|
}
|
1154
|
+
}).blur()
|
1155
|
+
).append(
|
1156
|
+
ui_icon('search').attr('id', '_search_start').click(function() {
|
1157
|
+
$('#_search_form').submit();
|
1158
|
+
})
|
1159
|
+
).append(
|
1160
|
+
ui_icon('cancel').attr('id', '_search_stop').hide().click(function() {
|
1161
|
+
$(this).attr('clicked', 'clicked');
|
1162
|
+
})
|
1163
|
+
).submit(function(event) {
|
1164
|
+
event.preventDefault();
|
1165
|
+
|
1166
|
+
var search_box = $(this).find(':text');
|
1167
|
+
var query = search_box.val().replace(/^\s+|\s+$/g, '');
|
1168
|
+
|
1169
|
+
// ignore empty queries
|
1170
|
+
if (search_box.is('.initial') || !query.match(/\S/)) {
|
1171
|
+
return;
|
1172
|
+
}
|
669
1173
|
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
1174
|
+
// detect invalid regexps
|
1175
|
+
try {
|
1176
|
+
new RegExp(query);
|
1177
|
+
}
|
1178
|
+
catch(e) {
|
1179
|
+
alert(e);
|
1180
|
+
return;
|
1181
|
+
}
|
678
1182
|
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
1183
|
+
// one search at a time
|
1184
|
+
if (search_box.attr('disabled')) {
|
1185
|
+
return;
|
1186
|
+
}
|
683
1187
|
|
684
|
-
|
685
|
-
// Reveals the element at the given hash by (1) activating all
|
686
|
-
// tabs that contain it, (2) smoothly scrolling to it, and (3)
|
687
|
-
// updating the hash in the browser's location bar accordingly.
|
688
|
-
//
|
689
|
-
function reveal_hash(hash) {
|
690
|
-
var target = $(hash);
|
1188
|
+
search_box.attr('disabled', 'disabled');
|
691
1189
|
|
692
|
-
|
693
|
-
|
694
|
-
|
1190
|
+
// begin the search
|
1191
|
+
var status = $('#_search > .status');
|
1192
|
+
var results = $('#_search > .results');
|
695
1193
|
|
696
|
-
|
1194
|
+
// display the search results tab
|
1195
|
+
$('#_search_link').click().parent().show();
|
697
1196
|
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
if (target_initially_hidden) {
|
702
|
-
var panels = target.parents('.ui-tabs > div:hidden').get().reverse();
|
1197
|
+
// clear previous search results
|
1198
|
+
results.text('');
|
1199
|
+
status.text("Searching...");
|
703
1200
|
|
704
|
-
|
705
|
-
|
706
|
-
|
1201
|
+
// timeout allows status updates to appear
|
1202
|
+
setTimeout(function() {
|
1203
|
+
var num_results = 0;
|
1204
|
+
|
1205
|
+
function emit_result(match) {
|
1206
|
+
// exclude matches from previous search results,
|
1207
|
+
// the table of contents, and jQuery UI tab bars
|
1208
|
+
if (match.closest('#_search, #_contents, .ui-tabs-nav').length) {
|
1209
|
+
return;
|
1210
|
+
}
|
707
1211
|
|
708
|
-
|
709
|
-
var panel = $(panels[i]);
|
710
|
-
var tabs_widget = panel.parent('.ui-tabs');
|
711
|
-
var selected_index = tabs_widget.tabs('option', 'selected');
|
1212
|
+
var excerpt;
|
712
1213
|
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
1214
|
+
// resolve tab panels into their section title
|
1215
|
+
// because additional matches, which lie within
|
1216
|
+
// the content of these tab panels, will come
|
1217
|
+
if (match.is('.ui-tabs-panel')) {
|
1218
|
+
excerpt = match.find('.title:first').clone().show();
|
1219
|
+
}
|
1220
|
+
else {
|
1221
|
+
excerpt = match.clone();
|
1222
|
+
}
|
719
1223
|
|
720
|
-
|
721
|
-
|
1224
|
+
// highlight the query inside the match excerpt
|
1225
|
+
excerpt.html(excerpt.html().replace(
|
1226
|
+
new RegExp('(<[^>]*)?(' + query + ')', 'ig'),
|
1227
|
+
function($0, $1, $2) {
|
1228
|
+
// only highlight if not inside an XML tag literal
|
1229
|
+
return $1 ? $0 :
|
1230
|
+
'<span class="ui-state-error">' + $2 + '</span>';
|
1231
|
+
}
|
1232
|
+
));
|
1233
|
+
|
1234
|
+
num_results += 1;
|
1235
|
+
var result = $('<li/>').addClass('result').append(
|
1236
|
+
$('<blockquote/>').addClass('excerpt').append(excerpt)
|
1237
|
+
).attr('id', '_search' + num_results).click(
|
1238
|
+
function(event) {
|
1239
|
+
event.stopPropagation();
|
1240
|
+
|
1241
|
+
// save this search result's hash in browser history
|
1242
|
+
// before revealing the matching element so that
|
1243
|
+
// the user can press the back button to return to
|
1244
|
+
// this exact spot in the search results listing
|
1245
|
+
reveal(this, function() {
|
1246
|
+
if (!$(event.target).is('a')) {
|
1247
|
+
reveal(match);
|
722
1248
|
}
|
723
|
-
}
|
1249
|
+
});
|
724
1250
|
}
|
1251
|
+
);
|
725
1252
|
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
var
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
$('html, body').animate(
|
736
|
-
{ scrollTop: Math.floor(scroll_target.offset().top) },
|
737
|
-
'slow', 'swing', function() {
|
738
|
-
var screen_after_scroll = $(window).scrollTop();
|
739
|
-
|
740
|
-
set_hash(hash, target_is_panel);
|
741
|
-
|
742
|
-
if (
|
743
|
-
!target_initially_hidden &&
|
744
|
-
screen_after_scroll == screen_before_scroll
|
745
|
-
) {
|
746
|
-
//
|
747
|
-
// nothing changed on the screen.
|
748
|
-
// the target was already visible.
|
749
|
-
// highlight it to notify the user.
|
750
|
-
//
|
751
|
-
target.effect('highlight', 'slow');
|
752
|
-
}
|
1253
|
+
// show bread-crumb trail for the match
|
1254
|
+
var first = true;
|
1255
|
+
match.parents('.ui-tabs-panel').each(function() {
|
1256
|
+
var panel = $(this);
|
1257
|
+
var tab = tab_by_panel(panel);
|
1258
|
+
|
1259
|
+
if (tab.length) {
|
1260
|
+
if (!first) {
|
1261
|
+
result.prepend(' ⟩ ');
|
753
1262
|
}
|
754
|
-
|
1263
|
+
first = false;
|
1264
|
+
|
1265
|
+
result.prepend(tab.find('a').clone());
|
1266
|
+
}
|
1267
|
+
});
|
1268
|
+
|
1269
|
+
results.append(result);
|
1270
|
+
|
1271
|
+
// unhide any hidden elements in the search result
|
1272
|
+
result.find(':hidden').removeClass('ui-tabs-hide').show();
|
1273
|
+
|
1274
|
+
// remove tab bars (used for titles) and mini navigation menus
|
1275
|
+
result.find('.ui-tabs-nav, .ui-tabs-panel > .nav').remove();
|
1276
|
+
};
|
1277
|
+
|
1278
|
+
var matching_elems = $('#_body').
|
1279
|
+
find(':matches("'+ query.replace(/"/, '\\"') +'")');
|
1280
|
+
|
1281
|
+
status.text('').progressbar();
|
1282
|
+
var start_button = $('#_search_start').hide();
|
1283
|
+
var stop_button = $('#_search_stop').show();
|
1284
|
+
|
1285
|
+
var prev_match;
|
1286
|
+
var prev_elem;
|
1287
|
+
|
1288
|
+
function process_match(i, n) {
|
1289
|
+
status.progressbar('value', Math.round(i / n * 100));
|
1290
|
+
|
1291
|
+
var elem = matching_elems.eq(i);
|
1292
|
+
|
1293
|
+
// ascend to a larger container for more context
|
1294
|
+
var match = elem.closest('pre,ul,ol,dl,table,p,div');
|
1295
|
+
if (!match.length) {
|
1296
|
+
match = elem;
|
755
1297
|
}
|
756
|
-
}
|
757
1298
|
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
1299
|
+
if (
|
1300
|
+
prev_match && prev_match.length &&
|
1301
|
+
match.get(0) !== prev_match.get(0) && // unique matches only
|
1302
|
+
elem.parent().get(0) !== prev_elem.get(0) // leaf nodes only
|
1303
|
+
) {
|
1304
|
+
emit_result(prev_match);
|
1305
|
+
}
|
762
1306
|
|
763
|
-
|
764
|
-
|
765
|
-
//
|
766
|
-
$('a[href^=#]').click(function() {
|
767
|
-
var link = $(this);
|
768
|
-
var hash = link.attr('href');
|
1307
|
+
prev_elem = elem;
|
1308
|
+
prev_match = match;
|
769
1309
|
|
770
|
-
if (
|
771
|
-
//
|
772
|
-
|
1310
|
+
if (i < n && !stop_button.attr('clicked')) {
|
1311
|
+
// timeout allows status updates to appear
|
1312
|
+
setTimeout(function() { process_match(i + 1, n); }, 0);
|
773
1313
|
}
|
774
1314
|
else {
|
775
|
-
|
1315
|
+
// handle the last item in this two-stage prev/curr loop
|
1316
|
+
if (prev_match && prev_match.length) {
|
1317
|
+
emit_result(prev_match);
|
1318
|
+
}
|
1319
|
+
|
1320
|
+
status.progressbar('destroy').text("0 results".replace('0', num_results));
|
1321
|
+
|
1322
|
+
search_box.removeAttr('disabled');
|
1323
|
+
stop_button.hide().removeAttr('clicked');
|
1324
|
+
start_button.show();
|
776
1325
|
}
|
1326
|
+
}
|
777
1327
|
|
778
|
-
|
779
|
-
|
1328
|
+
process_match(0, matching_elems.length);
|
1329
|
+
|
1330
|
+
}, 0);
|
1331
|
+
|
1332
|
+
return false;
|
1333
|
+
})
|
1334
|
+
).after(
|
1335
|
+
$('<div/>').attr('id', '_search').append(
|
1336
|
+
$('<p/>').addClass('status')
|
1337
|
+
).append(
|
1338
|
+
$('<ol/>').addClass('results')
|
1339
|
+
)
|
1340
|
+
);
|
1341
|
+
|
1342
|
+
//--------------------------------------------------------------------------
|
1343
|
+
// create print preview toggle
|
1344
|
+
//--------------------------------------------------------------------------
|
1345
|
+
|
1346
|
+
$('#_header > .authors_and_date').append(
|
1347
|
+
$('<span/>').addClass('printer_friendly_toggle').append(
|
1348
|
+
$('<input/>').attr('type', 'checkbox').
|
1349
|
+
attr('id', 'printer_friendly_toggle').click(function() {
|
1350
|
+
var checkbox = $(this);
|
1351
|
+
|
1352
|
+
function change_media(src, dst) {
|
1353
|
+
var styles = $('style[media="'+ src +'"]');
|
1354
|
+
if (styles.length) {
|
1355
|
+
// try changing the media in-place
|
1356
|
+
var before = checkbox.offset();
|
1357
|
+
styles.attr('media', dst);
|
1358
|
+
var after = checkbox.offset();
|
1359
|
+
|
1360
|
+
// but if that did not work
|
1361
|
+
if (after.top === before.top && after.left === before.left) {
|
1362
|
+
// try reinserting the <style> into document.
|
1363
|
+
// this works in Webkit browsers, which ignore
|
1364
|
+
// the in-place changing approach tried above.
|
1365
|
+
styles.each(function() {
|
1366
|
+
var style = $(this);
|
1367
|
+
var parent = style.parent();
|
1368
|
+
|
1369
|
+
style.remove();
|
1370
|
+
parent.append(style);
|
1371
|
+
});
|
1372
|
+
}
|
1373
|
+
}
|
1374
|
+
}
|
780
1375
|
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
1376
|
+
if (checkbox.is(':checked')) {
|
1377
|
+
change_media('screen', 'none');
|
1378
|
+
change_media('print', 'screen,print');
|
1379
|
+
}
|
1380
|
+
else {
|
1381
|
+
change_media('screen,print', 'print');
|
1382
|
+
change_media('none', 'screen');
|
1383
|
+
}
|
1384
|
+
|
1385
|
+
return true;
|
1386
|
+
}).css('margin-right', '0.3em')
|
1387
|
+
).append(
|
1388
|
+
$('<label/>').attr('for', 'printer_friendly_toggle').
|
1389
|
+
text("Printer friendly")
|
1390
|
+
)
|
1391
|
+
);
|
1392
|
+
|
1393
|
+
//--------------------------------------------------------------------------
|
1394
|
+
// activate base64 data URIs
|
1395
|
+
//--------------------------------------------------------------------------
|
1396
|
+
|
1397
|
+
var data_uri_by_embed_uri = {"cid:70892528":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D+PAAAAFVBMVEVmmcwzmcyZzP8AZswAZv////////9E6giVAAAAB3RSTlP///////8AGksDRgAAADhJREFUGFcly0ESAEAEA0Ei6/9P3sEcVB8kmrwFyni0bOeyyDpy9JTLEaOhQq7Ongf5FeMhHS/4AVnsAZubxDVmAAAAAElFTkSuQmCC","cid:70887404":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIkSURBVDiNjZJNSxtRFIbfc+cjmZkkfjSCEFuQtghCwUWj0KXb/IQs3GlBKBQ3waWLoNBfIBSkJYI/ILsupIsuGrIqLQGRoEak6KLNmExzZ+aeLuJMZ4oLz+7e97nPORwuMTMeUvOVvTrAW0TUZua1brN2AgAUCVZeH9aZeUsToh2Eaq21Xz3593h3U9P1vcKjojPyPDV0+z0wL3abtYEAgOWNxmYmY7x5ufTMnCsVV4QQn8rrDSduT7STny46mm7AzheEputTAFYBQIxz2llceOxYVgZP5maEbZkxMF/ZnQVg64YR+8xM1gbwCgBEeb0xC8B27GwMTE7mbKIxAKCsG8YouQ/dNDUiEU9QzjnZFFDIWZqmaauRwDAzuf8EYFYvYsFEwUkB+ZyFMBwDADwAKpmzYoDIiwQeM6eAMFQggnd37ARSDpN54EsQqB0JOreDPynAHXgQQrRjQeBrKYGUklkdA4AOoDMcjlKA63oyCMLju+MpK2XfXF4kERPA10hwKv3A/vzl+71At1mTAFINkkUP+crzld0egFLiyu82a2Y0AZY3DnvMnAJa+1Uz7kJ0npuaLmUsG74coX9zfRVlOgBogs6fPy2VZooT6LtDfPtxdpWQgZkPPLe/JDTdGvb7koGjKBMAEITq4OLyxnNvPZxdXEtmPkK6PgS+/+739c9bX47eg7me2kF5vZElom0Ab4noo1Jqu7Vf/XXPLkS3WUv9mb/vR+THZPMfuQAAAABJRU5ErkJggg==","cid:70886662":"data:image/png;base64,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","cid:70883008":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAk1SURBVGiBvVlpbBxnGX6+uda76/uO10fsxs5BjNOLtE3S5iAp2bSoiIqCFBSQoEgV3R8IQUUjfiAFCfhRugKqCohaobZAUyCIrtIoCW3Cmauxc9Zx4vhIfK9313vNzsz38mO9zux6du1dOzzSaGbe73qe732/Y75hRITlgNfNJACPM4bHFAFtDrvS5ix1NimKXByPRicikfhANKZf1zh6ARzx+OjmcrTLliLA62Y2AHuK7eLXXC1NO9esaxVr62tlUbEBxECaBnADJEoQRAEAhxabocH+Ie1m30BgeHj6DVWntzw+6vm/CvC6mcAY9tbXVbyy+fGHSqsaGiTEY8BMEBSeARl69gZlGay4FNxRAogGBnp7E+fP9Z2emI590+Oja/dcgNfNtldVOA9u2fpww4rmFpkmR8FDAaAQTwoChPJKkMOGa5evJLov9B8OzCRe8PhocrFV5CXgtafY/g0PrN7/4KZHbAhMgvsnCyOeCVGAUFkLLiboxPEzwb7+qa0eH3UvpuiiBHjdzGaT2Ds7dj36VEtbq8yH+nOGSaFgigKqKsf5sz3quY8H977oo0MLlllIgNfN7E67dPqZZ3etLS2yi8bo8PL0ejaIAlBdjYFbN7QPT37y8rcOGz/LlV3Ileh1M2aT8O4zX9i2tkSSRGNk6N6SBwCDA2PjaHG55E2PtB3wupk7V/acAmQBB7Ztf3hnaXG5yCdGl5foQpiewX1tLXLX+ob3vG62Nlu2rAK8bubu7Gz9TmtHh2KMDN4bkrlABBaIYuNDHUWtTRUnZ9eceZCsjF43k0qd8q83Pv4ZGx+6lXfYiF1fhlDVMUvEALgBADCu/Bl84pPFV2QYYIEYtm5prxw5dO67AA4sSoDA8PyWzeurKRwD6Vpe5AFAbH4MQtPG+XzunAfyEQCAdILERWHt6vr9Xjf7lcdH02lcMwt43ay4rMT24+aOtQr3j+fLPQk1ZG2PZ7EvACFq4MH7m20lDukn89IyDQz46hOb1jgoGEjOCAWA4kHrhGz2herjgBCJs472+n1eN3OY0+YJUCTsq29plikYKKgxILsAUgsTAACIa1i9qloE8KTZnCbA62Zl1VUlXQKzLWmlXW4PJCu1wemwidXlRd8wmzM9sOfT6xoYj8YKbwiwJmrooESk8DoFEYjE0eCq2DH77ZE0m/MoIrbW11faKBIuvCFYe4CyDew8IMRiaFxRxgC0z9nMGUSGVsXhBGmJpbVkJWAp4ZOqgxOKHQoD0JCypQkgoFGQiwDDWFpDVtOl2QOF7qc4weGQRQCulCltIRNEsY4VVnU6rDwQHgP5b4ASYUBXASYCogwmKoDsAHNWA7LDojJTHRxQbLLAGJosBYiS6ICuLpk/aWGAc0C462AKDYOiU6ZMBqAbID0OqCFQeBSQ7WDOWjBnLcAsupLrYAAkAXUpU1oIaQktSDn3pwtSB8X8oIlroNhUekp0KksZM4EYKDAAPtYDivnnp3MdBidoBuZ2l+l7IaIx4notGMsvTg0VFJ4ARScAQ5sjzJw1d/MsRkAKugqa6gMpxRDKmwGlGADAKIF4PGEAGLYUwIBhPRLsFIlAkHM3wnVQbBqI+a1nmGgBHshEIgw+fgVQnGCCBCYRItEEB3DHUoDOcT0eVXc71BBgq09KSmNhJElH/cltQQ4v6Wd+A2Hs0tw77z+Vv4A5IREQAKGmHsEZlcPkgbRvYq+b7d70QMOhzka7Q789lAwBQUwO/0QEFC/w+GSZwO5bhxNnR0N7XpsqS9kyh+yJS72TYOWVgJEAhW6DAoOg4HCy5wshL9uXSHsWggBWXIqR0cC7aWbzi8dHajyW+EhVNTCHc2nt1Xei6PlTcPwwANtzby9ZiFBagbGxYCKq8rfS7JkZVQNvXu8bj4l1rsykvCBvfRnCys2AqEDs+gqkzueWVB9qXbh0dUwDkDaYrGb9Q2d6Rqa4swzMnntlzAVWtSrnez4QyioR1pkxMOT/kcdHafv8eQI8PjLiGr1w9vxATGpqK7hR/d+/uDtmtCj0cwcLrguuVvzjP7dCOsfPM5Oynsy9/jT7eO+z928QxwbBAwXM4Uj2utj6BIxL7yVnsAIg1rkwLpTrfzlyed+L79PbmelZNw6qgX2HP7gaFZrbCg4lmuqDfva3BZMXSsuhVa2g4yd7u4nwjmWebIU9PurxB+NfP/Zhb0xatQ6QLE9g7hmYrQho6cDfPrgyGYpouzw+61DJuXX79vv0x4Hh4Ks9F2+rcsd6MFm5N2wzwIrsENrX49jJvuj4VHSbx0cWO7skFtx7ahw/OHtx5E9nuu/EpLVdYI7i5WWbSaisAqx9PY5+1Be9OeD/osdHl3PlX/B4nTEmApBe+RxeanWVfG/3jjUOGh2CsdyHvYxBrG+EVl5Lfz1yxd89EHv6p//EBQA6AJ2yEM0qgDEmAJCR3PBJAKTvb8aT6xpsr7u3r3KWFduYMdwPHpy2LJ8PhMoaCK6VuD0a0o+dutH7h279S8dvYjxFfvbSZoUsLGC211PkZfPz7na0fLYN+9say7bs2LSyqEjkMCbGwAN+II+zJCbLEMqrwGpWwD+j8b//qz92cSDy6i9P43chFaqZdMZdM3tjngBTz6cRz3z+/Gp8alsrXmpfWbGma3WNXLuiQmDxKHhwGpSIA4kESEuAdA1MUsAUBZAVsCI7WFklDEnB8JBf7746bnTfDP3+jQs4OBxCKEXSTNhCwNyJs5UAyURWySJk7nq0CS0bXdjWWsF2NjaUutqby6msWJEcDkUosisQZQmaqiEeS1A4muDTIZX3DUxT/53w+cvjOHr0Bv47HsFMBlkr4gnTu5rivZCAeYQtrrl8bRWo2lCPNSU21JQoqK6wo04R4ZhR4ffHMB5OYGoyirFTg7iq6ojn6uVcgoho7uTBSgDLEUJWIWUWLJruIpKfdKnPOgJgAOCzRA1kDNAs90xxKhHNHZvPW16JiBhjWkbDqTvNEuCzBFICdBNpEcn1RUD6N6m5vGG6p0SknjVYzD5W5IEF1oHZ2UgxETVfKbKpZ8GCfObhDrfohGxeMUzk40RkeVy4qB/dqcUMyVDJDJNM4mbymQIyvWgWYhZhYHbQZiOelwCTEJhIpuI+JYCZyKe2KNkEWIlIxTrPDJNc+B/DI2njy1uQ2wAAAABJRU5ErkJggg==","cid:70880446":"data:image/png;base64,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","cid:70879788":"data:image/png;base64,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","cid:70879312":"data:image/png;base64,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","cid:70878724":"data:image/png;base64,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","cid:70877506":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAU3SURBVGiB7VlPaBRXHP5+82aTSLIrkY3YJR68VmuSPXlRPPQPGg05iD14sZfEUkpbPJQqQVJs0yQlkEDobaE9CaloTlI0InhYNOBi2yAFT0JxZW2ysn/cmTczvx4ym+7Ozs7uzK6kQj54zOzvzbz3fe/3583MEjPjbYay3QRaxY6A7caOgO2G2uoAExMTB4QQVy3LGrEsq+XxnFAUpcDMCVVVv71y5Ure2d/yhKqqLgwPDw8PDg6SEMLzWj8lu3ytlLLr9u3bXzx48OAlgJma+f3Rrcb4+HgoGo1+FI/HSUoJKWVDQpXnThsR1fSHQiEcP36849GjR2NtFxCLxYSu64qiKDBNsyXyAGBZVo3NNE2EQiEA2OU2dttj1gkvwn766+GNCvAi50eQF96IgCCrHVRQ2wW0Sq7tHhgfHw/FYrF69bELAAzDgGEYvsipqtoU+cA5MDExcUBV1Z/27t37vld97+rqEtPT056TOCGlRF9fH44dO4b9+/cHTmDAQ4AQ4uqpU6c+jMfj5Itdk0in07h27RrOnz+/ZWurByzLGjl8+DBpmlZVn5tBo/AhIuzbtw+GYSCfz6OnpycQ+UYCVCEEDMNoG/GKscHM6O7ursodv+Q9BfhBOypL0ErUsoBmCDda2WbKLTO75mJgAX43paB7QYWdiIjYsQK+X2gqB3WbqFmbc0wvQfZvBUC3815fHggaLl4hREQgoq1KV36kLh/LhYSZNQCdAKpeapoS0I5wqSciEokgEokgm80CAHbv3g0hxNY1hmHg3r17xvr6+q9u3BoKCLrCzfRJKTE3N2devHhRhMNh5HI5qKqKyclJSCl1+7bSxsbG8srKys8AXgcS4IzddnmEiEpPnjz5anFxcebChQvhPXv2AAA0TeOFhYUjxWJRBWAAKADYcBPQVBK3kqxeNgD86tWr35PJ5Oj8/PxGMpnUmRnRaLR09uzZAQAv7ZYB8I+zAgFtDiG/HiEi7u3tzV+/fn0tm82+p+v6lw8fPvyso6Ojo7+///uDBw8eWltbKwKo+7Ld0AOVIeRczRZXHwAgpRQA1GQy+Xp2dva7W7duHXr+/HnCNM2+EydOfAqAsLnQgohUIqri/EZDyE20Y1wqFoudAEI2SfXOnTvZqampr58+fTrAzO+cPn26z+ap2GIUKtdY1AkhIlIvX75cQ8rt6MfmNlWpVOqyyVU+8vLS0tLfAL5x2AGgasB6OdBJRKZpmnB+MqncdCptdlWpjO8tmxOKokBRFORyOWiaxrYAaZOz7GP53Ko4N5m5avIaAUQkAKi6rv+WSqVG4/G4UvlGJqVEPp+HEAKRSKSOfm9YloVnz56hUCi8XF1dTdvkpIN8pQDLrQK5CijrSCaT05ZldS4vL3/AzAIADQ0NWaOjoyoRIRwO4+7du3JlZUXA4dZGsPPhz8ePH/8AQLPb6zLxemRdibo8mxCAHrt1A+gAwGfOnDly7ty5xZGRkV0AsLq6Km/cuLGWSCQ+yWQymh8B+C8hS9jcpHLMXPPhthnUeICZmYh0bK4KAdABcCwWG+jv71dN08TNmzdLqVTqr6WlpY8zmUzN7uhDgG6LKAYhD7h4YKuDqBObn03EyZMno4ODg38cPXpUSaVShRcvXkwmEolfcrlc/Q+i3ignlQ6gyMxBx6m/EzOzZntCDAwM/AgA9+/fn02n01OJRKIQdEIbyuYUwYmXUdcDZVy6dOldZv7cNM3JmZmZdKsTth3OXdPZxsbGQo2u2c7W0AP/d7z1f/LtCNhu7AjYbrz1Av4F8/cV1apw1zkAAAAASUVORK5CYII=","cid:70779618":"data:image/png;base64,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","cid:70770252":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAS1SURBVFiF7ZddbBRVFMf/596Z3W3rtiwtUFsJFQhWMQSIWi0UKJHPlISvCGpiogkxig8SlBSj0Rij6YMPJhB9IyZqTFRC4pNKAgElplSIsRURRL6xtLRLu53dmbn3Hh9mFrZ1Kcs2pi9McnJndu8953c+7rkzxMwYz0uMq/W7AACssSpofo2qlJQfW6X66QNvs7rT9WOKQNP22Kz4xNqOadX1y1CkM0UDLH7dXlo3ddahV9a9O62m6n6/WD1FUS9qtbbMe6i5bUXDxkR/5h+AijVfBEBTa+TD1Q3PbJlX3xQ/39eFeKyyeOt3AvDIi2THJsivn1u5fUXt5LroxeRJMBjA2BoZFdIJm7fRBHFP+f4tLTvnRksism/oCjQrKOOjIlaFgWTSOX3pj0FmRiAGBszMBgyG1gqdZ38+cvh9tWGk7ttG4IltJXWTJtbsf37NjulplaSeVDeYDTRrGKMw6PahrKK89OH43FJjVAimYFhBax/aKFRXTEfn3+2T8+kfFaDpjUhD3X0z9m5e9lJNz9A5eCoDRughGxhoeF4ag+41aKOgtA9tfCgzfCwvmXRLG7cEWNRqbZ5d9+iulY2bKi8ku6CMAhGBmQFigAIAIzTYaLBQYFYwRsGwzhGD0eokL0DTzug7jXNWvjq/fkHFqd6jAANEwV4jQQEAgvwaykIoMGmwMGCjoTkACUZTOMDCndaelsZnn5oyubr0VE87iAQIBCKCEHRjyxOFBcY+UqofQ24SaX8IMACMALGEhRKAGYZ14QAEOL3XL2urzCDpdKMsloCAgLAEBBG0ceF4STg6ibRKwtVDYV0w2ABGM4xmaMUwiiE4ghnevFB1AQCHP1BbF7dG/pw+MPutWTNnVnZc/A5CANFoDBAaWmQgJUFIAkmCsAPdzATWDKIcUwwo30VGOQCDiEgyDw9H3rPgUJu/u/PEby8cO97R3TB1DWw7AtcMQlEGQhKERRA2QVqhhPfCDv4bBigDGmYIABEikqMCEJEAYHXs0ge62i+tPXjk+/Pz713FidIpECJQPsywLSAtcQNCWrnGEdTNzeBbACyim7/k2wUiFHlir//X4LneFtfd9+Xy5pYHrnKX7PXOQsjQS4tQYpcjEa0J8m+CvGvF0L4JR0ZpJA4wKEc3Idybt+uEdPEX9F0/l1rvet988uSS1Y+XJxKxC86vAYQlUFlWC75alT5/+kImaMPgoMOb4KQwxNdwlJlNb14DI8+CMEeRUOyc0X5sq/3mwgWN62vrE/HTqUOQNqEmXo8zR5z+z3Yc35BJwgGgAPiheCPus88uh4b/UwNhlepQ0TBp3+2/d/CHn9p+bz/TP2fialgyEuRYgEnCAZAB4OYYG6lDA/A4x+tbpWDkG07Q+gB9bI/63OvvOjXgDHy0fMWq6hRdBsNhIZEOAfI5kI1Chnl4W8wLEBJ6RGSyhsO5EoDs3Kd/TCUvrXOcb7/YuHZTHXE3ywgcAOlwfnbNDa9Hen67CGRBFAAV1oWdBQAgzh70T7rXe5pd79OvonbJg5E4hsII5AJ4AHQ+wwUB5IBkw4pwDwsAdOU4UiQGl8xc6r3cK3AtnMPBksK++Qp6I/o/r3H/MroL8C8JiYMXQa6AIwAAAABJRU5ErkJggg==","cid:70769230":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASrSURBVFiF7ZdtaFZlGMd/133O2dgcmunUZDgzzIYvJIH2wU2UtDKKXkCCLIqiDyIWZfhCEYIRCUIgUvYhApMKKoUMDd9ymagzNHTGZNlSp5tz0z17e55zzn1ffXjOo8/WZuqH+SEfuLgOPPc5/9/1v677PhxRVW7nz9xW9TsAtwowZ7X4Ve/4i24bAFcoKb173MZH3h2yY8FSKRx8AGDqhBnpt57/eJ43aszhqqVSOugATh1i1Cx+ZvW0svEVNbNWFE4eVABVR1d4mfOpehY9+kb5tAkz9lSu8J8cNACnjshGpOMOTrcdY/7Dz42a/eBTmyqXFy6/medIfydh1Ur/64pxM+cGnq8igogICCJylXtieUXJsGF3FbV2NeLUouoYM3QCF1uaurfu//zb6oLoFX1f3S0BVK4q2PPmwg/mXOo6h4jBE58siMHINdNS6VbSUReKw6nDOcvw4tH4tij6ZvdnB21rasHeDdp5PQB/oD+6wxSN7acScYMRL8kCJE4IqCqqDtUsRHNHA8XB0OCFx5bM2rL3iyOz35Z5+9bp2YF0BpwBq5bYhkQuQ+ySbDPZTAYrIY4MTrLXlpBYM8Q25HJPMw1Xjsqzc1+aVFY26UDlqoKZNw3gXEzswiyEzYrHZHAS4gixksFKhJMIJyFWQjKuk/boIq1djbR0nuXYhd3Mnvl42eTxD22rXO6/2J/OgC2wGhO5ECMeBoPxPXwEMMk8CKHtpjPTRmfUTjrsxFqLs4qLFRtnZ6vxSh3Tx88fOaxk2PqqlYUV1R9mVt0QQCbupivTjmd8giDAOEirRV1M5Hrose3EGmYXK4gPngi5jaKAi5XQprmQqqe0ZGKh58mUG3NAkY50G80dfyEGvMDg+YLnC8YXjCcYD7zcjlAQp7icuCbhlIpRs4hSfuqnmu+/PLDWLmFNb6l/zYCIeFwdczBGMIasaALh+YIXGPxA8APBC6Q3oC/4vseM8idoOdfe9uuhXe8dWGuXAd51HcgeOHiqWQAREC9X8bXwEhfEZDnVKbndqQoFUszU0fM4WHOo6dSxhsW/b3bViZaKiNW8w6dvCwzgoUhRUELZ8PsxgcH3kyoDk3UhAUnFTaRtJ+queVbij2BicZXu3PPT37W7Wl9u+MXWX30u2CTHAwEkPXSttX8cvySmGBHIgKiIGAMogiDjxo8tHDHSL2rqqcM5AXWMKCyn1E2Jf9ixpfbIVx2vtZ+mLUHLtVT6avU6ikXEAAVAkOT86yA/Xv10+rb7ZhWPaOqpw8WOewqn4pqH9+zYuX1/zcbMsrCLHiACwj45rXrtHdHLAVV1ImITy2xiVX4FCjjAiqDGCL5vuHdIJQ3H21LVP/+4ueaTaH1yX5REnIQFonzxflugqlEyjPmiOeE4uccgqMHngSHzObzvRMtv1bVrjm6KtueJ5SByOa2qcV+9AWZAQxFxuWqT8MkOkAGMgI71prN123fnTlY3vn5yqz3RZ30OIgYyqmr70+r3ddxrQfZcCK5WnsTTH5X9GUXp83W7Ly2s30tznks5iIh+LL8hB/q4YQGb1xYDyKXLFzec2R+uO7Ofnj7i+l+ivQq88234vwf4B6YlTDQudkyaAAAAAElFTkSuQmCC","cid:70765884":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABSlJREFUWIXdl1lsVUUYx/8zc7a7daUroXQhlkpoQ4sVA8b6gilbIEIDggEiEiSRFwzEJ/pCXXjgQR8sAW0I0QQSicZIiC9IsClFFqlC6HorXW/Xe+/p7b3nnpnxobbpJW1pS+uD3+N3vpn/b2b+c853gP9rrNp1WZtNHVlo4ZLDl/YzkC+lhAMUZ+9Uv3MCIHK6eraQ4sXvX9ri0tVvD2wtMt4oyaZPvP1rE1bf93ff/f72dGMWbAcKj1xMNYTSeGh7cbxUFNhcQpE2Lvxwz1Sj4czfvn4vONU4ulAAGicni/LTjYR4Jxo7g2jzjSAzJQ5Ll3iUCDUqphu3IACF7150MUqPvr4mS2/sCkICEEKic3AUhfkZBlXJjkUF0HW6JTXJTVwOHYOmNZHv80eQlRYHSFLyQgCrdlXOeKUkIRtezklVff5ITH7U4vC4dAjO00sOVzvnASDJ8vJPz5ghPZSz+ZNg9uaq/VNOQkmypjMaifKYvC0kKBn3eaI6Z4DsTZ9/mBTvOHZ0TxnbVV7q1hXlfO6mqi3P1nEhvIFg2NbU2Ol0hcIM2yAgPHcI5pwA8rd95iFEnN5UVqS19piQTMHO8lJFEHIpb+OZ1Mm1DLjT1jVsexyxizQ0hkF/CJSSlitXKmK353kAYc4rUpPilbQlcXjQ5MOv9zvgdjuwesVSw1b4yRgAxut7B4KGxgjIpDdLSpyOx20+Swh5dTqdaQEo2I6VKzKNJ0+HwIWEkBJ1j7rx6ppcnVIcTdt4xjVeawmHyYVE1BYTZ+5xqFCpxMOmHoVSXJgzAICSrPREtHX7JxKdfSaYoiIj2UMczJ7kBVuldExY/Gu83FQXrtc2WlLImtvVe5vmBJC5tdIppUh3OjUEQ1bMM29PAMsyl6gScgMAFB+6WECkuOlxaLBsCQkgM8lAR++wbO0cClpW9PgMi5wawBg1VACghMJ65mqFLRuMMUooSwYAytgxl6EWFOSlcv9oFJpCkehScb22kQsujzyoOTg8Z4DWxFxTEvDASBhOI9bZDk1BYCRsQwovADCCbbvfKsS6wizW548gJU5HQ4tPhsJRJcevTWu+GQFwpYJT0BbfoIl4V+xL0O3Q0NfvtyXFnZLD1SrnMlNRGf78O4BwlCMlXofKxhcisucHAEAKcbW1vdfKSHZP5AgBDI2if9g0OHi9orscACAkgS3Geo5AKIqoJSVltPbuud0t8wagjF3wdvUpTo0izjm2C4yOeYJzAS2smLe/2BdglA72Do0gwaki2aMhErFQ+9ArbFvMaL7nArT+dKKJc1FT/0eztTI7GZQQcCEmrpniUFQAICBnb/7eEtaZBOwofrzxyLI5P3Xv/L662QDM2BFlb69MQFRvXlf8UlIUKmnvCWBtfhpu1TXADEUeS0LfznmltCnU3V0jBN9DKIsQKU7Xn9tbNVMfOGsAAMgpr9qpG9p3b64vUhraBpCe5IQ5PMzbO3xsNBL9yvvzxx8AQNmBb4wbNQfDsxGdHM/tB9rcK66GI1Glpb1HZiS70DUwgrycpWx9aQEIJdvG6+YjPiuAZaY3GwA0hSHBrcOKcjxo9kGAQgqZWVJSPeV3fsEAnl470UIJqbVsLobNsY4nagtwPnbE/tRux6ICAIAQ5Hirt0sKbiPJY8Dj1DDoN0FABpuvVQYWHcB77WQdF/JUw1/Nlko44gyK5raOMICzLyIOzOHPaLjpl1vuvFuir3/otW7fAOO2vLw8FP7I670hXhRizpFdVmn856KLFf8AcP0p5DnhnVEAAAAASUVORK5CYII=","cid:70755888":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAAAfCAMAAABUFvrSAAADAFBMVEUBAAAIBgMMCQQLCwsSDgYXEgkaFQoUFBQcHBwlHQ4rIhEwJhM2KxU7Lxc9MBgjIyMoKCg0MzI7OztBNBpOPh5OSz9TQiFeSyVkUChqVCpuWCx1Rzl0XC5+ZDFOTk5ST0tWUk1VVVVcXFxqXUplZWVra2twcHB7e3sAWpwIX58JYJ8OY6ERZaIVaKQaa6Yebaghb6klcqopdawxea82fbE4frI+grRFhrZMi7pVkb1alL9dlsBkm8NoncRtocZ0pcl8qsyWBAOZAACcCASIIBmdNiegDge3PB6mPiqBZzODaDSKbjaOcTiUdjuXeDyaez26QiG/TCaAeWihclPATifBUCjIXy/QbzfWej3Yfj+KgWWjgkGui0WxjUa0gVi3kkm6lEq+mEyjkmuzn2e7pnLFnU7eikXOpFHRp1PVqlXarlfesVjjlUrmm03poFDtqVTitFrmuFzqu13ywWD7xWL+y2WDg4OXl5eYmJippZ61rZisrKy0tLS/v7+Crs6FsNCLtNKQt9SWu9aYvNebvtifwdqjw9uox92ryd6yzeG20OPCwsLMzMzU1NTA1ufG2ujN3+zT4+7d6fL/7Mbn5+fs7Ozl7vXp8fbu9Pj09PTy9/r1+Pv+/v7MzMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADn4rtgAAAAnnRSTlP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AD6H4/gAAAABYktHRP+lB/LFAAAACXBIWXMAAABIAAAASABGyWs+AAADSUlEQVRIx+2WaU8TURSGzyCLQEUxiFYtCEo8Da3sYglQbDUaluISV6pYFdsyop1Or8ElSgg2RSjgArSZ63/13JkOXRBZgn7yTXpmyzwz857lFhb3XW9/CsEi317f2c71/OnZ/+C9gSdDKmNySI2GorQNxiaDpFA4FgrS+WgoxFhwck/gMTjBwmCJ+WCYMQso5SBUoQCcZKwGgClg2QSOt7jp7pnWGQFJ2e0tpFYX5+k3TUn+QTOsqAV/hRRmJngiYAVrYILAkipT+C34GzqJ+AW7BDiBhga4VgdwIFmdNMBKMcAQI3Ctz1cOCmPD4hEKVBX5TpdYfg/m7bhC0YHrFHvQtbY2h840fw9Hzh8tO7CaSZ6V3k2AdWXBNdaKosGtwG78SLED4xSd+I1rbWK37ii5cO58pirCUglYBXhIjVlywWGQoluBl7CT83VE8nUZ28lu3ZUycUlLZ8CVUrgGnpgeR7JgZrUxHVzh9/tjAuzxbFRFM7nwGbGZ8wF083UHLlPqDuZWxSAZrBSXqmbyGBuBEQNM0sFCUQJf8QiyAXbRp7uwA5fI7iXei9ifotzlgiMy3R+NqKpMRiv6gUwVzfTAlAiLyUJkxVWPUAYcR5fWfCGB7jV00GOciJ0an95T5133GDLAKXTMY1/K3j6HPeJ42YEJvrAX8M0M1+y8LvJhnnejURmc92HvH2aFGtuWa4I/Ido1qgbElH48j235YNkiwbhxc6QKpJN56NiN18bOnQ2uCV5BvCRaEC8aqAS2rBp76bSRPFutCT4No8chkMu95vG+ynIve3KHUAvO6i04w2d7dCu6Fwxy00LGCpsJrixlQbAVfL/35Qb3VN5068M1vQW/UrG5U3EHxrXGH4IrJTfAxluqUMWicCjLva/zvC8Mf72388fmfIeIS61UIU60o2jFxbKGxsMwzQvfuKScyTREcxz2ZOV9XDCPtY/6ZoB+X/udzl6Rw2RDWfV7ngceonFxXIqMgj83eXey3Fe7HfRh0bAlondZQJKgXM2rsrsmd2rXK4j6ZHx8PMAmhM/y2CO1oH7vmdx9X0wfZLj7v0q/8Orcv7D8T039s/8VH7bVu2c718NbJrhuBzq2leo3nTlTX62DfwGZkKiGotSUXQAAAABJRU5ErkJggg==","cid:70754474":"data:image/gif;base64,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"};
|
1398
|
+
|
1399
|
+
$('img[src]').each(function() {
|
1400
|
+
var image = $(this);
|
1401
|
+
var embed_uri = image.attr('src');
|
1402
|
+
|
1403
|
+
if (data_uri_by_embed_uri.hasOwnProperty(embed_uri)) {
|
1404
|
+
image.attr('src', data_uri_by_embed_uri[embed_uri]);
|
1405
|
+
}
|
1406
|
+
});
|
1407
|
+
|
1408
|
+
$('style').each(function() {
|
1409
|
+
var style = $(this);
|
1410
|
+
var css = style.text();
|
1411
|
+
|
1412
|
+
if (css) {
|
1413
|
+
for (var embed_uri in data_uri_by_embed_uri) {
|
1414
|
+
if (data_uri_by_embed_uri.hasOwnProperty(embed_uri)) {
|
1415
|
+
var src = new RegExp('\\burl\\(' + embed_uri + '\\)', 'g');
|
1416
|
+
var dst = 'url("' + data_uri_by_embed_uri[embed_uri] + '")';
|
1417
|
+
|
1418
|
+
css = css.replace(src, dst);
|
1419
|
+
}
|
1420
|
+
}
|
1421
|
+
|
1422
|
+
style.text(css);
|
1423
|
+
}
|
1424
|
+
});
|
1425
|
+
|
1426
|
+
//--------------------------------------------------------------------------
|
1427
|
+
// create jQuery UI tabs
|
1428
|
+
//--------------------------------------------------------------------------
|
1429
|
+
|
1430
|
+
$('.tabs').tabs();
|
1431
|
+
|
1432
|
+
// make internal hyperlinks reveal their targets (which may be
|
1433
|
+
// nested within many levels of jQuery UI tabs) when clicked
|
1434
|
+
$('a[href^=#]').click(function() {
|
1435
|
+
var link = $(this);
|
1436
|
+
var hash = link.attr('href');
|
1437
|
+
|
1438
|
+
if (link.parent('li').parent('.ui-tabs-nav').length) {
|
1439
|
+
// tab clicks should not cause the screen to scroll
|
1440
|
+
set_hash(hash, true);
|
1441
|
+
}
|
1442
|
+
else {
|
1443
|
+
reveal(hash);
|
1444
|
+
}
|
1445
|
+
|
1446
|
+
return false;
|
1447
|
+
});
|
1448
|
+
|
1449
|
+
// make external hyperlinks open in a separate window
|
1450
|
+
$('a[href]').not('[href^=#]').attr('target', '_blank');
|
1451
|
+
|
1452
|
+
//--------------------------------------------------------------------------
|
1453
|
+
// style jQuery UI icons
|
1454
|
+
//--------------------------------------------------------------------------
|
1455
|
+
|
1456
|
+
$('.ui-icon').parent().hover(
|
1457
|
+
function() { $(this).addClass('ui-state-hover'); },
|
1458
|
+
function() { $(this).removeClass('ui-state-hover'); }
|
1459
|
+
);
|
1460
|
+
|
1461
|
+
//--------------------------------------------------------------------------
|
1462
|
+
// unveil the document
|
1463
|
+
//--------------------------------------------------------------------------
|
1464
|
+
|
1465
|
+
$('#_loading').append("Ready!").
|
1466
|
+
fadeOut('slow', function() {
|
1467
|
+
$(this).remove();
|
1468
|
+
|
1469
|
+
$('#_body').show();
|
1470
|
+
|
1471
|
+
// respond to changes in window location
|
1472
|
+
(function on_hash_change() {
|
1473
|
+
var current_hash = window.location.hash;
|
1474
|
+
|
1475
|
+
if (current_hash && current_hash !== $last_hash) {
|
1476
|
+
$last_hash = current_hash;
|
1477
|
+
reveal(current_hash);
|
1478
|
+
}
|
1479
|
+
|
1480
|
+
setTimeout(on_hash_change, 300);
|
1481
|
+
})();
|
1482
|
+
});
|
1483
|
+
});
|
799
1484
|
|
800
|
-
//
|
801
|
-
// ready for action!
|
802
|
-
//
|
803
|
-
$('#__loading__').append("Ready!").
|
804
|
-
fadeOut('slow', function() {
|
805
|
-
$('#__body__').show();
|
806
|
-
on_hash_change();
|
807
|
-
});
|
808
|
-
});
|
809
1485
|
//]]>
|
810
1486
|
</script>
|
811
1487
|
</head>
|
812
1488
|
<body>
|
1489
|
+
<div id="_loading"></div>
|
813
1490
|
|
814
|
-
<div id="
|
815
|
-
Loading... <noscript>Failed!
|
816
|
-
<p>Please enable JavaScript in your Web browser.</p>
|
817
|
-
|
818
|
-
<div style="display: none"><br/><hr/><br/></div>
|
819
|
-
</noscript>
|
820
|
-
</div>
|
821
|
-
|
822
|
-
<div id="__body__">
|
1491
|
+
<div id="_body">
|
823
1492
|
|
824
1493
|
|
825
|
-
<div id="
|
1494
|
+
<div id="_header">
|
826
1495
|
|
827
1496
|
|
828
1497
|
|
829
1498
|
<div class="title_and_subtitle">
|
830
|
-
<h1 class="title">Ember
|
1499
|
+
<h1 class="title">Ember</h1>
|
831
1500
|
|
832
1501
|
<h2 class="subtitle">eRuby template processor</h2>
|
833
1502
|
</div>
|
@@ -835,7 +1504,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
835
1504
|
<div class="authors_and_date">
|
836
1505
|
<h3 class="authors"><a href="mailto:sunaku@gmail.com">Suraj N. Kurapati</a></h3>
|
837
1506
|
|
838
|
-
<h3 class="date">03
|
1507
|
+
<h3 class="date">03 April 2010</h3>
|
839
1508
|
</div>
|
840
1509
|
|
841
1510
|
|
@@ -846,28 +1515,29 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
846
1515
|
<div class="tabs">
|
847
1516
|
<ul>
|
848
1517
|
|
849
|
-
<li><a href="#
|
1518
|
+
<li><a href="#_document">Document</a></li>
|
850
1519
|
|
851
|
-
<li><a href="#
|
1520
|
+
<li><a href="#_contents">Contents</a></li>
|
852
1521
|
|
853
1522
|
|
854
|
-
<li><a href="#
|
1523
|
+
<li><a href="#_about">About</a></li>
|
855
1524
|
</ul>
|
856
1525
|
|
857
1526
|
|
858
1527
|
|
859
|
-
<div id="
|
1528
|
+
<div id="_contents">
|
860
1529
|
<h1 class="title">Contents</h1>
|
861
|
-
<ul><li>1 <a id="
|
1530
|
+
<ul><li>1 <a id="_contents-Welcome" href="#Welcome">Welcome</a><ul><li>1.1 <a id="_contents-Resources" href="#Resources">Resources</a></li><li>1.2 <a id="_contents-License" href="#License">License</a></li><li>1.3 <a id="_contents-Related-works" href="#Related-works">Related works</a></li></ul></li><li>2 <a id="_contents-Setup" href="#Setup">Setup</a><ul><li>2.1 <a id="_contents-Prerequisites" href="#Prerequisites">Prerequisites</a></li><li>2.2 <a id="_contents-Installing" href="#Installing">Installing</a></li><li>2.3 <a id="_contents-Upgrading" href="#Upgrading">Upgrading</a></li><li>2.4 <a id="_contents-Uninstalling" href="#Uninstalling">Uninstalling</a></li></ul></li><li>3 <a id="_contents-Theory" href="#Theory">Theory</a><ul><li>3.1 <a id="_contents-Directives" href="#Directives">Directives</a></li><li>3.2 <a id="_contents-Operations" href="#Operations">Operations</a></li></ul></li><li>4 <a id="_contents-Usage" href="#Usage">Usage</a><ul><li>4.1 <a id="_contents-Shell-command" href="#Shell-command">Shell command</a></li><li>4.2 <a id="_contents-Ruby-library" href="#Ruby-library">Ruby library</a></li></ul></li><li>5 <a id="_contents-History" href="#History">History</a><ul><li>5.1 <a id="_contents-Version-0-1-0-2010-04-03" href="#Version-0-1-0-2010-04-03">Version 0.1.0 (2010-04-03)</a></li><li>5.2 <a id="_contents-Version-0-0-1-2009-10-03" href="#Version-0-0-1-2009-10-03">Version 0.0.1 (2009-10-03)</a></li><li>5.3 <a id="_contents-Version-0-0-0-2009-02-13" href="#Version-0-0-0-2009-02-13">Version 0.0.0 (2009-02-13)</a></li></ul></li></ul>
|
862
1531
|
|
863
|
-
<div id="
|
1532
|
+
<div id="_floats"><div id="__command__"><h2 class="title">Commands</h2> <ol><li><a id="_contents-gem-install-ember" href="#gem-install-ember"><tt>gem install ember</tt></a></li><li><a id="_contents-gem-update-ember" href="#gem-update-ember"><tt>gem update ember</tt></a></li><li><a id="_contents-gem-uninstall-ember" href="#gem-uninstall-ember"><tt>gem uninstall ember</tt></a></li><li><a id="_contents-ember-help" href="#ember-help"><tt>ember --help</tt></a></li></ol></div><div id="__example__"><h2 class="title">Examples</h2> <ol><li><a id="_contents-An-empty-template" href="#An-empty-template">An empty template</a></li><li><a id="_contents-Comment-directives" href="#Comment-directives">Comment directives</a></li><li><a id="_contents-Escaped-directives" href="#Escaped-directives">Escaped directives</a></li><li><a id="_contents-Vocal-directives" href="#Vocal-directives">Vocal directives</a></li><li><a id="_contents-Silent-directives" href="#Silent-directives">Silent directives</a></li><li><a id="_contents-Block-directives" href="#Block-directives">Block directives</a></li><li><a id="_contents-Infer-block-endings" href="#Infer-block-endings">Infer block endings</a></li><li><a id="_contents-Raw-file-inclusion" href="#Raw-file-inclusion">Raw file inclusion</a></li><li><a id="_contents-Template-file-inclusion" href="#Template-file-inclusion">Template file inclusion</a></li><li><a id="_contents-Dynamic-template-evaluation" href="#Dynamic-template-evaluation">Dynamic template evaluation</a></li></ol></div></div>
|
864
1533
|
</div>
|
865
1534
|
|
866
|
-
<div id="
|
1535
|
+
<div id="_document" class="tabs">
|
867
1536
|
<h1 style="display: none">Document</h1>
|
868
1537
|
<ul>
|
869
|
-
<li><a href="#
|
1538
|
+
<li><a href="#Welcome">Welcome</a></li>
|
870
1539
|
<li><a href="#Setup">Setup</a></li>
|
1540
|
+
<li><a href="#Theory">Theory</a></li>
|
871
1541
|
<li><a href="#Usage">Usage</a></li>
|
872
1542
|
<li><a href="#History">History</a></li>
|
873
1543
|
</ul>
|
@@ -878,65 +1548,64 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
878
1548
|
|
879
1549
|
|
880
1550
|
|
881
|
-
|
882
|
-
|
1551
|
+
|
1552
|
+
<div class="part" id="Welcome">
|
1553
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Welcome"/><div class="nav"><a title="Here" href="#Welcome"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Next" href="#Resources"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Welcome"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
883
1554
|
<h1 class="title">
|
884
|
-
|
1555
|
+
Part 1
|
885
1556
|
<br/>
|
886
|
-
<big>
|
1557
|
+
<big>Welcome</big>
|
887
1558
|
</h1>
|
888
|
-
<div class="content"><p>Ember is an <a href='http://en.wikipedia.org/wiki/ERuby'>eRuby template</a>
|
1559
|
+
<div class="content"><p><p>Ember (<em>EMBE</em>dded <em>R</em>uby) is an <a href='http://en.wikipedia.org/wiki/ERuby'>eRuby template</a> processor that enables debugging, reduces markup, and improves composability of eRuby templates.</p>
|
889
1560
|
|
890
1561
|
<ul>
|
891
|
-
<li
|
892
|
-
|
893
|
-
<li><a href='http://github.com/sunaku/ember'>Source code</a> — obtain via <a href='http://git-scm.com'>Git</a> or browse online.</li>
|
1562
|
+
<li>It reports correct line numbers in error message stack traces.</li>
|
894
1563
|
|
895
|
-
<li
|
1564
|
+
<li>It can infer <tt><% end %></tt> based on indentation.</li>
|
896
1565
|
|
897
|
-
<li
|
898
|
-
</ul>
|
1566
|
+
<li>It can unindent block content hierarchically.</li>
|
899
1567
|
|
900
|
-
<
|
1568
|
+
<li>It completely silences code-only eRuby directives.</li>
|
901
1569
|
|
902
|
-
<
|
903
|
-
|
904
|
-
<a name="Features"/><div class="nav"><a title="Focus this segment" href="#Features"><img alt="Focus this segment" src="data:image/png;base64,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" class="icon"/></a> <a title="Focus previous segment" href="#Introduction"><img alt="Focus previous segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAS1SURBVFiF7ZddbBRVFMf/596Z3W3rtiwtUFsJFQhWMQSIWi0UKJHPlISvCGpiogkxig8SlBSj0Rij6YMPJhB9IyZqTFRC4pNKAgElplSIsRURRL6xtLRLu53dmbn3Hh9mFrZ1Kcs2pi9McnJndu8953c+7rkzxMwYz0uMq/W7AACssSpofo2qlJQfW6X66QNvs7rT9WOKQNP22Kz4xNqOadX1y1CkM0UDLH7dXlo3ddahV9a9O62m6n6/WD1FUS9qtbbMe6i5bUXDxkR/5h+AijVfBEBTa+TD1Q3PbJlX3xQ/39eFeKyyeOt3AvDIi2THJsivn1u5fUXt5LroxeRJMBjA2BoZFdIJm7fRBHFP+f4tLTvnRksism/oCjQrKOOjIlaFgWTSOX3pj0FmRiAGBszMBgyG1gqdZ38+cvh9tWGk7ttG4IltJXWTJtbsf37NjulplaSeVDeYDTRrGKMw6PahrKK89OH43FJjVAimYFhBax/aKFRXTEfn3+2T8+kfFaDpjUhD3X0z9m5e9lJNz9A5eCoDRughGxhoeF4ag+41aKOgtA9tfCgzfCwvmXRLG7cEWNRqbZ5d9+iulY2bKi8ku6CMAhGBmQFigAIAIzTYaLBQYFYwRsGwzhGD0eokL0DTzug7jXNWvjq/fkHFqd6jAANEwV4jQQEAgvwaykIoMGmwMGCjoTkACUZTOMDCndaelsZnn5oyubr0VE87iAQIBCKCEHRjyxOFBcY+UqofQ24SaX8IMACMALGEhRKAGYZ14QAEOL3XL2urzCDpdKMsloCAgLAEBBG0ceF4STg6ibRKwtVDYV0w2ABGM4xmaMUwiiE4ghnevFB1AQCHP1BbF7dG/pw+MPutWTNnVnZc/A5CANFoDBAaWmQgJUFIAkmCsAPdzATWDKIcUwwo30VGOQCDiEgyDw9H3rPgUJu/u/PEby8cO97R3TB1DWw7AtcMQlEGQhKERRA2QVqhhPfCDv4bBigDGmYIABEikqMCEJEAYHXs0ge62i+tPXjk+/Pz713FidIpECJQPsywLSAtcQNCWrnGEdTNzeBbACyim7/k2wUiFHlir//X4LneFtfd9+Xy5pYHrnKX7PXOQsjQS4tQYpcjEa0J8m+CvGvF0L4JR0ZpJA4wKEc3Idybt+uEdPEX9F0/l1rvet988uSS1Y+XJxKxC86vAYQlUFlWC75alT5/+kImaMPgoMOb4KQwxNdwlJlNb14DI8+CMEeRUOyc0X5sq/3mwgWN62vrE/HTqUOQNqEmXo8zR5z+z3Yc35BJwgGgAPiheCPus88uh4b/UwNhlepQ0TBp3+2/d/CHn9p+bz/TP2fialgyEuRYgEnCAZAB4OYYG6lDA/A4x+tbpWDkG07Q+gB9bI/63OvvOjXgDHy0fMWq6hRdBsNhIZEOAfI5kI1Chnl4W8wLEBJ6RGSyhsO5EoDs3Kd/TCUvrXOcb7/YuHZTHXE3ywgcAOlwfnbNDa9Hen67CGRBFAAV1oWdBQAgzh70T7rXe5pd79OvonbJg5E4hsII5AJ4AHQ+wwUB5IBkw4pwDwsAdOU4UiQGl8xc6r3cK3AtnMPBksK++Qp6I/o/r3H/MroL8C8JiYMXQa6AIwAAAABJRU5ErkJggg==" class="icon"/></a> <a title="Focus next segment" href="#Etymology"><img alt="Focus next segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASrSURBVFiF7ZdtaFZlGMd/133O2dgcmunUZDgzzIYvJIH2wU2UtDKKXkCCLIqiDyIWZfhCEYIRCUIgUvYhApMKKoUMDd9ymagzNHTGZNlSp5tz0z17e55zzn1ffXjOo8/WZuqH+SEfuLgOPPc5/9/1v677PhxRVW7nz9xW9TsAtwowZ7X4Ve/4i24bAFcoKb173MZH3h2yY8FSKRx8AGDqhBnpt57/eJ43aszhqqVSOugATh1i1Cx+ZvW0svEVNbNWFE4eVABVR1d4mfOpehY9+kb5tAkz9lSu8J8cNACnjshGpOMOTrcdY/7Dz42a/eBTmyqXFy6/medIfydh1Ur/64pxM+cGnq8igogICCJylXtieUXJsGF3FbV2NeLUouoYM3QCF1uaurfu//zb6oLoFX1f3S0BVK4q2PPmwg/mXOo6h4jBE58siMHINdNS6VbSUReKw6nDOcvw4tH4tij6ZvdnB21rasHeDdp5PQB/oD+6wxSN7acScYMRL8kCJE4IqCqqDtUsRHNHA8XB0OCFx5bM2rL3iyOz35Z5+9bp2YF0BpwBq5bYhkQuQ+ySbDPZTAYrIY4MTrLXlpBYM8Q25HJPMw1Xjsqzc1+aVFY26UDlqoKZNw3gXEzswiyEzYrHZHAS4gixksFKhJMIJyFWQjKuk/boIq1djbR0nuXYhd3Mnvl42eTxD22rXO6/2J/OgC2wGhO5ECMeBoPxPXwEMMk8CKHtpjPTRmfUTjrsxFqLs4qLFRtnZ6vxSh3Tx88fOaxk2PqqlYUV1R9mVt0QQCbupivTjmd8giDAOEirRV1M5Hrose3EGmYXK4gPngi5jaKAi5XQprmQqqe0ZGKh58mUG3NAkY50G80dfyEGvMDg+YLnC8YXjCcYD7zcjlAQp7icuCbhlIpRs4hSfuqnmu+/PLDWLmFNb6l/zYCIeFwdczBGMIasaALh+YIXGPxA8APBC6Q3oC/4vseM8idoOdfe9uuhXe8dWGuXAd51HcgeOHiqWQAREC9X8bXwEhfEZDnVKbndqQoFUszU0fM4WHOo6dSxhsW/b3bViZaKiNW8w6dvCwzgoUhRUELZ8PsxgcH3kyoDk3UhAUnFTaRtJ+queVbij2BicZXu3PPT37W7Wl9u+MXWX30u2CTHAwEkPXSttX8cvySmGBHIgKiIGAMogiDjxo8tHDHSL2rqqcM5AXWMKCyn1E2Jf9ixpfbIVx2vtZ+mLUHLtVT6avU6ikXEAAVAkOT86yA/Xv10+rb7ZhWPaOqpw8WOewqn4pqH9+zYuX1/zcbMsrCLHiACwj45rXrtHdHLAVV1ImITy2xiVX4FCjjAiqDGCL5vuHdIJQ3H21LVP/+4ueaTaH1yX5REnIQFonzxflugqlEyjPmiOeE4uccgqMHngSHzObzvRMtv1bVrjm6KtueJ5SByOa2qcV+9AWZAQxFxuWqT8MkOkAGMgI71prN123fnTlY3vn5yqz3RZ30OIgYyqmr70+r3ddxrQfZcCK5WnsTTH5X9GUXp83W7Ly2s30tznks5iIh+LL8hB/q4YQGb1xYDyKXLFzec2R+uO7Ofnj7i+l+ivQq88234vwf4B6YlTDQudkyaAAAAAElFTkSuQmCC" class="icon"/></a> <a title="Return to listing" href="#a__toc__Features"><img alt="Return to listing" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABSlJREFUWIXdl1lsVUUYx/8zc7a7daUroXQhlkpoQ4sVA8b6gilbIEIDggEiEiSRFwzEJ/pCXXjgQR8sAW0I0QQSicZIiC9IsClFFqlC6HorXW/Xe+/p7b3nnpnxobbpJW1pS+uD3+N3vpn/b2b+c853gP9rrNp1WZtNHVlo4ZLDl/YzkC+lhAMUZ+9Uv3MCIHK6eraQ4sXvX9ri0tVvD2wtMt4oyaZPvP1rE1bf93ff/f72dGMWbAcKj1xMNYTSeGh7cbxUFNhcQpE2Lvxwz1Sj4czfvn4vONU4ulAAGicni/LTjYR4Jxo7g2jzjSAzJQ5Ll3iUCDUqphu3IACF7150MUqPvr4mS2/sCkICEEKic3AUhfkZBlXJjkUF0HW6JTXJTVwOHYOmNZHv80eQlRYHSFLyQgCrdlXOeKUkIRtezklVff5ITH7U4vC4dAjO00sOVzvnASDJ8vJPz5ghPZSz+ZNg9uaq/VNOQkmypjMaifKYvC0kKBn3eaI6Z4DsTZ9/mBTvOHZ0TxnbVV7q1hXlfO6mqi3P1nEhvIFg2NbU2Ol0hcIM2yAgPHcI5pwA8rd95iFEnN5UVqS19piQTMHO8lJFEHIpb+OZ1Mm1DLjT1jVsexyxizQ0hkF/CJSSlitXKmK353kAYc4rUpPilbQlcXjQ5MOv9zvgdjuwesVSw1b4yRgAxut7B4KGxgjIpDdLSpyOx20+Swh5dTqdaQEo2I6VKzKNJ0+HwIWEkBJ1j7rx6ppcnVIcTdt4xjVeawmHyYVE1BYTZ+5xqFCpxMOmHoVSXJgzAICSrPREtHX7JxKdfSaYoiIj2UMczJ7kBVuldExY/Gu83FQXrtc2WlLImtvVe5vmBJC5tdIppUh3OjUEQ1bMM29PAMsyl6gScgMAFB+6WECkuOlxaLBsCQkgM8lAR++wbO0cClpW9PgMi5wawBg1VACghMJ65mqFLRuMMUooSwYAytgxl6EWFOSlcv9oFJpCkehScb22kQsujzyoOTg8Z4DWxFxTEvDASBhOI9bZDk1BYCRsQwovADCCbbvfKsS6wizW548gJU5HQ4tPhsJRJcevTWu+GQFwpYJT0BbfoIl4V+xL0O3Q0NfvtyXFnZLD1SrnMlNRGf78O4BwlCMlXofKxhcisucHAEAKcbW1vdfKSHZP5AgBDI2if9g0OHi9orscACAkgS3Geo5AKIqoJSVltPbuud0t8wagjF3wdvUpTo0izjm2C4yOeYJzAS2smLe/2BdglA72Do0gwaki2aMhErFQ+9ArbFvMaL7nArT+dKKJc1FT/0eztTI7GZQQcCEmrpniUFQAICBnb/7eEtaZBOwofrzxyLI5P3Xv/L662QDM2BFlb69MQFRvXlf8UlIUKmnvCWBtfhpu1TXADEUeS0LfznmltCnU3V0jBN9DKIsQKU7Xn9tbNVMfOGsAAMgpr9qpG9p3b64vUhraBpCe5IQ5PMzbO3xsNBL9yvvzxx8AQNmBb4wbNQfDsxGdHM/tB9rcK66GI1Glpb1HZiS70DUwgrycpWx9aQEIJdvG6+YjPiuAZaY3GwA0hSHBrcOKcjxo9kGAQgqZWVJSPeV3fsEAnl470UIJqbVsLobNsY4nagtwPnbE/tRux6ICAIAQ5Hirt0sKbiPJY8Dj1DDoN0FABpuvVQYWHcB77WQdF/JUw1/Nlko44gyK5raOMICzLyIOzOHPaLjpl1vuvFuir3/otW7fAOO2vLw8FP7I670hXhRizpFdVmn856KLFf8AcP0p5DnhnVEAAAAASUVORK5CYII=" class="icon"/></a></div>
|
905
|
-
<h2 class="title">
|
906
|
-
1.1 Features
|
907
|
-
</h2>
|
908
|
-
<div class="content"><p>Ember is exciting because:</p>
|
1570
|
+
<li>It is implemented in 364 lines of pure Ruby.</li>
|
1571
|
+
</ul></p>
|
909
1572
|
|
910
|
-
<ul>
|
911
|
-
<
|
1573
|
+
<div style="display: none"><br/><hr/><br/></div><div class="tabs"><ul><li><a href="#Resources"><span class="section_number">1.1 </span>Resources</a></li><li><a href="#License"><span class="section_number">1.2 </span>License</a></li><li><a href="#Related-works"><span class="section_number">1.3 </span>Related works</a></li></ul>
|
1574
|
+
<div class="section" id="Resources">
|
1575
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Resources"/><div class="nav"><a title="Here" href="#Resources"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Welcome"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#License"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Resources"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1576
|
+
<h1 class="title">
|
1577
|
+
<span class="section_number">1.1 </span>Resources
|
1578
|
+
</h1>
|
1579
|
+
<div class="content"><ul>
|
1580
|
+
<li>
|
1581
|
+
<p><a class="xref" href="#History" title="Part 5. "History"">What’s new?</a> — release notes and project history.</p>
|
1582
|
+
</li>
|
912
1583
|
|
913
|
-
<li>
|
1584
|
+
<li>
|
1585
|
+
<p><a href='http://github.com/sunaku/ember/issues'>Issue tracker</a> — report bugs, request features, or ask for help.</p>
|
1586
|
+
</li>
|
914
1587
|
|
915
|
-
<li>
|
1588
|
+
<li>
|
1589
|
+
<p><a href='http://github.com/sunaku/ember'>Source code</a> — browse online or obtain using <a href='http://git-scm.com'>Git</a></p>
|
1590
|
+
</li>
|
916
1591
|
|
917
|
-
<li>
|
1592
|
+
<li>
|
1593
|
+
<p><a href='api/index.html'>API reference</a> — documentation for source code.</p>
|
1594
|
+
</li>
|
918
1595
|
|
919
|
-
<li>
|
1596
|
+
<li>
|
1597
|
+
<p><a href='http://snk.tuxfamily.org/lib/ember/'>Project home</a> — the official project home page.</p>
|
1598
|
+
</li>
|
920
1599
|
</ul></div>
|
921
1600
|
</div>
|
922
|
-
<p></p>
|
923
1601
|
|
924
1602
|
|
925
|
-
<div class="section" id="Etymology">
|
926
|
-
<a name="Etymology"/><div class="nav"><a title="Focus this segment" href="#Etymology"><img alt="Focus this segment" src="data:image/png;base64,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" class="icon"/></a> <a title="Focus previous segment" href="#Features"><img alt="Focus previous segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAS1SURBVFiF7ZddbBRVFMf/596Z3W3rtiwtUFsJFQhWMQSIWi0UKJHPlISvCGpiogkxig8SlBSj0Rij6YMPJhB9IyZqTFRC4pNKAgElplSIsRURRL6xtLRLu53dmbn3Hh9mFrZ1Kcs2pi9McnJndu8953c+7rkzxMwYz0uMq/W7AACssSpofo2qlJQfW6X66QNvs7rT9WOKQNP22Kz4xNqOadX1y1CkM0UDLH7dXlo3ddahV9a9O62m6n6/WD1FUS9qtbbMe6i5bUXDxkR/5h+AijVfBEBTa+TD1Q3PbJlX3xQ/39eFeKyyeOt3AvDIi2THJsivn1u5fUXt5LroxeRJMBjA2BoZFdIJm7fRBHFP+f4tLTvnRksism/oCjQrKOOjIlaFgWTSOX3pj0FmRiAGBszMBgyG1gqdZ38+cvh9tWGk7ttG4IltJXWTJtbsf37NjulplaSeVDeYDTRrGKMw6PahrKK89OH43FJjVAimYFhBax/aKFRXTEfn3+2T8+kfFaDpjUhD3X0z9m5e9lJNz9A5eCoDRughGxhoeF4ag+41aKOgtA9tfCgzfCwvmXRLG7cEWNRqbZ5d9+iulY2bKi8ku6CMAhGBmQFigAIAIzTYaLBQYFYwRsGwzhGD0eokL0DTzug7jXNWvjq/fkHFqd6jAANEwV4jQQEAgvwaykIoMGmwMGCjoTkACUZTOMDCndaelsZnn5oyubr0VE87iAQIBCKCEHRjyxOFBcY+UqofQ24SaX8IMACMALGEhRKAGYZ14QAEOL3XL2urzCDpdKMsloCAgLAEBBG0ceF4STg6ibRKwtVDYV0w2ABGM4xmaMUwiiE4ghnevFB1AQCHP1BbF7dG/pw+MPutWTNnVnZc/A5CANFoDBAaWmQgJUFIAkmCsAPdzATWDKIcUwwo30VGOQCDiEgyDw9H3rPgUJu/u/PEby8cO97R3TB1DWw7AtcMQlEGQhKERRA2QVqhhPfCDv4bBigDGmYIABEikqMCEJEAYHXs0ge62i+tPXjk+/Pz713FidIpECJQPsywLSAtcQNCWrnGEdTNzeBbACyim7/k2wUiFHlir//X4LneFtfd9+Xy5pYHrnKX7PXOQsjQS4tQYpcjEa0J8m+CvGvF0L4JR0ZpJA4wKEc3Idybt+uEdPEX9F0/l1rvet988uSS1Y+XJxKxC86vAYQlUFlWC75alT5/+kImaMPgoMOb4KQwxNdwlJlNb14DI8+CMEeRUOyc0X5sq/3mwgWN62vrE/HTqUOQNqEmXo8zR5z+z3Yc35BJwgGgAPiheCPus88uh4b/UwNhlepQ0TBp3+2/d/CHn9p+bz/TP2fialgyEuRYgEnCAZAB4OYYG6lDA/A4x+tbpWDkG07Q+gB9bI/63OvvOjXgDHy0fMWq6hRdBsNhIZEOAfI5kI1Chnl4W8wLEBJ6RGSyhsO5EoDs3Kd/TCUvrXOcb7/YuHZTHXE3ywgcAOlwfnbNDa9Hen67CGRBFAAV1oWdBQAgzh70T7rXe5pd79OvonbJg5E4hsII5AJ4AHQ+wwUB5IBkw4pwDwsAdOU4UiQGl8xc6r3cK3AtnMPBksK++Qp6I/o/r3H/MroL8C8JiYMXQa6AIwAAAABJRU5ErkJggg==" class="icon"/></a> <a title="Focus next segment" href="#License"><img alt="Focus next segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASrSURBVFiF7ZdtaFZlGMd/133O2dgcmunUZDgzzIYvJIH2wU2UtDKKXkCCLIqiDyIWZfhCEYIRCUIgUvYhApMKKoUMDd9ymagzNHTGZNlSp5tz0z17e55zzn1ffXjOo8/WZuqH+SEfuLgOPPc5/9/1v677PhxRVW7nz9xW9TsAtwowZ7X4Ve/4i24bAFcoKb173MZH3h2yY8FSKRx8AGDqhBnpt57/eJ43aszhqqVSOugATh1i1Cx+ZvW0svEVNbNWFE4eVABVR1d4mfOpehY9+kb5tAkz9lSu8J8cNACnjshGpOMOTrcdY/7Dz42a/eBTmyqXFy6/medIfydh1Ur/64pxM+cGnq8igogICCJylXtieUXJsGF3FbV2NeLUouoYM3QCF1uaurfu//zb6oLoFX1f3S0BVK4q2PPmwg/mXOo6h4jBE58siMHINdNS6VbSUReKw6nDOcvw4tH4tij6ZvdnB21rasHeDdp5PQB/oD+6wxSN7acScYMRL8kCJE4IqCqqDtUsRHNHA8XB0OCFx5bM2rL3iyOz35Z5+9bp2YF0BpwBq5bYhkQuQ+ySbDPZTAYrIY4MTrLXlpBYM8Q25HJPMw1Xjsqzc1+aVFY26UDlqoKZNw3gXEzswiyEzYrHZHAS4gixksFKhJMIJyFWQjKuk/boIq1djbR0nuXYhd3Mnvl42eTxD22rXO6/2J/OgC2wGhO5ECMeBoPxPXwEMMk8CKHtpjPTRmfUTjrsxFqLs4qLFRtnZ6vxSh3Tx88fOaxk2PqqlYUV1R9mVt0QQCbupivTjmd8giDAOEirRV1M5Hrose3EGmYXK4gPngi5jaKAi5XQprmQqqe0ZGKh58mUG3NAkY50G80dfyEGvMDg+YLnC8YXjCcYD7zcjlAQp7icuCbhlIpRs4hSfuqnmu+/PLDWLmFNb6l/zYCIeFwdczBGMIasaALh+YIXGPxA8APBC6Q3oC/4vseM8idoOdfe9uuhXe8dWGuXAd51HcgeOHiqWQAREC9X8bXwEhfEZDnVKbndqQoFUszU0fM4WHOo6dSxhsW/b3bViZaKiNW8w6dvCwzgoUhRUELZ8PsxgcH3kyoDk3UhAUnFTaRtJ+queVbij2BicZXu3PPT37W7Wl9u+MXWX30u2CTHAwEkPXSttX8cvySmGBHIgKiIGAMogiDjxo8tHDHSL2rqqcM5AXWMKCyn1E2Jf9ixpfbIVx2vtZ+mLUHLtVT6avU6ikXEAAVAkOT86yA/Xv10+rb7ZhWPaOqpw8WOewqn4pqH9+zYuX1/zcbMsrCLHiACwj45rXrtHdHLAVV1ImITy2xiVX4FCjjAiqDGCL5vuHdIJQ3H21LVP/+4ueaTaH1yX5REnIQFonzxflugqlEyjPmiOeE4uccgqMHngSHzObzvRMtv1bVrjm6KtueJ5SByOa2qcV+9AWZAQxFxuWqT8MkOkAGMgI71prN123fnTlY3vn5yqz3RZ30OIgYyqmr70+r3ddxrQfZcCK5WnsTTH5X9GUXp83W7Ly2s30tznks5iIh+LL8hB/q4YQGb1xYDyKXLFzec2R+uO7Ofnj7i+l+ivQq88234vwf4B6YlTDQudkyaAAAAAElFTkSuQmCC" class="icon"/></a> <a title="Return to listing" href="#a__toc__Etymology"><img alt="Return to listing" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABSlJREFUWIXdl1lsVUUYx/8zc7a7daUroXQhlkpoQ4sVA8b6gilbIEIDggEiEiSRFwzEJ/pCXXjgQR8sAW0I0QQSicZIiC9IsClFFqlC6HorXW/Xe+/p7b3nnpnxobbpJW1pS+uD3+N3vpn/b2b+c853gP9rrNp1WZtNHVlo4ZLDl/YzkC+lhAMUZ+9Uv3MCIHK6eraQ4sXvX9ri0tVvD2wtMt4oyaZPvP1rE1bf93ff/f72dGMWbAcKj1xMNYTSeGh7cbxUFNhcQpE2Lvxwz1Sj4czfvn4vONU4ulAAGicni/LTjYR4Jxo7g2jzjSAzJQ5Ll3iUCDUqphu3IACF7150MUqPvr4mS2/sCkICEEKic3AUhfkZBlXJjkUF0HW6JTXJTVwOHYOmNZHv80eQlRYHSFLyQgCrdlXOeKUkIRtezklVff5ITH7U4vC4dAjO00sOVzvnASDJ8vJPz5ghPZSz+ZNg9uaq/VNOQkmypjMaifKYvC0kKBn3eaI6Z4DsTZ9/mBTvOHZ0TxnbVV7q1hXlfO6mqi3P1nEhvIFg2NbU2Ol0hcIM2yAgPHcI5pwA8rd95iFEnN5UVqS19piQTMHO8lJFEHIpb+OZ1Mm1DLjT1jVsexyxizQ0hkF/CJSSlitXKmK353kAYc4rUpPilbQlcXjQ5MOv9zvgdjuwesVSw1b4yRgAxut7B4KGxgjIpDdLSpyOx20+Swh5dTqdaQEo2I6VKzKNJ0+HwIWEkBJ1j7rx6ppcnVIcTdt4xjVeawmHyYVE1BYTZ+5xqFCpxMOmHoVSXJgzAICSrPREtHX7JxKdfSaYoiIj2UMczJ7kBVuldExY/Gu83FQXrtc2WlLImtvVe5vmBJC5tdIppUh3OjUEQ1bMM29PAMsyl6gScgMAFB+6WECkuOlxaLBsCQkgM8lAR++wbO0cClpW9PgMi5wawBg1VACghMJ65mqFLRuMMUooSwYAytgxl6EWFOSlcv9oFJpCkehScb22kQsujzyoOTg8Z4DWxFxTEvDASBhOI9bZDk1BYCRsQwovADCCbbvfKsS6wizW548gJU5HQ4tPhsJRJcevTWu+GQFwpYJT0BbfoIl4V+xL0O3Q0NfvtyXFnZLD1SrnMlNRGf78O4BwlCMlXofKxhcisucHAEAKcbW1vdfKSHZP5AgBDI2if9g0OHi9orscACAkgS3Geo5AKIqoJSVltPbuud0t8wagjF3wdvUpTo0izjm2C4yOeYJzAS2smLe/2BdglA72Do0gwaki2aMhErFQ+9ArbFvMaL7nArT+dKKJc1FT/0eztTI7GZQQcCEmrpniUFQAICBnb/7eEtaZBOwofrzxyLI5P3Xv/L662QDM2BFlb69MQFRvXlf8UlIUKmnvCWBtfhpu1TXADEUeS0LfznmltCnU3V0jBN9DKIsQKU7Xn9tbNVMfOGsAAMgpr9qpG9p3b64vUhraBpCe5IQ5PMzbO3xsNBL9yvvzxx8AQNmBb4wbNQfDsxGdHM/tB9rcK66GI1Glpb1HZiS70DUwgrycpWx9aQEIJdvG6+YjPiuAZaY3GwA0hSHBrcOKcjxo9kGAQgqZWVJSPeV3fsEAnl470UIJqbVsLobNsY4nagtwPnbE/tRux6ICAIAQ5Hirt0sKbiPJY8Dj1DDoN0FABpuvVQYWHcB77WQdF/JUw1/Nlko44gyK5raOMICzLyIOzOHPaLjpl1vuvFuir3/otW7fAOO2vLw8FP7I670hXhRizpFdVmn856KLFf8AcP0p5DnhnVEAAAAASUVORK5CYII=" class="icon"/></a></div>
|
927
|
-
<h2 class="title">
|
928
|
-
1.2 Etymology
|
929
|
-
</h2>
|
930
|
-
<div class="content"><p>Ember stands for <em>embe</em>dded <em>r</em>uby.</p></div>
|
931
|
-
</div>
|
932
|
-
<p></p>
|
933
|
-
|
934
1603
|
|
935
1604
|
<div class="section" id="License">
|
936
|
-
<a name="License"/><div class="nav"><a title="
|
937
|
-
<
|
938
|
-
1.
|
939
|
-
</
|
1605
|
+
<div style="display: none"><br/><hr/><br/></div><a name="License"/><div class="nav"><a title="Here" href="#License"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Resources"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Related-works"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-License"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1606
|
+
<h1 class="title">
|
1607
|
+
<span class="section_number">1.2 </span>License
|
1608
|
+
</h1>
|
940
1609
|
<div class="content"><p>(the ISC license)</p>
|
941
1610
|
|
942
1611
|
<p>Copyright 2009 Suraj N. Kurapati <a href='mailto:sunaku@gmail.com'>sunaku@gmail.com</a></p>
|
@@ -945,359 +1614,334 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
945
1614
|
|
946
1615
|
<p>THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</p></div>
|
947
1616
|
</div>
|
948
|
-
|
1617
|
+
|
949
1618
|
|
950
1619
|
|
951
1620
|
<div class="section" id="Related-works">
|
952
|
-
<a name="Related-works"/><div class="nav"><a title="
|
953
|
-
<
|
954
|
-
1.
|
955
|
-
</
|
1621
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Related-works"/><div class="nav"><a title="Here" href="#Related-works"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#License"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Setup"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Related-works"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1622
|
+
<h1 class="title">
|
1623
|
+
<span class="section_number">1.3 </span>Related works
|
1624
|
+
</h1>
|
956
1625
|
<div class="content"><ul>
|
1626
|
+
<li><a href='http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/'>ERB</a></li>
|
1627
|
+
|
957
1628
|
<li><a href='http://www.kuwata-lab.com/erubis/'>Erubis</a></li>
|
958
1629
|
|
959
1630
|
<li><a href='http://modruby.net/en/'>eruby</a></li>
|
960
|
-
|
961
|
-
<li><a href='http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/'>ERB</a></li>
|
962
1631
|
</ul></div>
|
963
1632
|
</div>
|
964
|
-
</div
|
1633
|
+
</div></div>
|
965
1634
|
</div>
|
966
1635
|
|
967
1636
|
|
968
|
-
|
969
|
-
|
970
|
-
<div class="chapter" id="Setup">
|
971
|
-
<a name="Setup"/><div class="nav"><a title="Focus this segment" href="#Setup"><img alt="Focus this segment" src="data:image/png;base64,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" class="icon"/></a> <a title="Focus previous segment" href="#Related-works"><img alt="Focus previous segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAS1SURBVFiF7ZddbBRVFMf/596Z3W3rtiwtUFsJFQhWMQSIWi0UKJHPlISvCGpiogkxig8SlBSj0Rij6YMPJhB9IyZqTFRC4pNKAgElplSIsRURRL6xtLRLu53dmbn3Hh9mFrZ1Kcs2pi9McnJndu8953c+7rkzxMwYz0uMq/W7AACssSpofo2qlJQfW6X66QNvs7rT9WOKQNP22Kz4xNqOadX1y1CkM0UDLH7dXlo3ddahV9a9O62m6n6/WD1FUS9qtbbMe6i5bUXDxkR/5h+AijVfBEBTa+TD1Q3PbJlX3xQ/39eFeKyyeOt3AvDIi2THJsivn1u5fUXt5LroxeRJMBjA2BoZFdIJm7fRBHFP+f4tLTvnRksism/oCjQrKOOjIlaFgWTSOX3pj0FmRiAGBszMBgyG1gqdZ38+cvh9tWGk7ttG4IltJXWTJtbsf37NjulplaSeVDeYDTRrGKMw6PahrKK89OH43FJjVAimYFhBax/aKFRXTEfn3+2T8+kfFaDpjUhD3X0z9m5e9lJNz9A5eCoDRughGxhoeF4ag+41aKOgtA9tfCgzfCwvmXRLG7cEWNRqbZ5d9+iulY2bKi8ku6CMAhGBmQFigAIAIzTYaLBQYFYwRsGwzhGD0eokL0DTzug7jXNWvjq/fkHFqd6jAANEwV4jQQEAgvwaykIoMGmwMGCjoTkACUZTOMDCndaelsZnn5oyubr0VE87iAQIBCKCEHRjyxOFBcY+UqofQ24SaX8IMACMALGEhRKAGYZ14QAEOL3XL2urzCDpdKMsloCAgLAEBBG0ceF4STg6ibRKwtVDYV0w2ABGM4xmaMUwiiE4ghnevFB1AQCHP1BbF7dG/pw+MPutWTNnVnZc/A5CANFoDBAaWmQgJUFIAkmCsAPdzATWDKIcUwwo30VGOQCDiEgyDw9H3rPgUJu/u/PEby8cO97R3TB1DWw7AtcMQlEGQhKERRA2QVqhhPfCDv4bBigDGmYIABEikqMCEJEAYHXs0ge62i+tPXjk+/Pz713FidIpECJQPsywLSAtcQNCWrnGEdTNzeBbACyim7/k2wUiFHlir//X4LneFtfd9+Xy5pYHrnKX7PXOQsjQS4tQYpcjEa0J8m+CvGvF0L4JR0ZpJA4wKEc3Idybt+uEdPEX9F0/l1rvet988uSS1Y+XJxKxC86vAYQlUFlWC75alT5/+kImaMPgoMOb4KQwxNdwlJlNb14DI8+CMEeRUOyc0X5sq/3mwgWN62vrE/HTqUOQNqEmXo8zR5z+z3Yc35BJwgGgAPiheCPus88uh4b/UwNhlepQ0TBp3+2/d/CHn9p+bz/TP2fialgyEuRYgEnCAZAB4OYYG6lDA/A4x+tbpWDkG07Q+gB9bI/63OvvOjXgDHy0fMWq6hRdBsNhIZEOAfI5kI1Chnl4W8wLEBJ6RGSyhsO5EoDs3Kd/TCUvrXOcb7/YuHZTHXE3ywgcAOlwfnbNDa9Hen67CGRBFAAV1oWdBQAgzh70T7rXe5pd79OvonbJg5E4hsII5AJ4AHQ+wwUB5IBkw4pwDwsAdOU4UiQGl8xc6r3cK3AtnMPBksK++Qp6I/o/r3H/MroL8C8JiYMXQa6AIwAAAABJRU5ErkJggg==" class="icon"/></a> <a title="Focus next segment" href="#Requirements"><img alt="Focus next segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASrSURBVFiF7ZdtaFZlGMd/133O2dgcmunUZDgzzIYvJIH2wU2UtDKKXkCCLIqiDyIWZfhCEYIRCUIgUvYhApMKKoUMDd9ymagzNHTGZNlSp5tz0z17e55zzn1ffXjOo8/WZuqH+SEfuLgOPPc5/9/1v677PhxRVW7nz9xW9TsAtwowZ7X4Ve/4i24bAFcoKb173MZH3h2yY8FSKRx8AGDqhBnpt57/eJ43aszhqqVSOugATh1i1Cx+ZvW0svEVNbNWFE4eVABVR1d4mfOpehY9+kb5tAkz9lSu8J8cNACnjshGpOMOTrcdY/7Dz42a/eBTmyqXFy6/medIfydh1Ur/64pxM+cGnq8igogICCJylXtieUXJsGF3FbV2NeLUouoYM3QCF1uaurfu//zb6oLoFX1f3S0BVK4q2PPmwg/mXOo6h4jBE58siMHINdNS6VbSUReKw6nDOcvw4tH4tij6ZvdnB21rasHeDdp5PQB/oD+6wxSN7acScYMRL8kCJE4IqCqqDtUsRHNHA8XB0OCFx5bM2rL3iyOz35Z5+9bp2YF0BpwBq5bYhkQuQ+ySbDPZTAYrIY4MTrLXlpBYM8Q25HJPMw1Xjsqzc1+aVFY26UDlqoKZNw3gXEzswiyEzYrHZHAS4gixksFKhJMIJyFWQjKuk/boIq1djbR0nuXYhd3Mnvl42eTxD22rXO6/2J/OgC2wGhO5ECMeBoPxPXwEMMk8CKHtpjPTRmfUTjrsxFqLs4qLFRtnZ6vxSh3Tx88fOaxk2PqqlYUV1R9mVt0QQCbupivTjmd8giDAOEirRV1M5Hrose3EGmYXK4gPngi5jaKAi5XQprmQqqe0ZGKh58mUG3NAkY50G80dfyEGvMDg+YLnC8YXjCcYD7zcjlAQp7icuCbhlIpRs4hSfuqnmu+/PLDWLmFNb6l/zYCIeFwdczBGMIasaALh+YIXGPxA8APBC6Q3oC/4vseM8idoOdfe9uuhXe8dWGuXAd51HcgeOHiqWQAREC9X8bXwEhfEZDnVKbndqQoFUszU0fM4WHOo6dSxhsW/b3bViZaKiNW8w6dvCwzgoUhRUELZ8PsxgcH3kyoDk3UhAUnFTaRtJ+queVbij2BicZXu3PPT37W7Wl9u+MXWX30u2CTHAwEkPXSttX8cvySmGBHIgKiIGAMogiDjxo8tHDHSL2rqqcM5AXWMKCyn1E2Jf9ixpfbIVx2vtZ+mLUHLtVT6avU6ikXEAAVAkOT86yA/Xv10+rb7ZhWPaOqpw8WOewqn4pqH9+zYuX1/zcbMsrCLHiACwj45rXrtHdHLAVV1ImITy2xiVX4FCjjAiqDGCL5vuHdIJQ3H21LVP/+4ueaTaH1yX5REnIQFonzxflugqlEyjPmiOeE4uccgqMHngSHzObzvRMtv1bVrjm6KtueJ5SByOa2qcV+9AWZAQxFxuWqT8MkOkAGMgI71prN123fnTlY3vn5yqz3RZ30OIgYyqmr70+r3ddxrQfZcCK5WnsTTH5X9GUXp83W7Ly2s30tznks5iIh+LL8hB/q4YQGb1xYDyKXLFzec2R+uO7Ofnj7i+l+ivQq88234vwf4B6YlTDQudkyaAAAAAElFTkSuQmCC" class="icon"/></a> <a title="Return to listing" href="#a__toc__Setup"><img alt="Return to listing" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABSlJREFUWIXdl1lsVUUYx/8zc7a7daUroXQhlkpoQ4sVA8b6gilbIEIDggEiEiSRFwzEJ/pCXXjgQR8sAW0I0QQSicZIiC9IsClFFqlC6HorXW/Xe+/p7b3nnpnxobbpJW1pS+uD3+N3vpn/b2b+c853gP9rrNp1WZtNHVlo4ZLDl/YzkC+lhAMUZ+9Uv3MCIHK6eraQ4sXvX9ri0tVvD2wtMt4oyaZPvP1rE1bf93ff/f72dGMWbAcKj1xMNYTSeGh7cbxUFNhcQpE2Lvxwz1Sj4czfvn4vONU4ulAAGicni/LTjYR4Jxo7g2jzjSAzJQ5Ll3iUCDUqphu3IACF7150MUqPvr4mS2/sCkICEEKic3AUhfkZBlXJjkUF0HW6JTXJTVwOHYOmNZHv80eQlRYHSFLyQgCrdlXOeKUkIRtezklVff5ITH7U4vC4dAjO00sOVzvnASDJ8vJPz5ghPZSz+ZNg9uaq/VNOQkmypjMaifKYvC0kKBn3eaI6Z4DsTZ9/mBTvOHZ0TxnbVV7q1hXlfO6mqi3P1nEhvIFg2NbU2Ol0hcIM2yAgPHcI5pwA8rd95iFEnN5UVqS19piQTMHO8lJFEHIpb+OZ1Mm1DLjT1jVsexyxizQ0hkF/CJSSlitXKmK353kAYc4rUpPilbQlcXjQ5MOv9zvgdjuwesVSw1b4yRgAxut7B4KGxgjIpDdLSpyOx20+Swh5dTqdaQEo2I6VKzKNJ0+HwIWEkBJ1j7rx6ppcnVIcTdt4xjVeawmHyYVE1BYTZ+5xqFCpxMOmHoVSXJgzAICSrPREtHX7JxKdfSaYoiIj2UMczJ7kBVuldExY/Gu83FQXrtc2WlLImtvVe5vmBJC5tdIppUh3OjUEQ1bMM29PAMsyl6gScgMAFB+6WECkuOlxaLBsCQkgM8lAR++wbO0cClpW9PgMi5wawBg1VACghMJ65mqFLRuMMUooSwYAytgxl6EWFOSlcv9oFJpCkehScb22kQsujzyoOTg8Z4DWxFxTEvDASBhOI9bZDk1BYCRsQwovADCCbbvfKsS6wizW548gJU5HQ4tPhsJRJcevTWu+GQFwpYJT0BbfoIl4V+xL0O3Q0NfvtyXFnZLD1SrnMlNRGf78O4BwlCMlXofKxhcisucHAEAKcbW1vdfKSHZP5AgBDI2if9g0OHi9orscACAkgS3Geo5AKIqoJSVltPbuud0t8wagjF3wdvUpTo0izjm2C4yOeYJzAS2smLe/2BdglA72Do0gwaki2aMhErFQ+9ArbFvMaL7nArT+dKKJc1FT/0eztTI7GZQQcCEmrpniUFQAICBnb/7eEtaZBOwofrzxyLI5P3Xv/L662QDM2BFlb69MQFRvXlf8UlIUKmnvCWBtfhpu1TXADEUeS0LfznmltCnU3V0jBN9DKIsQKU7Xn9tbNVMfOGsAAMgpr9qpG9p3b64vUhraBpCe5IQ5PMzbO3xsNBL9yvvzxx8AQNmBb4wbNQfDsxGdHM/tB9rcK66GI1Glpb1HZiS70DUwgrycpWx9aQEIJdvG6+YjPiuAZaY3GwA0hSHBrcOKcjxo9kGAQgqZWVJSPeV3fsEAnl470UIJqbVsLobNsY4nagtwPnbE/tRux6ICAIAQ5Hirt0sKbiPJY8Dj1DDoN0FABpuvVQYWHcB77WQdF/JUw1/Nlko44gyK5raOMICzLyIOzOHPaLjpl1vuvFuir3/otW7fAOO2vLw8FP7I670hXhRizpFdVmn856KLFf8AcP0p5DnhnVEAAAAASUVORK5CYII=" class="icon"/></a></div>
|
1637
|
+
<div class="part" id="Setup">
|
1638
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Setup"/><div class="nav"><a title="Here" href="#Setup"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Related-works"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Prerequisites"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Setup"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
972
1639
|
<h1 class="title">
|
973
|
-
|
1640
|
+
Part 2
|
974
1641
|
<br/>
|
975
1642
|
<big>Setup</big>
|
976
1643
|
</h1>
|
977
|
-
<div class="content"><div class="tabs"><ul><li><a href="#
|
978
|
-
<div class="section" id="
|
979
|
-
<a name="
|
980
|
-
<
|
981
|
-
2.1  
|
982
|
-
</
|
983
|
-
<div class="content"><
|
984
|
-
<
|
985
|
-
|
986
|
-
</
|
987
|
-
</div>
|
988
|
-
<p></p>
|
989
|
-
|
990
|
-
|
991
|
-
<div class="section" id="Installation">
|
992
|
-
<a name="Installation"/><div class="nav"><a title="Focus this segment" href="#Installation"><img alt="Focus this segment" src="data:image/png;base64,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" class="icon"/></a> <a title="Focus previous segment" href="#Requirements"><img alt="Focus previous segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAS1SURBVFiF7ZddbBRVFMf/596Z3W3rtiwtUFsJFQhWMQSIWi0UKJHPlISvCGpiogkxig8SlBSj0Rij6YMPJhB9IyZqTFRC4pNKAgElplSIsRURRL6xtLRLu53dmbn3Hh9mFrZ1Kcs2pi9McnJndu8953c+7rkzxMwYz0uMq/W7AACssSpofo2qlJQfW6X66QNvs7rT9WOKQNP22Kz4xNqOadX1y1CkM0UDLH7dXlo3ddahV9a9O62m6n6/WD1FUS9qtbbMe6i5bUXDxkR/5h+AijVfBEBTa+TD1Q3PbJlX3xQ/39eFeKyyeOt3AvDIi2THJsivn1u5fUXt5LroxeRJMBjA2BoZFdIJm7fRBHFP+f4tLTvnRksism/oCjQrKOOjIlaFgWTSOX3pj0FmRiAGBszMBgyG1gqdZ38+cvh9tWGk7ttG4IltJXWTJtbsf37NjulplaSeVDeYDTRrGKMw6PahrKK89OH43FJjVAimYFhBax/aKFRXTEfn3+2T8+kfFaDpjUhD3X0z9m5e9lJNz9A5eCoDRughGxhoeF4ag+41aKOgtA9tfCgzfCwvmXRLG7cEWNRqbZ5d9+iulY2bKi8ku6CMAhGBmQFigAIAIzTYaLBQYFYwRsGwzhGD0eokL0DTzug7jXNWvjq/fkHFqd6jAANEwV4jQQEAgvwaykIoMGmwMGCjoTkACUZTOMDCndaelsZnn5oyubr0VE87iAQIBCKCEHRjyxOFBcY+UqofQ24SaX8IMACMALGEhRKAGYZ14QAEOL3XL2urzCDpdKMsloCAgLAEBBG0ceF4STg6ibRKwtVDYV0w2ABGM4xmaMUwiiE4ghnevFB1AQCHP1BbF7dG/pw+MPutWTNnVnZc/A5CANFoDBAaWmQgJUFIAkmCsAPdzATWDKIcUwwo30VGOQCDiEgyDw9H3rPgUJu/u/PEby8cO97R3TB1DWw7AtcMQlEGQhKERRA2QVqhhPfCDv4bBigDGmYIABEikqMCEJEAYHXs0ge62i+tPXjk+/Pz713FidIpECJQPsywLSAtcQNCWrnGEdTNzeBbACyim7/k2wUiFHlir//X4LneFtfd9+Xy5pYHrnKX7PXOQsjQS4tQYpcjEa0J8m+CvGvF0L4JR0ZpJA4wKEc3Idybt+uEdPEX9F0/l1rvet988uSS1Y+XJxKxC86vAYQlUFlWC75alT5/+kImaMPgoMOb4KQwxNdwlJlNb14DI8+CMEeRUOyc0X5sq/3mwgWN62vrE/HTqUOQNqEmXo8zR5z+z3Yc35BJwgGgAPiheCPus88uh4b/UwNhlepQ0TBp3+2/d/CHn9p+bz/TP2fialgyEuRYgEnCAZAB4OYYG6lDA/A4x+tbpWDkG07Q+gB9bI/63OvvOjXgDHy0fMWq6hRdBsNhIZEOAfI5kI1Chnl4W8wLEBJ6RGSyhsO5EoDs3Kd/TCUvrXOcb7/YuHZTHXE3ywgcAOlwfnbNDa9Hen67CGRBFAAV1oWdBQAgzh70T7rXe5pd79OvonbJg5E4hsII5AJ4AHQ+wwUB5IBkw4pwDwsAdOU4UiQGl8xc6r3cK3AtnMPBksK++Qp6I/o/r3H/MroL8C8JiYMXQa6AIwAAAABJRU5ErkJggg==" class="icon"/></a> <a title="Focus next segment" href="#Version-numbers"><img alt="Focus next segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASrSURBVFiF7ZdtaFZlGMd/133O2dgcmunUZDgzzIYvJIH2wU2UtDKKXkCCLIqiDyIWZfhCEYIRCUIgUvYhApMKKoUMDd9ymagzNHTGZNlSp5tz0z17e55zzn1ffXjOo8/WZuqH+SEfuLgOPPc5/9/1v677PhxRVW7nz9xW9TsAtwowZ7X4Ve/4i24bAFcoKb173MZH3h2yY8FSKRx8AGDqhBnpt57/eJ43aszhqqVSOugATh1i1Cx+ZvW0svEVNbNWFE4eVABVR1d4mfOpehY9+kb5tAkz9lSu8J8cNACnjshGpOMOTrcdY/7Dz42a/eBTmyqXFy6/medIfydh1Ur/64pxM+cGnq8igogICCJylXtieUXJsGF3FbV2NeLUouoYM3QCF1uaurfu//zb6oLoFX1f3S0BVK4q2PPmwg/mXOo6h4jBE58siMHINdNS6VbSUReKw6nDOcvw4tH4tij6ZvdnB21rasHeDdp5PQB/oD+6wxSN7acScYMRL8kCJE4IqCqqDtUsRHNHA8XB0OCFx5bM2rL3iyOz35Z5+9bp2YF0BpwBq5bYhkQuQ+ySbDPZTAYrIY4MTrLXlpBYM8Q25HJPMw1Xjsqzc1+aVFY26UDlqoKZNw3gXEzswiyEzYrHZHAS4gixksFKhJMIJyFWQjKuk/boIq1djbR0nuXYhd3Mnvl42eTxD22rXO6/2J/OgC2wGhO5ECMeBoPxPXwEMMk8CKHtpjPTRmfUTjrsxFqLs4qLFRtnZ6vxSh3Tx88fOaxk2PqqlYUV1R9mVt0QQCbupivTjmd8giDAOEirRV1M5Hrose3EGmYXK4gPngi5jaKAi5XQprmQqqe0ZGKh58mUG3NAkY50G80dfyEGvMDg+YLnC8YXjCcYD7zcjlAQp7icuCbhlIpRs4hSfuqnmu+/PLDWLmFNb6l/zYCIeFwdczBGMIasaALh+YIXGPxA8APBC6Q3oC/4vseM8idoOdfe9uuhXe8dWGuXAd51HcgeOHiqWQAREC9X8bXwEhfEZDnVKbndqQoFUszU0fM4WHOo6dSxhsW/b3bViZaKiNW8w6dvCwzgoUhRUELZ8PsxgcH3kyoDk3UhAUnFTaRtJ+queVbij2BicZXu3PPT37W7Wl9u+MXWX30u2CTHAwEkPXSttX8cvySmGBHIgKiIGAMogiDjxo8tHDHSL2rqqcM5AXWMKCyn1E2Jf9ixpfbIVx2vtZ+mLUHLtVT6avU6ikXEAAVAkOT86yA/Xv10+rb7ZhWPaOqpw8WOewqn4pqH9+zYuX1/zcbMsrCLHiACwj45rXrtHdHLAVV1ImITy2xiVX4FCjjAiqDGCL5vuHdIJQ3H21LVP/+4ueaTaH1yX5REnIQFonzxflugqlEyjPmiOeE4uccgqMHngSHzObzvRMtv1bVrjm6KtueJ5SByOa2qcV+9AWZAQxFxuWqT8MkOkAGMgI71prN123fnTlY3vn5yqz3RZ30OIgYyqmr70+r3ddxrQfZcCK5WnsTTH5X9GUXp83W7Ly2s30tznks5iIh+LL8hB/q4YQGb1xYDyKXLFzec2R+uO7Ofnj7i+l+ivQq88234vwf4B6YlTDQudkyaAAAAAElFTkSuQmCC" class="icon"/></a> <a title="Return to listing" href="#a__toc__Installation"><img alt="Return to listing" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABSlJREFUWIXdl1lsVUUYx/8zc7a7daUroXQhlkpoQ4sVA8b6gilbIEIDggEiEiSRFwzEJ/pCXXjgQR8sAW0I0QQSicZIiC9IsClFFqlC6HorXW/Xe+/p7b3nnpnxobbpJW1pS+uD3+N3vpn/b2b+c853gP9rrNp1WZtNHVlo4ZLDl/YzkC+lhAMUZ+9Uv3MCIHK6eraQ4sXvX9ri0tVvD2wtMt4oyaZPvP1rE1bf93ff/f72dGMWbAcKj1xMNYTSeGh7cbxUFNhcQpE2Lvxwz1Sj4czfvn4vONU4ulAAGicni/LTjYR4Jxo7g2jzjSAzJQ5Ll3iUCDUqphu3IACF7150MUqPvr4mS2/sCkICEEKic3AUhfkZBlXJjkUF0HW6JTXJTVwOHYOmNZHv80eQlRYHSFLyQgCrdlXOeKUkIRtezklVff5ITH7U4vC4dAjO00sOVzvnASDJ8vJPz5ghPZSz+ZNg9uaq/VNOQkmypjMaifKYvC0kKBn3eaI6Z4DsTZ9/mBTvOHZ0TxnbVV7q1hXlfO6mqi3P1nEhvIFg2NbU2Ol0hcIM2yAgPHcI5pwA8rd95iFEnN5UVqS19piQTMHO8lJFEHIpb+OZ1Mm1DLjT1jVsexyxizQ0hkF/CJSSlitXKmK353kAYc4rUpPilbQlcXjQ5MOv9zvgdjuwesVSw1b4yRgAxut7B4KGxgjIpDdLSpyOx20+Swh5dTqdaQEo2I6VKzKNJ0+HwIWEkBJ1j7rx6ppcnVIcTdt4xjVeawmHyYVE1BYTZ+5xqFCpxMOmHoVSXJgzAICSrPREtHX7JxKdfSaYoiIj2UMczJ7kBVuldExY/Gu83FQXrtc2WlLImtvVe5vmBJC5tdIppUh3OjUEQ1bMM29PAMsyl6gScgMAFB+6WECkuOlxaLBsCQkgM8lAR++wbO0cClpW9PgMi5wawBg1VACghMJ65mqFLRuMMUooSwYAytgxl6EWFOSlcv9oFJpCkehScb22kQsujzyoOTg8Z4DWxFxTEvDASBhOI9bZDk1BYCRsQwovADCCbbvfKsS6wizW548gJU5HQ4tPhsJRJcevTWu+GQFwpYJT0BbfoIl4V+xL0O3Q0NfvtyXFnZLD1SrnMlNRGf78O4BwlCMlXofKxhcisucHAEAKcbW1vdfKSHZP5AgBDI2if9g0OHi9orscACAkgS3Geo5AKIqoJSVltPbuud0t8wagjF3wdvUpTo0izjm2C4yOeYJzAS2smLe/2BdglA72Do0gwaki2aMhErFQ+9ArbFvMaL7nArT+dKKJc1FT/0eztTI7GZQQcCEmrpniUFQAICBnb/7eEtaZBOwofrzxyLI5P3Xv/L662QDM2BFlb69MQFRvXlf8UlIUKmnvCWBtfhpu1TXADEUeS0LfznmltCnU3V0jBN9DKIsQKU7Xn9tbNVMfOGsAAMgpr9qpG9p3b64vUhraBpCe5IQ5PMzbO3xsNBL9yvvzxx8AQNmBb4wbNQfDsxGdHM/tB9rcK66GI1Glpb1HZiS70DUwgrycpWx9aQEIJdvG6+YjPiuAZaY3GwA0hSHBrcOKcjxo9kGAQgqZWVJSPeV3fsEAnl470UIJqbVsLobNsY4nagtwPnbE/tRux6ICAIAQ5Hirt0sKbiPJY8Dj1DDoN0FABpuvVQYWHcB77WQdF/JUw1/Nlko44gyK5raOMICzLyIOzOHPaLjpl1vuvFuir3/otW7fAOO2vLw8FP7I670hXhRizpFdVmn856KLFf8AcP0p5DnhnVEAAAAASUVORK5CYII=" class="icon"/></a></div>
|
993
|
-
<h2 class="title">
|
994
|
-
2.2 Installation
|
995
|
-
</h2>
|
996
|
-
<div class="content"><p>You can install Ember by running this command:</p>
|
1644
|
+
<div class="content"><div style="display: none"><br/><hr/><br/></div><div class="tabs"><ul><li><a href="#Prerequisites"><span class="section_number">2.1 </span>Prerequisites</a></li><li><a href="#Installing"><span class="section_number">2.2 </span>Installing</a></li><li><a href="#Upgrading"><span class="section_number">2.3 </span>Upgrading</a></li><li><a href="#Uninstalling"><span class="section_number">2.4 </span>Uninstalling</a></li></ul>
|
1645
|
+
<div class="section" id="Prerequisites">
|
1646
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Prerequisites"/><div class="nav"><a title="Here" href="#Prerequisites"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Setup"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Installing"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Prerequisites"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1647
|
+
<h1 class="title">
|
1648
|
+
<span class="section_number">2.1 </span>Prerequisites
|
1649
|
+
</h1>
|
1650
|
+
<div class="content"><ul>
|
1651
|
+
<li>
|
1652
|
+
<p><a href='http://ruby-lang.org'>Ruby</a> 1.8.6 or newer.</p>
|
1653
|
+
</li>
|
997
1654
|
|
998
|
-
<
|
1655
|
+
<li>
|
1656
|
+
<p><a href='http://rubygems.org'>RubyGems</a> 1.3.6 or newer.</p>
|
1657
|
+
</li>
|
1658
|
+
</ul></div>
|
1659
|
+
</div>
|
999
1660
|
|
1000
|
-
<p>To check whether the installation was sucessful, run this command:</p>
|
1001
1661
|
|
1002
|
-
<pre>ember --version</pre>
|
1003
1662
|
|
1004
|
-
<
|
1663
|
+
<div class="section" id="Installing">
|
1664
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Installing"/><div class="nav"><a title="Here" href="#Installing"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Prerequisites"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#gem-install-ember"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Installing"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1665
|
+
<h1 class="title">
|
1666
|
+
<span class="section_number">2.2 </span>Installing
|
1667
|
+
</h1>
|
1668
|
+
<div class="content">
|
1669
|
+
<div class="_float ui-tabs ui-widget ui-widget-content ui-corner-all command" id="gem-install-ember">
|
1670
|
+
<div style="display: none"><br/><hr/><br/></div><a name="gem-install-ember"/><div class="nav"><a title="Here" href="#gem-install-ember"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Installing"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Upgrading"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-gem-install-ember"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1671
|
+
<p class="title ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"><span class="section_number">Command 1. </span><tt>gem install ember</tt></p>
|
1672
|
+
</div>
|
1673
|
+
</div>
|
1674
|
+
</div>
|
1005
1675
|
|
1006
|
-
<
|
1007
|
-
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1676
|
+
<div class="section" id="Upgrading">
|
1677
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Upgrading"/><div class="nav"><a title="Here" href="#Upgrading"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#gem-install-ember"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#gem-update-ember"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Upgrading"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1678
|
+
<h1 class="title">
|
1679
|
+
<span class="section_number">2.3 </span>Upgrading
|
1680
|
+
</h1>
|
1681
|
+
<div class="content">
|
1682
|
+
<div class="_float ui-tabs ui-widget ui-widget-content ui-corner-all command" id="gem-update-ember">
|
1683
|
+
<div style="display: none"><br/><hr/><br/></div><a name="gem-update-ember"/><div class="nav"><a title="Here" href="#gem-update-ember"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Upgrading"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Uninstalling"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-gem-update-ember"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1684
|
+
<p class="title ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"><span class="section_number">Command 2. </span><tt>gem update ember</tt></p>
|
1685
|
+
</div>
|
1686
|
+
</div>
|
1687
|
+
</div>
|
1011
1688
|
|
1012
|
-
<
|
1689
|
+
<div class="section" id="Uninstalling">
|
1690
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Uninstalling"/><div class="nav"><a title="Here" href="#Uninstalling"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#gem-update-ember"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#gem-uninstall-ember"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Uninstalling"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1691
|
+
<h1 class="title">
|
1692
|
+
<span class="section_number">2.4 </span>Uninstalling
|
1693
|
+
</h1>
|
1694
|
+
<div class="content">
|
1695
|
+
<div class="_float ui-tabs ui-widget ui-widget-content ui-corner-all command" id="gem-uninstall-ember">
|
1696
|
+
<div style="display: none"><br/><hr/><br/></div><a name="gem-uninstall-ember"/><div class="nav"><a title="Here" href="#gem-uninstall-ember"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Uninstalling"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Theory"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-gem-uninstall-ember"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1697
|
+
<p class="title ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"><span class="section_number">Command 3. </span><tt>gem uninstall ember</tt></p>
|
1013
1698
|
</div>
|
1014
|
-
<p></p>
|
1015
|
-
|
1016
|
-
|
1017
|
-
<div class="section" id="Version-numbers">
|
1018
|
-
<a name="Version-numbers"/><div class="nav"><a title="Focus this segment" href="#Version-numbers"><img alt="Focus this segment" src="data:image/png;base64,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" class="icon"/></a> <a title="Focus previous segment" href="#Installation"><img alt="Focus previous segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAS1SURBVFiF7ZddbBRVFMf/596Z3W3rtiwtUFsJFQhWMQSIWi0UKJHPlISvCGpiogkxig8SlBSj0Rij6YMPJhB9IyZqTFRC4pNKAgElplSIsRURRL6xtLRLu53dmbn3Hh9mFrZ1Kcs2pi9McnJndu8953c+7rkzxMwYz0uMq/W7AACssSpofo2qlJQfW6X66QNvs7rT9WOKQNP22Kz4xNqOadX1y1CkM0UDLH7dXlo3ddahV9a9O62m6n6/WD1FUS9qtbbMe6i5bUXDxkR/5h+AijVfBEBTa+TD1Q3PbJlX3xQ/39eFeKyyeOt3AvDIi2THJsivn1u5fUXt5LroxeRJMBjA2BoZFdIJm7fRBHFP+f4tLTvnRksism/oCjQrKOOjIlaFgWTSOX3pj0FmRiAGBszMBgyG1gqdZ38+cvh9tWGk7ttG4IltJXWTJtbsf37NjulplaSeVDeYDTRrGKMw6PahrKK89OH43FJjVAimYFhBax/aKFRXTEfn3+2T8+kfFaDpjUhD3X0z9m5e9lJNz9A5eCoDRughGxhoeF4ag+41aKOgtA9tfCgzfCwvmXRLG7cEWNRqbZ5d9+iulY2bKi8ku6CMAhGBmQFigAIAIzTYaLBQYFYwRsGwzhGD0eokL0DTzug7jXNWvjq/fkHFqd6jAANEwV4jQQEAgvwaykIoMGmwMGCjoTkACUZTOMDCndaelsZnn5oyubr0VE87iAQIBCKCEHRjyxOFBcY+UqofQ24SaX8IMACMALGEhRKAGYZ14QAEOL3XL2urzCDpdKMsloCAgLAEBBG0ceF4STg6ibRKwtVDYV0w2ABGM4xmaMUwiiE4ghnevFB1AQCHP1BbF7dG/pw+MPutWTNnVnZc/A5CANFoDBAaWmQgJUFIAkmCsAPdzATWDKIcUwwo30VGOQCDiEgyDw9H3rPgUJu/u/PEby8cO97R3TB1DWw7AtcMQlEGQhKERRA2QVqhhPfCDv4bBigDGmYIABEikqMCEJEAYHXs0ge62i+tPXjk+/Pz713FidIpECJQPsywLSAtcQNCWrnGEdTNzeBbACyim7/k2wUiFHlir//X4LneFtfd9+Xy5pYHrnKX7PXOQsjQS4tQYpcjEa0J8m+CvGvF0L4JR0ZpJA4wKEc3Idybt+uEdPEX9F0/l1rvet988uSS1Y+XJxKxC86vAYQlUFlWC75alT5/+kImaMPgoMOb4KQwxNdwlJlNb14DI8+CMEeRUOyc0X5sq/3mwgWN62vrE/HTqUOQNqEmXo8zR5z+z3Yc35BJwgGgAPiheCPus88uh4b/UwNhlepQ0TBp3+2/d/CHn9p+bz/TP2fialgyEuRYgEnCAZAB4OYYG6lDA/A4x+tbpWDkG07Q+gB9bI/63OvvOjXgDHy0fMWq6hRdBsNhIZEOAfI5kI1Chnl4W8wLEBJ6RGSyhsO5EoDs3Kd/TCUvrXOcb7/YuHZTHXE3ywgcAOlwfnbNDa9Hen67CGRBFAAV1oWdBQAgzh70T7rXe5pd79OvonbJg5E4hsII5AJ4AHQ+wwUB5IBkw4pwDwsAdOU4UiQGl8xc6r3cK3AtnMPBksK++Qp6I/o/r3H/MroL8C8JiYMXQa6AIwAAAABJRU5ErkJggg==" class="icon"/></a> <a title="Focus next segment" href="#Usage"><img alt="Focus next segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASrSURBVFiF7ZdtaFZlGMd/133O2dgcmunUZDgzzIYvJIH2wU2UtDKKXkCCLIqiDyIWZfhCEYIRCUIgUvYhApMKKoUMDd9ymagzNHTGZNlSp5tz0z17e55zzn1ffXjOo8/WZuqH+SEfuLgOPPc5/9/1v677PhxRVW7nz9xW9TsAtwowZ7X4Ve/4i24bAFcoKb173MZH3h2yY8FSKRx8AGDqhBnpt57/eJ43aszhqqVSOugATh1i1Cx+ZvW0svEVNbNWFE4eVABVR1d4mfOpehY9+kb5tAkz9lSu8J8cNACnjshGpOMOTrcdY/7Dz42a/eBTmyqXFy6/medIfydh1Ur/64pxM+cGnq8igogICCJylXtieUXJsGF3FbV2NeLUouoYM3QCF1uaurfu//zb6oLoFX1f3S0BVK4q2PPmwg/mXOo6h4jBE58siMHINdNS6VbSUReKw6nDOcvw4tH4tij6ZvdnB21rasHeDdp5PQB/oD+6wxSN7acScYMRL8kCJE4IqCqqDtUsRHNHA8XB0OCFx5bM2rL3iyOz35Z5+9bp2YF0BpwBq5bYhkQuQ+ySbDPZTAYrIY4MTrLXlpBYM8Q25HJPMw1Xjsqzc1+aVFY26UDlqoKZNw3gXEzswiyEzYrHZHAS4gixksFKhJMIJyFWQjKuk/boIq1djbR0nuXYhd3Mnvl42eTxD22rXO6/2J/OgC2wGhO5ECMeBoPxPXwEMMk8CKHtpjPTRmfUTjrsxFqLs4qLFRtnZ6vxSh3Tx88fOaxk2PqqlYUV1R9mVt0QQCbupivTjmd8giDAOEirRV1M5Hrose3EGmYXK4gPngi5jaKAi5XQprmQqqe0ZGKh58mUG3NAkY50G80dfyEGvMDg+YLnC8YXjCcYD7zcjlAQp7icuCbhlIpRs4hSfuqnmu+/PLDWLmFNb6l/zYCIeFwdczBGMIasaALh+YIXGPxA8APBC6Q3oC/4vseM8idoOdfe9uuhXe8dWGuXAd51HcgeOHiqWQAREC9X8bXwEhfEZDnVKbndqQoFUszU0fM4WHOo6dSxhsW/b3bViZaKiNW8w6dvCwzgoUhRUELZ8PsxgcH3kyoDk3UhAUnFTaRtJ+queVbij2BicZXu3PPT37W7Wl9u+MXWX30u2CTHAwEkPXSttX8cvySmGBHIgKiIGAMogiDjxo8tHDHSL2rqqcM5AXWMKCyn1E2Jf9ixpfbIVx2vtZ+mLUHLtVT6avU6ikXEAAVAkOT86yA/Xv10+rb7ZhWPaOqpw8WOewqn4pqH9+zYuX1/zcbMsrCLHiACwj45rXrtHdHLAVV1ImITy2xiVX4FCjjAiqDGCL5vuHdIJQ3H21LVP/+4ueaTaH1yX5REnIQFonzxflugqlEyjPmiOeE4uccgqMHngSHzObzvRMtv1bVrjm6KtueJ5SByOa2qcV+9AWZAQxFxuWqT8MkOkAGMgI71prN123fnTlY3vn5yqz3RZ30OIgYyqmr70+r3ddxrQfZcCK5WnsTTH5X9GUXp83W7Ly2s30tznks5iIh+LL8hB/q4YQGb1xYDyKXLFzec2R+uO7Ofnj7i+l+ivQq88234vwf4B6YlTDQudkyaAAAAAElFTkSuQmCC" class="icon"/></a> <a title="Return to listing" href="#a__toc__Version-numbers"><img alt="Return to listing" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABSlJREFUWIXdl1lsVUUYx/8zc7a7daUroXQhlkpoQ4sVA8b6gilbIEIDggEiEiSRFwzEJ/pCXXjgQR8sAW0I0QQSicZIiC9IsClFFqlC6HorXW/Xe+/p7b3nnpnxobbpJW1pS+uD3+N3vpn/b2b+c853gP9rrNp1WZtNHVlo4ZLDl/YzkC+lhAMUZ+9Uv3MCIHK6eraQ4sXvX9ri0tVvD2wtMt4oyaZPvP1rE1bf93ff/f72dGMWbAcKj1xMNYTSeGh7cbxUFNhcQpE2Lvxwz1Sj4czfvn4vONU4ulAAGicni/LTjYR4Jxo7g2jzjSAzJQ5Ll3iUCDUqphu3IACF7150MUqPvr4mS2/sCkICEEKic3AUhfkZBlXJjkUF0HW6JTXJTVwOHYOmNZHv80eQlRYHSFLyQgCrdlXOeKUkIRtezklVff5ITH7U4vC4dAjO00sOVzvnASDJ8vJPz5ghPZSz+ZNg9uaq/VNOQkmypjMaifKYvC0kKBn3eaI6Z4DsTZ9/mBTvOHZ0TxnbVV7q1hXlfO6mqi3P1nEhvIFg2NbU2Ol0hcIM2yAgPHcI5pwA8rd95iFEnN5UVqS19piQTMHO8lJFEHIpb+OZ1Mm1DLjT1jVsexyxizQ0hkF/CJSSlitXKmK353kAYc4rUpPilbQlcXjQ5MOv9zvgdjuwesVSw1b4yRgAxut7B4KGxgjIpDdLSpyOx20+Swh5dTqdaQEo2I6VKzKNJ0+HwIWEkBJ1j7rx6ppcnVIcTdt4xjVeawmHyYVE1BYTZ+5xqFCpxMOmHoVSXJgzAICSrPREtHX7JxKdfSaYoiIj2UMczJ7kBVuldExY/Gu83FQXrtc2WlLImtvVe5vmBJC5tdIppUh3OjUEQ1bMM29PAMsyl6gScgMAFB+6WECkuOlxaLBsCQkgM8lAR++wbO0cClpW9PgMi5wawBg1VACghMJ65mqFLRuMMUooSwYAytgxl6EWFOSlcv9oFJpCkehScb22kQsujzyoOTg8Z4DWxFxTEvDASBhOI9bZDk1BYCRsQwovADCCbbvfKsS6wizW548gJU5HQ4tPhsJRJcevTWu+GQFwpYJT0BbfoIl4V+xL0O3Q0NfvtyXFnZLD1SrnMlNRGf78O4BwlCMlXofKxhcisucHAEAKcbW1vdfKSHZP5AgBDI2if9g0OHi9orscACAkgS3Geo5AKIqoJSVltPbuud0t8wagjF3wdvUpTo0izjm2C4yOeYJzAS2smLe/2BdglA72Do0gwaki2aMhErFQ+9ArbFvMaL7nArT+dKKJc1FT/0eztTI7GZQQcCEmrpniUFQAICBnb/7eEtaZBOwofrzxyLI5P3Xv/L662QDM2BFlb69MQFRvXlf8UlIUKmnvCWBtfhpu1TXADEUeS0LfznmltCnU3V0jBN9DKIsQKU7Xn9tbNVMfOGsAAMgpr9qpG9p3b64vUhraBpCe5IQ5PMzbO3xsNBL9yvvzxx8AQNmBb4wbNQfDsxGdHM/tB9rcK66GI1Glpb1HZiS70DUwgrycpWx9aQEIJdvG6+YjPiuAZaY3GwA0hSHBrcOKcjxo9kGAQgqZWVJSPeV3fsEAnl470UIJqbVsLobNsY4nagtwPnbE/tRux6ICAIAQ5Hirt0sKbiPJY8Dj1DDoN0FABpuvVQYWHcB77WQdF/JUw1/Nlko44gyK5raOMICzLyIOzOHPaLjpl1vuvFuir3/otW7fAOO2vLw8FP7I670hXhRizpFdVmn856KLFf8AcP0p5DnhnVEAAAAASUVORK5CYII=" class="icon"/></a></div>
|
1019
|
-
<h2 class="title">
|
1020
|
-
2.3 Version numbers
|
1021
|
-
</h2>
|
1022
|
-
<div class="content"><p>Ember releases are numbered in <em>major.minor.patch</em> form according to the <a href='http://www.rubygems.org/read/chapter/7'>RubyGems rational versioning policy</a>, which can be summarized thus:</p>
|
1023
|
-
<table border="1">
|
1024
|
-
<thead>
|
1025
|
-
<tr>
|
1026
|
-
<td rowspan='2'>What increased in the version number?</td>
|
1027
|
-
<td colspan='3'>The increase indicates that the release:</td>
|
1028
|
-
</tr>
|
1029
|
-
<tr>
|
1030
|
-
<th>Is backward compatible?</th>
|
1031
|
-
<th>Has new features?</th>
|
1032
|
-
<th>Has bug fixes?</th>
|
1033
|
-
</tr>
|
1034
|
-
</thead>
|
1035
|
-
<tbody>
|
1036
|
-
<tr>
|
1037
|
-
<th>major</th>
|
1038
|
-
<td style='background-color: #FFE4E1;'>No</td>
|
1039
|
-
<td>Yes</td>
|
1040
|
-
<td>Yes</td>
|
1041
|
-
</tr>
|
1042
|
-
<tr>
|
1043
|
-
<th>minor</th>
|
1044
|
-
<td>Yes</td>
|
1045
|
-
<td>Yes</td>
|
1046
|
-
<td>Yes</td>
|
1047
|
-
</tr>
|
1048
|
-
<tr>
|
1049
|
-
<th>patch</th>
|
1050
|
-
<td>Yes</td>
|
1051
|
-
<td style='background-color: #FFE4E1;'>No</td>
|
1052
|
-
<td>Yes</td>
|
1053
|
-
</tr>
|
1054
|
-
</tbody>
|
1055
|
-
</table></div>
|
1056
1699
|
</div>
|
1057
|
-
</div
|
1700
|
+
</div>
|
1701
|
+
</div></div>
|
1058
1702
|
</div>
|
1059
1703
|
|
1060
1704
|
|
1705
|
+
<div class="part" id="Theory">
|
1706
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Theory"/><div class="nav"><a title="Here" href="#Theory"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#gem-uninstall-ember"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Directives"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Theory"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1707
|
+
<h1 class="title">
|
1708
|
+
Part 3
|
1709
|
+
<br/>
|
1710
|
+
<big>Theory</big>
|
1711
|
+
</h1>
|
1712
|
+
<div class="content"><div style="display: none"><br/><hr/><br/></div><div class="tabs"><ul><li><a href="#Directives"><span class="section_number">3.1 </span>Directives</a></li><li><a href="#Operations"><span class="section_number">3.2 </span>Operations</a></li></ul>
|
1713
|
+
<div class="section" id="Directives">
|
1714
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Directives"/><div class="nav"><a title="Here" href="#Directives"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Theory"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Operations"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Directives"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1715
|
+
<h1 class="title">
|
1716
|
+
<span class="section_number">3.1 </span>Directives
|
1717
|
+
</h1>
|
1718
|
+
<div class="content"><p>eRuby templates are plain-text documents that contain special processing instructions known as <strong>directives</strong>, which may be expressed using either <strong>standard</strong> or <strong>shorthand</strong> notation:</p>
|
1719
|
+
|
1720
|
+
<ins><table border="1"><thead><tr><th>Notation</th><th>Directive</th><th>Head</th><th>Operation</th><th>Body</th><th>Tail</th></tr></thead><tbody><tr><td>Standard</td><td><%XY%></td><td><%</td><td>X</td><td>Y</td><td>%></td></tr><tr><td>Shorthand</td><td>%XY</td><td>%</td><td>X</td><td>Y</td><td></td></tr></tbody></table></ins><p>In standard notation, the directive is composed of a head, <a class="xref" href="#Operations" title="Section 3.2. "Operations"">an operation</a>, a body, and a tail. In addition, the directive may appear anywhere in the text.</p>
|
1061
1721
|
|
1722
|
+
<p>In shorthand notation, the directive is composed of a head, <a class="xref" href="#Operations" title="Section 3.2. "Operations"">an operation</a> and a body. However, the directive may only appear in the text if it occupies an entire line (arbitrary amounts of leading whitespace are permitted).</p>
|
1062
1723
|
|
1063
|
-
<
|
1064
|
-
|
1724
|
+
<p>In any case, directives are atomic constructs; they cannot be nested.</p></div>
|
1725
|
+
</div>
|
1726
|
+
|
1727
|
+
|
1728
|
+
|
1729
|
+
<div class="section" id="Operations">
|
1730
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Operations"/><div class="nav"><a title="Here" href="#Operations"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Directives"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Usage"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Operations"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1065
1731
|
<h1 class="title">
|
1066
|
-
|
1067
|
-
<br/>
|
1068
|
-
<big>Usage</big>
|
1732
|
+
<span class="section_number">3.2 </span>Operations
|
1069
1733
|
</h1>
|
1070
|
-
<div class="content"><
|
1071
|
-
<div class="section" id="Command-line-interface">
|
1072
|
-
<a name="Command-line-interface"/><div class="nav"><a title="Focus this segment" href="#Command-line-interface"><img alt="Focus this segment" src="data:image/png;base64,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" class="icon"/></a> <a title="Focus previous segment" href="#Usage"><img alt="Focus previous segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAS1SURBVFiF7ZddbBRVFMf/596Z3W3rtiwtUFsJFQhWMQSIWi0UKJHPlISvCGpiogkxig8SlBSj0Rij6YMPJhB9IyZqTFRC4pNKAgElplSIsRURRL6xtLRLu53dmbn3Hh9mFrZ1Kcs2pi9McnJndu8953c+7rkzxMwYz0uMq/W7AACssSpofo2qlJQfW6X66QNvs7rT9WOKQNP22Kz4xNqOadX1y1CkM0UDLH7dXlo3ddahV9a9O62m6n6/WD1FUS9qtbbMe6i5bUXDxkR/5h+AijVfBEBTa+TD1Q3PbJlX3xQ/39eFeKyyeOt3AvDIi2THJsivn1u5fUXt5LroxeRJMBjA2BoZFdIJm7fRBHFP+f4tLTvnRksism/oCjQrKOOjIlaFgWTSOX3pj0FmRiAGBszMBgyG1gqdZ38+cvh9tWGk7ttG4IltJXWTJtbsf37NjulplaSeVDeYDTRrGKMw6PahrKK89OH43FJjVAimYFhBax/aKFRXTEfn3+2T8+kfFaDpjUhD3X0z9m5e9lJNz9A5eCoDRughGxhoeF4ag+41aKOgtA9tfCgzfCwvmXRLG7cEWNRqbZ5d9+iulY2bKi8ku6CMAhGBmQFigAIAIzTYaLBQYFYwRsGwzhGD0eokL0DTzug7jXNWvjq/fkHFqd6jAANEwV4jQQEAgvwaykIoMGmwMGCjoTkACUZTOMDCndaelsZnn5oyubr0VE87iAQIBCKCEHRjyxOFBcY+UqofQ24SaX8IMACMALGEhRKAGYZ14QAEOL3XL2urzCDpdKMsloCAgLAEBBG0ceF4STg6ibRKwtVDYV0w2ABGM4xmaMUwiiE4ghnevFB1AQCHP1BbF7dG/pw+MPutWTNnVnZc/A5CANFoDBAaWmQgJUFIAkmCsAPdzATWDKIcUwwo30VGOQCDiEgyDw9H3rPgUJu/u/PEby8cO97R3TB1DWw7AtcMQlEGQhKERRA2QVqhhPfCDv4bBigDGmYIABEikqMCEJEAYHXs0ge62i+tPXjk+/Pz713FidIpECJQPsywLSAtcQNCWrnGEdTNzeBbACyim7/k2wUiFHlir//X4LneFtfd9+Xy5pYHrnKX7PXOQsjQS4tQYpcjEa0J8m+CvGvF0L4JR0ZpJA4wKEc3Idybt+uEdPEX9F0/l1rvet988uSS1Y+XJxKxC86vAYQlUFlWC75alT5/+kImaMPgoMOb4KQwxNdwlJlNb14DI8+CMEeRUOyc0X5sq/3mwgWN62vrE/HTqUOQNqEmXo8zR5z+z3Yc35BJwgGgAPiheCPus88uh4b/UwNhlepQ0TBp3+2/d/CHn9p+bz/TP2fialgyEuRYgEnCAZAB4OYYG6lDA/A4x+tbpWDkG07Q+gB9bI/63OvvOjXgDHy0fMWq6hRdBsNhIZEOAfI5kI1Chnl4W8wLEBJ6RGSyhsO5EoDs3Kd/TCUvrXOcb7/YuHZTHXE3ywgcAOlwfnbNDa9Hen67CGRBFAAV1oWdBQAgzh70T7rXe5pd79OvonbJg5E4hsII5AJ4AHQ+wwUB5IBkw4pwDwsAdOU4UiQGl8xc6r3cK3AtnMPBksK++Qp6I/o/r3H/MroL8C8JiYMXQa6AIwAAAABJRU5ErkJggg==" class="icon"/></a> <a title="Focus next segment" href="#Ruby-library-interface"><img alt="Focus next segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASrSURBVFiF7ZdtaFZlGMd/133O2dgcmunUZDgzzIYvJIH2wU2UtDKKXkCCLIqiDyIWZfhCEYIRCUIgUvYhApMKKoUMDd9ymagzNHTGZNlSp5tz0z17e55zzn1ffXjOo8/WZuqH+SEfuLgOPPc5/9/1v677PhxRVW7nz9xW9TsAtwowZ7X4Ve/4i24bAFcoKb173MZH3h2yY8FSKRx8AGDqhBnpt57/eJ43aszhqqVSOugATh1i1Cx+ZvW0svEVNbNWFE4eVABVR1d4mfOpehY9+kb5tAkz9lSu8J8cNACnjshGpOMOTrcdY/7Dz42a/eBTmyqXFy6/medIfydh1Ur/64pxM+cGnq8igogICCJylXtieUXJsGF3FbV2NeLUouoYM3QCF1uaurfu//zb6oLoFX1f3S0BVK4q2PPmwg/mXOo6h4jBE58siMHINdNS6VbSUReKw6nDOcvw4tH4tij6ZvdnB21rasHeDdp5PQB/oD+6wxSN7acScYMRL8kCJE4IqCqqDtUsRHNHA8XB0OCFx5bM2rL3iyOz35Z5+9bp2YF0BpwBq5bYhkQuQ+ySbDPZTAYrIY4MTrLXlpBYM8Q25HJPMw1Xjsqzc1+aVFY26UDlqoKZNw3gXEzswiyEzYrHZHAS4gixksFKhJMIJyFWQjKuk/boIq1djbR0nuXYhd3Mnvl42eTxD22rXO6/2J/OgC2wGhO5ECMeBoPxPXwEMMk8CKHtpjPTRmfUTjrsxFqLs4qLFRtnZ6vxSh3Tx88fOaxk2PqqlYUV1R9mVt0QQCbupivTjmd8giDAOEirRV1M5Hrose3EGmYXK4gPngi5jaKAi5XQprmQqqe0ZGKh58mUG3NAkY50G80dfyEGvMDg+YLnC8YXjCcYD7zcjlAQp7icuCbhlIpRs4hSfuqnmu+/PLDWLmFNb6l/zYCIeFwdczBGMIasaALh+YIXGPxA8APBC6Q3oC/4vseM8idoOdfe9uuhXe8dWGuXAd51HcgeOHiqWQAREC9X8bXwEhfEZDnVKbndqQoFUszU0fM4WHOo6dSxhsW/b3bViZaKiNW8w6dvCwzgoUhRUELZ8PsxgcH3kyoDk3UhAUnFTaRtJ+queVbij2BicZXu3PPT37W7Wl9u+MXWX30u2CTHAwEkPXSttX8cvySmGBHIgKiIGAMogiDjxo8tHDHSL2rqqcM5AXWMKCyn1E2Jf9ixpfbIVx2vtZ+mLUHLtVT6avU6ikXEAAVAkOT86yA/Xv10+rb7ZhWPaOqpw8WOewqn4pqH9+zYuX1/zcbMsrCLHiACwj45rXrtHdHLAVV1ImITy2xiVX4FCjjAiqDGCL5vuHdIJQ3H21LVP/+4ueaTaH1yX5REnIQFonzxflugqlEyjPmiOeE4uccgqMHngSHzObzvRMtv1bVrjm6KtueJ5SByOa2qcV+9AWZAQxFxuWqT8MkOkAGMgI71prN123fnTlY3vn5yqz3RZ30OIgYyqmr70+r3ddxrQfZcCK5WnsTTH5X9GUXp83W7Ly2s30tznks5iIh+LL8hB/q4YQGb1xYDyKXLFzec2R+uO7Ofnj7i+l+ivQq88234vwf4B6YlTDQudkyaAAAAAElFTkSuQmCC" class="icon"/></a> <a title="Return to listing" href="#a__toc__Command-line-interface"><img alt="Return to listing" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABSlJREFUWIXdl1lsVUUYx/8zc7a7daUroXQhlkpoQ4sVA8b6gilbIEIDggEiEiSRFwzEJ/pCXXjgQR8sAW0I0QQSicZIiC9IsClFFqlC6HorXW/Xe+/p7b3nnpnxobbpJW1pS+uD3+N3vpn/b2b+c853gP9rrNp1WZtNHVlo4ZLDl/YzkC+lhAMUZ+9Uv3MCIHK6eraQ4sXvX9ri0tVvD2wtMt4oyaZPvP1rE1bf93ff/f72dGMWbAcKj1xMNYTSeGh7cbxUFNhcQpE2Lvxwz1Sj4czfvn4vONU4ulAAGicni/LTjYR4Jxo7g2jzjSAzJQ5Ll3iUCDUqphu3IACF7150MUqPvr4mS2/sCkICEEKic3AUhfkZBlXJjkUF0HW6JTXJTVwOHYOmNZHv80eQlRYHSFLyQgCrdlXOeKUkIRtezklVff5ITH7U4vC4dAjO00sOVzvnASDJ8vJPz5ghPZSz+ZNg9uaq/VNOQkmypjMaifKYvC0kKBn3eaI6Z4DsTZ9/mBTvOHZ0TxnbVV7q1hXlfO6mqi3P1nEhvIFg2NbU2Ol0hcIM2yAgPHcI5pwA8rd95iFEnN5UVqS19piQTMHO8lJFEHIpb+OZ1Mm1DLjT1jVsexyxizQ0hkF/CJSSlitXKmK353kAYc4rUpPilbQlcXjQ5MOv9zvgdjuwesVSw1b4yRgAxut7B4KGxgjIpDdLSpyOx20+Swh5dTqdaQEo2I6VKzKNJ0+HwIWEkBJ1j7rx6ppcnVIcTdt4xjVeawmHyYVE1BYTZ+5xqFCpxMOmHoVSXJgzAICSrPREtHX7JxKdfSaYoiIj2UMczJ7kBVuldExY/Gu83FQXrtc2WlLImtvVe5vmBJC5tdIppUh3OjUEQ1bMM29PAMsyl6gScgMAFB+6WECkuOlxaLBsCQkgM8lAR++wbO0cClpW9PgMi5wawBg1VACghMJ65mqFLRuMMUooSwYAytgxl6EWFOSlcv9oFJpCkehScb22kQsujzyoOTg8Z4DWxFxTEvDASBhOI9bZDk1BYCRsQwovADCCbbvfKsS6wizW548gJU5HQ4tPhsJRJcevTWu+GQFwpYJT0BbfoIl4V+xL0O3Q0NfvtyXFnZLD1SrnMlNRGf78O4BwlCMlXofKxhcisucHAEAKcbW1vdfKSHZP5AgBDI2if9g0OHi9orscACAkgS3Geo5AKIqoJSVltPbuud0t8wagjF3wdvUpTo0izjm2C4yOeYJzAS2smLe/2BdglA72Do0gwaki2aMhErFQ+9ArbFvMaL7nArT+dKKJc1FT/0eztTI7GZQQcCEmrpniUFQAICBnb/7eEtaZBOwofrzxyLI5P3Xv/L662QDM2BFlb69MQFRvXlf8UlIUKmnvCWBtfhpu1TXADEUeS0LfznmltCnU3V0jBN9DKIsQKU7Xn9tbNVMfOGsAAMgpr9qpG9p3b64vUhraBpCe5IQ5PMzbO3xsNBL9yvvzxx8AQNmBb4wbNQfDsxGdHM/tB9rcK66GI1Glpb1HZiS70DUwgrycpWx9aQEIJdvG6+YjPiuAZaY3GwA0hSHBrcOKcjxo9kGAQgqZWVJSPeV3fsEAnl470UIJqbVsLobNsY4nagtwPnbE/tRux6ICAIAQ5Hirt0sKbiPJY8Dj1DDoN0FABpuvVQYWHcB77WQdF/JUw1/Nlko44gyK5raOMICzLyIOzOHPaLjpl1vuvFuir3/otW7fAOO2vLw8FP7I670hXhRizpFdVmn856KLFf8AcP0p5DnhnVEAAAAASUVORK5CYII=" class="icon"/></a></div>
|
1073
|
-
<h2 class="title">
|
1074
|
-
3.1 Command-line interface
|
1075
|
-
</h2>
|
1076
|
-
<div class="content"><p>When you run this command:</p>
|
1734
|
+
<div class="content"><p>The first character that follows the head of a directive is known as an <strong>operation</strong>. It prescribes how the directive should be processed:</p>
|
1077
1735
|
|
1078
|
-
<
|
1736
|
+
<ins><table border="1"><thead><tr><th>Operation</th><th>Effect</th><th>Example</th></tr></thead><tbody><tr><td><code class="line"><span style="color:#888">#</span></code></td><td>The entire directive is omitted from the output.</td><td><a class="xref" href="#Comment-directives" title="Example 2">Comment directives</a></td></tr><tr><td><code class="line">=</code></td><td>The body of the directive is evaluated as Ruby code, and the result of this evaluation is inserted into the output.</td><td><a class="xref" href="#Vocal-directives" title="Example 4">Vocal directives</a></td></tr><tr><td><code class="line">~</code></td><td>The body of the directive is evaluated as an eRuby template, and the result of this evaluation is inserted into the output.</td><td><a class="xref" href="#Dynamic-template-evaluation" title="Example 10">Dynamic template evaluation</a></td></tr><tr><td><code class="line">+</code></td><td>The body of the directive is evaluated as Ruby code, and the result of this evaluation is assumed to be a string that specifies the path (either absolute or relative to the eRuby template file in which this directive is found) to a file containing an eRuby template. This file is read and its contents are evaluated as an eRuby template, and the result of this evaluation is inserted into the output.</td><td><a class="xref" href="#Template-file-inclusion" title="Example 9">Template file inclusion</a></td></tr><tr><td><code class="line"><</code></td><td>The body of the directive is evaluated as Ruby code, and the result of this evaluation is assumed to be a string that specifies the path (either absolute or relative to the eRuby template file in which this directive is found) to a file. This file is read and its contents are inserted into the output.</td><td><a class="xref" href="#Raw-file-inclusion" title="Example 8">Raw file inclusion</a></td></tr><tr><td><code class="line">|</code></td><td>The body of the directive is treated as the beginning of a Ruby block. The <code class="line"><span style="color:#080;font-weight:bold">do</span></code> keyword is automatically appended to the body of the directive if missing.</td><td><a class="xref" href="#Block-directives" title="Example 6">Block directives</a></td></tr><tr><td><code class="line">%</code></td><td>One ”%” character is omitted from the head of the directive and the entire directive is inserted into the output.</td><td><a class="xref" href="#Escaped-directives" title="Example 3">Escaped directives</a></td></tr><tr><td>(none of the above)</td><td>The body of the directive is evaluated as Ruby code, but the result of this evaluation <em>is not</em> inserted into the output.</td><td><a class="xref" href="#Silent-directives" title="Example 5">Silent directives</a></td></tr></tbody></table></ins></div>
|
1737
|
+
</div>
|
1738
|
+
</div></div>
|
1739
|
+
</div>
|
1079
1740
|
|
1080
|
-
<p>You will see this output:</p>
|
1081
1741
|
|
1082
|
-
<
|
1742
|
+
<div class="part" id="Usage">
|
1743
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Usage"/><div class="nav"><a title="Here" href="#Usage"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Operations"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Shell-command"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Usage"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1744
|
+
<h1 class="title">
|
1745
|
+
Part 4
|
1746
|
+
<br/>
|
1747
|
+
<big>Usage</big>
|
1748
|
+
</h1>
|
1749
|
+
<div class="content"><div style="display: none"><br/><hr/><br/></div><div class="tabs"><ul><li><a href="#Shell-command"><span class="section_number">4.1 </span>Shell command</a></li><li><a href="#Ruby-library"><span class="section_number">4.2 </span>Ruby library</a></li></ul>
|
1750
|
+
<div class="section" id="Shell-command">
|
1751
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Shell-command"/><div class="nav"><a title="Here" href="#Shell-command"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Usage"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#ember-help"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Shell-command"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1752
|
+
<h1 class="title">
|
1753
|
+
<span class="section_number">4.1 </span>Shell command
|
1754
|
+
</h1>
|
1755
|
+
<div class="content">
|
1756
|
+
<div class="_float ui-tabs ui-widget ui-widget-content ui-corner-all command" id="ember-help">
|
1757
|
+
<div style="display: none"><br/><hr/><br/></div><a name="ember-help"/><div class="nav"><a title="Here" href="#ember-help"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Shell-command"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Ruby-library"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-ember-help"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1758
|
+
<p class="title ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"><span class="section_number">Command 4. </span><tt>ember --help</tt></p>
|
1759
|
+
<div class="content ui-tabs-panel ui-widget-content ui-corner-bottom">
|
1760
|
+
<img alt="command" src="cid:70886662" class="icon"/>
|
1761
|
+
<pre>Ember - eRuby template processor
|
1083
1762
|
|
1084
1763
|
Evaluates eRuby directives in the given eRuby template and
|
1085
1764
|
writes the result to the standard output stream (STDOUT).
|
1086
1765
|
|
1087
|
-
|
1088
1766
|
Usage:
|
1089
1767
|
|
1090
|
-
ember [Options] [
|
1091
|
-
|
1768
|
+
ember [Options] [TemplateFile]
|
1092
1769
|
|
1093
|
-
|
1094
|
-
not specified, then the result of reading the standard
|
1095
|
-
input stream (STDIN) will be used as the eRuby template.
|
1770
|
+
TemplateFile:
|
1096
1771
|
|
1772
|
+
Path to the eRuby template file that you want to evaluate. If
|
1773
|
+
this parameter is not specified, then the result of reading the
|
1774
|
+
standard input stream (STDIN) will be used as the eRuby template.
|
1097
1775
|
|
1098
1776
|
Options:
|
1099
1777
|
|
1100
|
-
|
1101
|
-
--infer-end, -i: Add "end" statements based on indentation
|
1102
|
-
--unindent, -u: Unindent block content hierarchically
|
1103
|
-
--compile, -c: Print template program and exit
|
1104
|
-
--manual, -m: Show the user manual
|
1105
|
-
--locale, -l <s>: Set preferred language
|
1106
|
-
--version, -v: Print version and exit
|
1107
|
-
--help, -h: Show this message</pre><p></p></div>
|
1108
|
-
</div>
|
1109
|
-
<p></p>
|
1778
|
+
-s, --shorthand:
|
1110
1779
|
|
1780
|
+
Treat lines beginning with zero or more whitespace
|
1781
|
+
followed by the "%" character as eRuby directives.
|
1111
1782
|
|
1112
|
-
|
1113
|
-
<a name="Ruby-library-interface"/><div class="nav"><a title="Focus this segment" href="#Ruby-library-interface"><img alt="Focus this segment" src="data:image/png;base64,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" class="icon"/></a> <a title="Focus previous segment" href="#Command-line-interface"><img alt="Focus previous segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAS1SURBVFiF7ZddbBRVFMf/596Z3W3rtiwtUFsJFQhWMQSIWi0UKJHPlISvCGpiogkxig8SlBSj0Rij6YMPJhB9IyZqTFRC4pNKAgElplSIsRURRL6xtLRLu53dmbn3Hh9mFrZ1Kcs2pi9McnJndu8953c+7rkzxMwYz0uMq/W7AACssSpofo2qlJQfW6X66QNvs7rT9WOKQNP22Kz4xNqOadX1y1CkM0UDLH7dXlo3ddahV9a9O62m6n6/WD1FUS9qtbbMe6i5bUXDxkR/5h+AijVfBEBTa+TD1Q3PbJlX3xQ/39eFeKyyeOt3AvDIi2THJsivn1u5fUXt5LroxeRJMBjA2BoZFdIJm7fRBHFP+f4tLTvnRksism/oCjQrKOOjIlaFgWTSOX3pj0FmRiAGBszMBgyG1gqdZ38+cvh9tWGk7ttG4IltJXWTJtbsf37NjulplaSeVDeYDTRrGKMw6PahrKK89OH43FJjVAimYFhBax/aKFRXTEfn3+2T8+kfFaDpjUhD3X0z9m5e9lJNz9A5eCoDRughGxhoeF4ag+41aKOgtA9tfCgzfCwvmXRLG7cEWNRqbZ5d9+iulY2bKi8ku6CMAhGBmQFigAIAIzTYaLBQYFYwRsGwzhGD0eokL0DTzug7jXNWvjq/fkHFqd6jAANEwV4jQQEAgvwaykIoMGmwMGCjoTkACUZTOMDCndaelsZnn5oyubr0VE87iAQIBCKCEHRjyxOFBcY+UqofQ24SaX8IMACMALGEhRKAGYZ14QAEOL3XL2urzCDpdKMsloCAgLAEBBG0ceF4STg6ibRKwtVDYV0w2ABGM4xmaMUwiiE4ghnevFB1AQCHP1BbF7dG/pw+MPutWTNnVnZc/A5CANFoDBAaWmQgJUFIAkmCsAPdzATWDKIcUwwo30VGOQCDiEgyDw9H3rPgUJu/u/PEby8cO97R3TB1DWw7AtcMQlEGQhKERRA2QVqhhPfCDv4bBigDGmYIABEikqMCEJEAYHXs0ge62i+tPXjk+/Pz713FidIpECJQPsywLSAtcQNCWrnGEdTNzeBbACyim7/k2wUiFHlir//X4LneFtfd9+Xy5pYHrnKX7PXOQsjQS4tQYpcjEa0J8m+CvGvF0L4JR0ZpJA4wKEc3Idybt+uEdPEX9F0/l1rvet988uSS1Y+XJxKxC86vAYQlUFlWC75alT5/+kImaMPgoMOb4KQwxNdwlJlNb14DI8+CMEeRUOyc0X5sq/3mwgWN62vrE/HTqUOQNqEmXo8zR5z+z3Yc35BJwgGgAPiheCPus88uh4b/UwNhlepQ0TBp3+2/d/CHn9p+bz/TP2fialgyEuRYgEnCAZAB4OYYG6lDA/A4x+tbpWDkG07Q+gB9bI/63OvvOjXgDHy0fMWq6hRdBsNhIZEOAfI5kI1Chnl4W8wLEBJ6RGSyhsO5EoDs3Kd/TCUvrXOcb7/YuHZTHXE3ywgcAOlwfnbNDa9Hen67CGRBFAAV1oWdBQAgzh70T7rXe5pd79OvonbJg5E4hsII5AJ4AHQ+wwUB5IBkw4pwDwsAdOU4UiQGl8xc6r3cK3AtnMPBksK++Qp6I/o/r3H/MroL8C8JiYMXQa6AIwAAAABJRU5ErkJggg==" class="icon"/></a> <a title="Focus next segment" href="#Directives"><img alt="Focus next segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASrSURBVFiF7ZdtaFZlGMd/133O2dgcmunUZDgzzIYvJIH2wU2UtDKKXkCCLIqiDyIWZfhCEYIRCUIgUvYhApMKKoUMDd9ymagzNHTGZNlSp5tz0z17e55zzn1ffXjOo8/WZuqH+SEfuLgOPPc5/9/1v677PhxRVW7nz9xW9TsAtwowZ7X4Ve/4i24bAFcoKb173MZH3h2yY8FSKRx8AGDqhBnpt57/eJ43aszhqqVSOugATh1i1Cx+ZvW0svEVNbNWFE4eVABVR1d4mfOpehY9+kb5tAkz9lSu8J8cNACnjshGpOMOTrcdY/7Dz42a/eBTmyqXFy6/medIfydh1Ur/64pxM+cGnq8igogICCJylXtieUXJsGF3FbV2NeLUouoYM3QCF1uaurfu//zb6oLoFX1f3S0BVK4q2PPmwg/mXOo6h4jBE58siMHINdNS6VbSUReKw6nDOcvw4tH4tij6ZvdnB21rasHeDdp5PQB/oD+6wxSN7acScYMRL8kCJE4IqCqqDtUsRHNHA8XB0OCFx5bM2rL3iyOz35Z5+9bp2YF0BpwBq5bYhkQuQ+ySbDPZTAYrIY4MTrLXlpBYM8Q25HJPMw1Xjsqzc1+aVFY26UDlqoKZNw3gXEzswiyEzYrHZHAS4gixksFKhJMIJyFWQjKuk/boIq1djbR0nuXYhd3Mnvl42eTxD22rXO6/2J/OgC2wGhO5ECMeBoPxPXwEMMk8CKHtpjPTRmfUTjrsxFqLs4qLFRtnZ6vxSh3Tx88fOaxk2PqqlYUV1R9mVt0QQCbupivTjmd8giDAOEirRV1M5Hrose3EGmYXK4gPngi5jaKAi5XQprmQqqe0ZGKh58mUG3NAkY50G80dfyEGvMDg+YLnC8YXjCcYD7zcjlAQp7icuCbhlIpRs4hSfuqnmu+/PLDWLmFNb6l/zYCIeFwdczBGMIasaALh+YIXGPxA8APBC6Q3oC/4vseM8idoOdfe9uuhXe8dWGuXAd51HcgeOHiqWQAREC9X8bXwEhfEZDnVKbndqQoFUszU0fM4WHOo6dSxhsW/b3bViZaKiNW8w6dvCwzgoUhRUELZ8PsxgcH3kyoDk3UhAUnFTaRtJ+queVbij2BicZXu3PPT37W7Wl9u+MXWX30u2CTHAwEkPXSttX8cvySmGBHIgKiIGAMogiDjxo8tHDHSL2rqqcM5AXWMKCyn1E2Jf9ixpfbIVx2vtZ+mLUHLtVT6avU6ikXEAAVAkOT86yA/Xv10+rb7ZhWPaOqpw8WOewqn4pqH9+zYuX1/zcbMsrCLHiACwj45rXrtHdHLAVV1ImITy2xiVX4FCjjAiqDGCL5vuHdIJQ3H21LVP/+4ueaTaH1yX5REnIQFonzxflugqlEyjPmiOeE4uccgqMHngSHzObzvRMtv1bVrjm6KtueJ5SByOa2qcV+9AWZAQxFxuWqT8MkOkAGMgI71prN123fnTlY3vn5yqz3RZ30OIgYyqmr70+r3ddxrQfZcCK5WnsTTH5X9GUXp83W7Ly2s30tznks5iIh+LL8hB/q4YQGb1xYDyKXLFzec2R+uO7Ofnj7i+l+ivQq88234vwf4B6YlTDQudkyaAAAAAElFTkSuQmCC" class="icon"/></a> <a title="Return to listing" href="#a__toc__Ruby-library-interface"><img alt="Return to listing" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABSlJREFUWIXdl1lsVUUYx/8zc7a7daUroXQhlkpoQ4sVA8b6gilbIEIDggEiEiSRFwzEJ/pCXXjgQR8sAW0I0QQSicZIiC9IsClFFqlC6HorXW/Xe+/p7b3nnpnxobbpJW1pS+uD3+N3vpn/b2b+c853gP9rrNp1WZtNHVlo4ZLDl/YzkC+lhAMUZ+9Uv3MCIHK6eraQ4sXvX9ri0tVvD2wtMt4oyaZPvP1rE1bf93ff/f72dGMWbAcKj1xMNYTSeGh7cbxUFNhcQpE2Lvxwz1Sj4czfvn4vONU4ulAAGicni/LTjYR4Jxo7g2jzjSAzJQ5Ll3iUCDUqphu3IACF7150MUqPvr4mS2/sCkICEEKic3AUhfkZBlXJjkUF0HW6JTXJTVwOHYOmNZHv80eQlRYHSFLyQgCrdlXOeKUkIRtezklVff5ITH7U4vC4dAjO00sOVzvnASDJ8vJPz5ghPZSz+ZNg9uaq/VNOQkmypjMaifKYvC0kKBn3eaI6Z4DsTZ9/mBTvOHZ0TxnbVV7q1hXlfO6mqi3P1nEhvIFg2NbU2Ol0hcIM2yAgPHcI5pwA8rd95iFEnN5UVqS19piQTMHO8lJFEHIpb+OZ1Mm1DLjT1jVsexyxizQ0hkF/CJSSlitXKmK353kAYc4rUpPilbQlcXjQ5MOv9zvgdjuwesVSw1b4yRgAxut7B4KGxgjIpDdLSpyOx20+Swh5dTqdaQEo2I6VKzKNJ0+HwIWEkBJ1j7rx6ppcnVIcTdt4xjVeawmHyYVE1BYTZ+5xqFCpxMOmHoVSXJgzAICSrPREtHX7JxKdfSaYoiIj2UMczJ7kBVuldExY/Gu83FQXrtc2WlLImtvVe5vmBJC5tdIppUh3OjUEQ1bMM29PAMsyl6gScgMAFB+6WECkuOlxaLBsCQkgM8lAR++wbO0cClpW9PgMi5wawBg1VACghMJ65mqFLRuMMUooSwYAytgxl6EWFOSlcv9oFJpCkehScb22kQsujzyoOTg8Z4DWxFxTEvDASBhOI9bZDk1BYCRsQwovADCCbbvfKsS6wizW548gJU5HQ4tPhsJRJcevTWu+GQFwpYJT0BbfoIl4V+xL0O3Q0NfvtyXFnZLD1SrnMlNRGf78O4BwlCMlXofKxhcisucHAEAKcbW1vdfKSHZP5AgBDI2if9g0OHi9orscACAkgS3Geo5AKIqoJSVltPbuud0t8wagjF3wdvUpTo0izjm2C4yOeYJzAS2smLe/2BdglA72Do0gwaki2aMhErFQ+9ArbFvMaL7nArT+dKKJc1FT/0eztTI7GZQQcCEmrpniUFQAICBnb/7eEtaZBOwofrzxyLI5P3Xv/L662QDM2BFlb69MQFRvXlf8UlIUKmnvCWBtfhpu1TXADEUeS0LfznmltCnU3V0jBN9DKIsQKU7Xn9tbNVMfOGsAAMgpr9qpG9p3b64vUhraBpCe5IQ5PMzbO3xsNBL9yvvzxx8AQNmBb4wbNQfDsxGdHM/tB9rcK66GI1Glpb1HZiS70DUwgrycpWx9aQEIJdvG6+YjPiuAZaY3GwA0hSHBrcOKcjxo9kGAQgqZWVJSPeV3fsEAnl470UIJqbVsLobNsY4nagtwPnbE/tRux6ICAIAQ5Hirt0sKbiPJY8Dj1DDoN0FABpuvVQYWHcB77WQdF/JUw1/Nlko44gyK5raOMICzLyIOzOHPaLjpl1vuvFuir3/otW7fAOO2vLw8FP7I670hXhRizpFdVmn856KLFf8AcP0p5DnhnVEAAAAASUVORK5CYII=" class="icon"/></a></div>
|
1114
|
-
<h2 class="title">
|
1115
|
-
3.2 Ruby library interface
|
1116
|
-
</h2>
|
1117
|
-
<div class="content"><p>Begin by loading Ember into Ruby:</p>
|
1783
|
+
-i, --infer_end:
|
1118
1784
|
|
1119
|
-
|
1120
|
-
require <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">ember</span><span style="color:#710">'</span></span>
|
1121
|
-
</pre></ins></p>
|
1785
|
+
Add missing <% end %> directives based on indentation.
|
1122
1786
|
|
1123
|
-
|
1787
|
+
-u, --unindent:
|
1124
1788
|
|
1125
|
-
|
1126
|
-
options = { <span style="color:#A60">:unindent</span> => <span style="color:#038;font-weight:bold">true</span>, <span style="color:#A60">:shorthand</span> => <span style="color:#038;font-weight:bold">true</span> }
|
1789
|
+
Unindent the bodies of eRuby blocks.
|
1127
1790
|
|
1128
|
-
|
1129
|
-
|
1791
|
+
-c, --compile:
|
1792
|
+
|
1793
|
+
Print underlying Ruby program compiled
|
1794
|
+
from the input eRuby template and exit.
|
1795
|
+
|
1796
|
+
-h, --help:
|
1797
|
+
|
1798
|
+
Print this message and exit.
|
1130
1799
|
|
1131
|
-
|
1800
|
+
-v, --version:
|
1132
1801
|
|
1133
|
-
|
1134
|
-
</pre></ins></p>
|
1802
|
+
Print version number and exit.
|
1135
1803
|
|
1136
|
-
|
1804
|
+
See the user manual for more information:
|
1137
1805
|
|
1138
|
-
|
1139
|
-
</pre></ins></p>
|
1806
|
+
/home/sun/src/ember/doc/index.html
|
1140
1807
|
|
1141
|
-
|
1808
|
+
http://snk.tuxfamily.org/lib/ember/
|
1809
|
+
|
1810
|
+
</pre>
|
1811
|
+
</div>
|
1812
|
+
</div>
|
1813
|
+
</div>
|
1142
1814
|
</div>
|
1143
|
-
<p></p>
|
1144
1815
|
|
1816
|
+
<div class="section" id="Ruby-library">
|
1817
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Ruby-library"/><div class="nav"><a title="Here" href="#Ruby-library"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#ember-help"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#An-empty-template"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Ruby-library"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1818
|
+
<h1 class="title">
|
1819
|
+
<span class="section_number">4.2 </span>Ruby library
|
1820
|
+
</h1>
|
1821
|
+
<div class="content"><p>Begin by loading Ember into Ruby:</p>
|
1145
1822
|
|
1146
|
-
<
|
1147
|
-
|
1148
|
-
|
1149
|
-
3.3 eRuby template directives
|
1150
|
-
</h2>
|
1151
|
-
<div class="content"><p>eRuby templates are plain-text documents that contain special processing instructions known as <strong>directives</strong>. Directives may be expressed using either <strong>standard</strong> or <strong>shorthand</strong> notation:</p>
|
1152
|
-
<table border="1"><thead><tr><th>Notation</th><th>Directive</th><th>Head</th><th>Operation</th><th>Body</th><th>Tail</th></tr></thead><tbody><tr><td style='text-align: left;'>Standard</td><td style='text-align: left;'><%XY%></td><td style='text-align: left;'><%</td><td style='text-align: left;'>X</td><td style='text-align: left;'>Y</td><td style='text-align: left;'>%></td>
|
1153
|
-
</tr><tr><td style='text-align: left;'>Shorthand</td><td style='text-align: left;'>%XY</td><td style='text-align: left;'>%</td><td style='text-align: left;'>X</td><td style='text-align: left;'>Y</td><td style='text-align: left;' />
|
1154
|
-
</tr></tbody></table>
|
1155
|
-
<p>In standard notation, the directive is composed of a head, <a class="xref" href="#Operations" title="Section 3.3.1. "Operations"">an operation</a>, a body, and a tail. Furthermore, the directive may appear anywhere in the text.</p>
|
1823
|
+
<ins><pre lang="ruby" class="para">require <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">rubygems</span><span style="color:#710">'</span></span> <span style="color:#888"># only necessary if you are using Ruby 1.8</span>
|
1824
|
+
require <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">ember</span><span style="color:#710">'</span></span>
|
1825
|
+
</pre></ins><p> Instantiate an Ember template processor:</p>
|
1156
1826
|
|
1157
|
-
<
|
1827
|
+
<ins><pre lang="ruby" class="para">source = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">your eRuby template here</span><span style="color:#710">"</span></span>
|
1828
|
+
options = { <span style="color:#A60">:unindent</span> => <span style="color:#038;font-weight:bold">true</span>, <span style="color:#A60">:shorthand</span> => <span style="color:#038;font-weight:bold">true</span> }
|
1829
|
+
template = <span style="color:#036;font-weight:bold">Ember</span>::<span style="color:#036;font-weight:bold">Template</span>.new(source, options)
|
1830
|
+
</pre></ins><p> Inspect the Ruby program that was compiled (and is used) by the Ember template processor to evaluate the eRuby template given as input:</p>
|
1158
1831
|
|
1159
|
-
<
|
1832
|
+
<ins><pre lang="ruby" class="para">puts template.program
|
1833
|
+
</pre></ins><p> View the result of evaluating the eRuby template:</p>
|
1160
1834
|
|
1161
|
-
<
|
1162
|
-
<
|
1163
|
-
<a name="Operations"/><div class="nav"><a title="Focus this segment" href="#Operations"><img alt="Focus this segment" src="data:image/png;base64,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" class="icon"/></a> <a title="Focus previous segment" href="#Directives"><img alt="Focus previous segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAS1SURBVFiF7ZddbBRVFMf/596Z3W3rtiwtUFsJFQhWMQSIWi0UKJHPlISvCGpiogkxig8SlBSj0Rij6YMPJhB9IyZqTFRC4pNKAgElplSIsRURRL6xtLRLu53dmbn3Hh9mFrZ1Kcs2pi9McnJndu8953c+7rkzxMwYz0uMq/W7AACssSpofo2qlJQfW6X66QNvs7rT9WOKQNP22Kz4xNqOadX1y1CkM0UDLH7dXlo3ddahV9a9O62m6n6/WD1FUS9qtbbMe6i5bUXDxkR/5h+AijVfBEBTa+TD1Q3PbJlX3xQ/39eFeKyyeOt3AvDIi2THJsivn1u5fUXt5LroxeRJMBjA2BoZFdIJm7fRBHFP+f4tLTvnRksism/oCjQrKOOjIlaFgWTSOX3pj0FmRiAGBszMBgyG1gqdZ38+cvh9tWGk7ttG4IltJXWTJtbsf37NjulplaSeVDeYDTRrGKMw6PahrKK89OH43FJjVAimYFhBax/aKFRXTEfn3+2T8+kfFaDpjUhD3X0z9m5e9lJNz9A5eCoDRughGxhoeF4ag+41aKOgtA9tfCgzfCwvmXRLG7cEWNRqbZ5d9+iulY2bKi8ku6CMAhGBmQFigAIAIzTYaLBQYFYwRsGwzhGD0eokL0DTzug7jXNWvjq/fkHFqd6jAANEwV4jQQEAgvwaykIoMGmwMGCjoTkACUZTOMDCndaelsZnn5oyubr0VE87iAQIBCKCEHRjyxOFBcY+UqofQ24SaX8IMACMALGEhRKAGYZ14QAEOL3XL2urzCDpdKMsloCAgLAEBBG0ceF4STg6ibRKwtVDYV0w2ABGM4xmaMUwiiE4ghnevFB1AQCHP1BbF7dG/pw+MPutWTNnVnZc/A5CANFoDBAaWmQgJUFIAkmCsAPdzATWDKIcUwwo30VGOQCDiEgyDw9H3rPgUJu/u/PEby8cO97R3TB1DWw7AtcMQlEGQhKERRA2QVqhhPfCDv4bBigDGmYIABEikqMCEJEAYHXs0ge62i+tPXjk+/Pz713FidIpECJQPsywLSAtcQNCWrnGEdTNzeBbACyim7/k2wUiFHlir//X4LneFtfd9+Xy5pYHrnKX7PXOQsjQS4tQYpcjEa0J8m+CvGvF0L4JR0ZpJA4wKEc3Idybt+uEdPEX9F0/l1rvet988uSS1Y+XJxKxC86vAYQlUFlWC75alT5/+kImaMPgoMOb4KQwxNdwlJlNb14DI8+CMEeRUOyc0X5sq/3mwgWN62vrE/HTqUOQNqEmXo8zR5z+z3Yc35BJwgGgAPiheCPus88uh4b/UwNhlepQ0TBp3+2/d/CHn9p+bz/TP2fialgyEuRYgEnCAZAB4OYYG6lDA/A4x+tbpWDkG07Q+gB9bI/63OvvOjXgDHy0fMWq6hRdBsNhIZEOAfI5kI1Chnl4W8wLEBJ6RGSyhsO5EoDs3Kd/TCUvrXOcb7/YuHZTHXE3ywgcAOlwfnbNDa9Hen67CGRBFAAV1oWdBQAgzh70T7rXe5pd79OvonbJg5E4hsII5AJ4AHQ+wwUB5IBkw4pwDwsAdOU4UiQGl8xc6r3cK3AtnMPBksK++Qp6I/o/r3H/MroL8C8JiYMXQa6AIwAAAABJRU5ErkJggg==" class="icon"/></a> <a title="Focus next segment" href="#An-empty-template"><img alt="Focus next segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASrSURBVFiF7ZdtaFZlGMd/133O2dgcmunUZDgzzIYvJIH2wU2UtDKKXkCCLIqiDyIWZfhCEYIRCUIgUvYhApMKKoUMDd9ymagzNHTGZNlSp5tz0z17e55zzn1ffXjOo8/WZuqH+SEfuLgOPPc5/9/1v677PhxRVW7nz9xW9TsAtwowZ7X4Ve/4i24bAFcoKb173MZH3h2yY8FSKRx8AGDqhBnpt57/eJ43aszhqqVSOugATh1i1Cx+ZvW0svEVNbNWFE4eVABVR1d4mfOpehY9+kb5tAkz9lSu8J8cNACnjshGpOMOTrcdY/7Dz42a/eBTmyqXFy6/medIfydh1Ur/64pxM+cGnq8igogICCJylXtieUXJsGF3FbV2NeLUouoYM3QCF1uaurfu//zb6oLoFX1f3S0BVK4q2PPmwg/mXOo6h4jBE58siMHINdNS6VbSUReKw6nDOcvw4tH4tij6ZvdnB21rasHeDdp5PQB/oD+6wxSN7acScYMRL8kCJE4IqCqqDtUsRHNHA8XB0OCFx5bM2rL3iyOz35Z5+9bp2YF0BpwBq5bYhkQuQ+ySbDPZTAYrIY4MTrLXlpBYM8Q25HJPMw1Xjsqzc1+aVFY26UDlqoKZNw3gXEzswiyEzYrHZHAS4gixksFKhJMIJyFWQjKuk/boIq1djbR0nuXYhd3Mnvl42eTxD22rXO6/2J/OgC2wGhO5ECMeBoPxPXwEMMk8CKHtpjPTRmfUTjrsxFqLs4qLFRtnZ6vxSh3Tx88fOaxk2PqqlYUV1R9mVt0QQCbupivTjmd8giDAOEirRV1M5Hrose3EGmYXK4gPngi5jaKAi5XQprmQqqe0ZGKh58mUG3NAkY50G80dfyEGvMDg+YLnC8YXjCcYD7zcjlAQp7icuCbhlIpRs4hSfuqnmu+/PLDWLmFNb6l/zYCIeFwdczBGMIasaALh+YIXGPxA8APBC6Q3oC/4vseM8idoOdfe9uuhXe8dWGuXAd51HcgeOHiqWQAREC9X8bXwEhfEZDnVKbndqQoFUszU0fM4WHOo6dSxhsW/b3bViZaKiNW8w6dvCwzgoUhRUELZ8PsxgcH3kyoDk3UhAUnFTaRtJ+queVbij2BicZXu3PPT37W7Wl9u+MXWX30u2CTHAwEkPXSttX8cvySmGBHIgKiIGAMogiDjxo8tHDHSL2rqqcM5AXWMKCyn1E2Jf9ixpfbIVx2vtZ+mLUHLtVT6avU6ikXEAAVAkOT86yA/Xv10+rb7ZhWPaOqpw8WOewqn4pqH9+zYuX1/zcbMsrCLHiACwj45rXrtHdHLAVV1ImITy2xiVX4FCjjAiqDGCL5vuHdIJQ3H21LVP/+4ueaTaH1yX5REnIQFonzxflugqlEyjPmiOeE4uccgqMHngSHzObzvRMtv1bVrjm6KtueJ5SByOa2qcV+9AWZAQxFxuWqT8MkOkAGMgI71prN123fnTlY3vn5yqz3RZ30OIgYyqmr70+r3ddxrQfZcCK5WnsTTH5X9GUXp83W7Ly2s30tznks5iIh+LL8hB/q4YQGb1xYDyKXLFzec2R+uO7Ofnj7i+l+ivQq88234vwf4B6YlTDQudkyaAAAAAElFTkSuQmCC" class="icon"/></a> <a title="Return to listing" href="#a__toc__Operations"><img alt="Return to listing" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABSlJREFUWIXdl1lsVUUYx/8zc7a7daUroXQhlkpoQ4sVA8b6gilbIEIDggEiEiSRFwzEJ/pCXXjgQR8sAW0I0QQSicZIiC9IsClFFqlC6HorXW/Xe+/p7b3nnpnxobbpJW1pS+uD3+N3vpn/b2b+c853gP9rrNp1WZtNHVlo4ZLDl/YzkC+lhAMUZ+9Uv3MCIHK6eraQ4sXvX9ri0tVvD2wtMt4oyaZPvP1rE1bf93ff/f72dGMWbAcKj1xMNYTSeGh7cbxUFNhcQpE2Lvxwz1Sj4czfvn4vONU4ulAAGicni/LTjYR4Jxo7g2jzjSAzJQ5Ll3iUCDUqphu3IACF7150MUqPvr4mS2/sCkICEEKic3AUhfkZBlXJjkUF0HW6JTXJTVwOHYOmNZHv80eQlRYHSFLyQgCrdlXOeKUkIRtezklVff5ITH7U4vC4dAjO00sOVzvnASDJ8vJPz5ghPZSz+ZNg9uaq/VNOQkmypjMaifKYvC0kKBn3eaI6Z4DsTZ9/mBTvOHZ0TxnbVV7q1hXlfO6mqi3P1nEhvIFg2NbU2Ol0hcIM2yAgPHcI5pwA8rd95iFEnN5UVqS19piQTMHO8lJFEHIpb+OZ1Mm1DLjT1jVsexyxizQ0hkF/CJSSlitXKmK353kAYc4rUpPilbQlcXjQ5MOv9zvgdjuwesVSw1b4yRgAxut7B4KGxgjIpDdLSpyOx20+Swh5dTqdaQEo2I6VKzKNJ0+HwIWEkBJ1j7rx6ppcnVIcTdt4xjVeawmHyYVE1BYTZ+5xqFCpxMOmHoVSXJgzAICSrPREtHX7JxKdfSaYoiIj2UMczJ7kBVuldExY/Gu83FQXrtc2WlLImtvVe5vmBJC5tdIppUh3OjUEQ1bMM29PAMsyl6gScgMAFB+6WECkuOlxaLBsCQkgM8lAR++wbO0cClpW9PgMi5wawBg1VACghMJ65mqFLRuMMUooSwYAytgxl6EWFOSlcv9oFJpCkehScb22kQsujzyoOTg8Z4DWxFxTEvDASBhOI9bZDk1BYCRsQwovADCCbbvfKsS6wizW548gJU5HQ4tPhsJRJcevTWu+GQFwpYJT0BbfoIl4V+xL0O3Q0NfvtyXFnZLD1SrnMlNRGf78O4BwlCMlXofKxhcisucHAEAKcbW1vdfKSHZP5AgBDI2if9g0OHi9orscACAkgS3Geo5AKIqoJSVltPbuud0t8wagjF3wdvUpTo0izjm2C4yOeYJzAS2smLe/2BdglA72Do0gwaki2aMhErFQ+9ArbFvMaL7nArT+dKKJc1FT/0eztTI7GZQQcCEmrpniUFQAICBnb/7eEtaZBOwofrzxyLI5P3Xv/L662QDM2BFlb69MQFRvXlf8UlIUKmnvCWBtfhpu1TXADEUeS0LfznmltCnU3V0jBN9DKIsQKU7Xn9tbNVMfOGsAAMgpr9qpG9p3b64vUhraBpCe5IQ5PMzbO3xsNBL9yvvzxx8AQNmBb4wbNQfDsxGdHM/tB9rcK66GI1Glpb1HZiS70DUwgrycpWx9aQEIJdvG6+YjPiuAZaY3GwA0hSHBrcOKcjxo9kGAQgqZWVJSPeV3fsEAnl470UIJqbVsLobNsY4nagtwPnbE/tRux6ICAIAQ5Hirt0sKbiPJY8Dj1DDoN0FABpuvVQYWHcB77WQdF/JUw1/Nlko44gyK5raOMICzLyIOzOHPaLjpl1vuvFuir3/otW7fAOO2vLw8FP7I670hXhRizpFdVmn856KLFf8AcP0p5DnhnVEAAAAASUVORK5CYII=" class="icon"/></a></div>
|
1164
|
-
<h3 class="title">
|
1165
|
-
3.3.1 Operations
|
1166
|
-
</h3>
|
1167
|
-
<div class="content"><p>The first character that follows the head of a directive is known as an <strong>operation</strong>. Operations specify how the directive should be processed:</p>
|
1168
|
-
<table border="1"><thead><tr><th>Operation</th><th>Effect</th><th>Example</th></tr></thead><tbody><tr><td style='text-align: left;'>#</td><td style='text-align: left;'>The entire directive is omitted from the output.</td><td style='text-align: left;'><a class="xref" href="#Comment-directives" title="Example 2">Comment directives</a></td>
|
1169
|
-
</tr><tr><td style='text-align: left;'>=</td><td style='text-align: left;'>The body of the directive is evaluated as Ruby code, and the result of this evaluation is inserted into the output.</td><td style='text-align: left;'><a class="xref" href="#Vocal-directives" title="Example 4">Vocal directives</a></td>
|
1170
|
-
</tr><tr><td style='text-align: left;'>~</td><td style='text-align: left;'>The body of the directive is evaluated as an eRuby template, and the result of this evaluation is inserted into the output.</td><td style='text-align: left;'><a class="xref" href="#Dynamic-template-evaluation" title="Example 10">Dynamic template evaluation</a></td>
|
1171
|
-
</tr><tr><td style='text-align: left;'>+</td><td style='text-align: left;'>The body of the directive is evaluated as Ruby code, and the result of this evaluation is assumed to be a string that specifies the path (either absolute or relative to the eRuby template file in which this directive is found) to a file containing an eRuby template. This file is read and its contents are evaluated as an eRuby template, and the result of this evaluation is inserted into the output.</td><td style='text-align: left;'><a class="xref" href="#Template-file-inclusion" title="Example 9">Template file inclusion</a></td>
|
1172
|
-
</tr><tr><td style='text-align: left;'><</td><td style='text-align: left;'>The body of the directive is evaluated as Ruby code, and the result of this evaluation is assumed to be a string that specifies the path (either absolute or relative to the eRuby template file in which this directive is found) to a file. This file is read and its contents are inserted into the output.</td><td style='text-align: left;'><a class="xref" href="#Raw-file-inclusion" title="Example 8">Raw file inclusion</a></td>
|
1173
|
-
</tr><tr><td style='text-align: left;'>|</td><td style='text-align: left;'>The body of the directive is treated as the beginning of a Ruby block. The <code class="line"><span style="color:#080;font-weight:bold">do</span></code> keyword is automatically appended to the body of the directive if missing.</td><td style='text-align: left;'><a class="xref" href="#Block-directives" title="Example 6">Block directives</a></td>
|
1174
|
-
</tr><tr><td style='text-align: left;'>%</td><td style='text-align: left;'>One ”%” character is omitted from the head of the directive and the entire directive is inserted into the output.</td><td style='text-align: left;'><a class="xref" href="#Escaped-directives" title="Example 3">Escaped directives</a></td>
|
1175
|
-
</tr><tr><td style='text-align: left;'>(none of the above)</td><td style='text-align: left;'>The body of the directive is evaluated as Ruby code, but the result of this evaluation <em>is not</em> inserted into the output.</td><td style='text-align: left;'><a class="xref" href="#Silent-directives" title="Example 5">Silent directives</a></td>
|
1176
|
-
</tr></tbody></table>
|
1177
|
-
|
1178
|
-
<div class="example" id="An-empty-template">
|
1179
|
-
<a name="An-empty-template"/><div class="nav"><a title="Focus this segment" href="#An-empty-template"><img alt="Focus this segment" src="data:image/png;base64,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" class="icon"/></a> <a title="Focus previous segment" href="#Operations"><img alt="Focus previous segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAS1SURBVFiF7ZddbBRVFMf/596Z3W3rtiwtUFsJFQhWMQSIWi0UKJHPlISvCGpiogkxig8SlBSj0Rij6YMPJhB9IyZqTFRC4pNKAgElplSIsRURRL6xtLRLu53dmbn3Hh9mFrZ1Kcs2pi9McnJndu8953c+7rkzxMwYz0uMq/W7AACssSpofo2qlJQfW6X66QNvs7rT9WOKQNP22Kz4xNqOadX1y1CkM0UDLH7dXlo3ddahV9a9O62m6n6/WD1FUS9qtbbMe6i5bUXDxkR/5h+AijVfBEBTa+TD1Q3PbJlX3xQ/39eFeKyyeOt3AvDIi2THJsivn1u5fUXt5LroxeRJMBjA2BoZFdIJm7fRBHFP+f4tLTvnRksism/oCjQrKOOjIlaFgWTSOX3pj0FmRiAGBszMBgyG1gqdZ38+cvh9tWGk7ttG4IltJXWTJtbsf37NjulplaSeVDeYDTRrGKMw6PahrKK89OH43FJjVAimYFhBax/aKFRXTEfn3+2T8+kfFaDpjUhD3X0z9m5e9lJNz9A5eCoDRughGxhoeF4ag+41aKOgtA9tfCgzfCwvmXRLG7cEWNRqbZ5d9+iulY2bKi8ku6CMAhGBmQFigAIAIzTYaLBQYFYwRsGwzhGD0eokL0DTzug7jXNWvjq/fkHFqd6jAANEwV4jQQEAgvwaykIoMGmwMGCjoTkACUZTOMDCndaelsZnn5oyubr0VE87iAQIBCKCEHRjyxOFBcY+UqofQ24SaX8IMACMALGEhRKAGYZ14QAEOL3XL2urzCDpdKMsloCAgLAEBBG0ceF4STg6ibRKwtVDYV0w2ABGM4xmaMUwiiE4ghnevFB1AQCHP1BbF7dG/pw+MPutWTNnVnZc/A5CANFoDBAaWmQgJUFIAkmCsAPdzATWDKIcUwwo30VGOQCDiEgyDw9H3rPgUJu/u/PEby8cO97R3TB1DWw7AtcMQlEGQhKERRA2QVqhhPfCDv4bBigDGmYIABEikqMCEJEAYHXs0ge62i+tPXjk+/Pz713FidIpECJQPsywLSAtcQNCWrnGEdTNzeBbACyim7/k2wUiFHlir//X4LneFtfd9+Xy5pYHrnKX7PXOQsjQS4tQYpcjEa0J8m+CvGvF0L4JR0ZpJA4wKEc3Idybt+uEdPEX9F0/l1rvet988uSS1Y+XJxKxC86vAYQlUFlWC75alT5/+kImaMPgoMOb4KQwxNdwlJlNb14DI8+CMEeRUOyc0X5sq/3mwgWN62vrE/HTqUOQNqEmXo8zR5z+z3Yc35BJwgGgAPiheCPus88uh4b/UwNhlepQ0TBp3+2/d/CHn9p+bz/TP2fialgyEuRYgEnCAZAB4OYYG6lDA/A4x+tbpWDkG07Q+gB9bI/63OvvOjXgDHy0fMWq6hRdBsNhIZEOAfI5kI1Chnl4W8wLEBJ6RGSyhsO5EoDs3Kd/TCUvrXOcb7/YuHZTHXE3ywgcAOlwfnbNDa9Hen67CGRBFAAV1oWdBQAgzh70T7rXe5pd79OvonbJg5E4hsII5AJ4AHQ+wwUB5IBkw4pwDwsAdOU4UiQGl8xc6r3cK3AtnMPBksK++Qp6I/o/r3H/MroL8C8JiYMXQa6AIwAAAABJRU5ErkJggg==" class="icon"/></a> <a title="Focus next segment" href="#Comment-directives"><img alt="Focus next segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASrSURBVFiF7ZdtaFZlGMd/133O2dgcmunUZDgzzIYvJIH2wU2UtDKKXkCCLIqiDyIWZfhCEYIRCUIgUvYhApMKKoUMDd9ymagzNHTGZNlSp5tz0z17e55zzn1ffXjOo8/WZuqH+SEfuLgOPPc5/9/1v677PhxRVW7nz9xW9TsAtwowZ7X4Ve/4i24bAFcoKb173MZH3h2yY8FSKRx8AGDqhBnpt57/eJ43aszhqqVSOugATh1i1Cx+ZvW0svEVNbNWFE4eVABVR1d4mfOpehY9+kb5tAkz9lSu8J8cNACnjshGpOMOTrcdY/7Dz42a/eBTmyqXFy6/medIfydh1Ur/64pxM+cGnq8igogICCJylXtieUXJsGF3FbV2NeLUouoYM3QCF1uaurfu//zb6oLoFX1f3S0BVK4q2PPmwg/mXOo6h4jBE58siMHINdNS6VbSUReKw6nDOcvw4tH4tij6ZvdnB21rasHeDdp5PQB/oD+6wxSN7acScYMRL8kCJE4IqCqqDtUsRHNHA8XB0OCFx5bM2rL3iyOz35Z5+9bp2YF0BpwBq5bYhkQuQ+ySbDPZTAYrIY4MTrLXlpBYM8Q25HJPMw1Xjsqzc1+aVFY26UDlqoKZNw3gXEzswiyEzYrHZHAS4gixksFKhJMIJyFWQjKuk/boIq1djbR0nuXYhd3Mnvl42eTxD22rXO6/2J/OgC2wGhO5ECMeBoPxPXwEMMk8CKHtpjPTRmfUTjrsxFqLs4qLFRtnZ6vxSh3Tx88fOaxk2PqqlYUV1R9mVt0QQCbupivTjmd8giDAOEirRV1M5Hrose3EGmYXK4gPngi5jaKAi5XQprmQqqe0ZGKh58mUG3NAkY50G80dfyEGvMDg+YLnC8YXjCcYD7zcjlAQp7icuCbhlIpRs4hSfuqnmu+/PLDWLmFNb6l/zYCIeFwdczBGMIasaALh+YIXGPxA8APBC6Q3oC/4vseM8idoOdfe9uuhXe8dWGuXAd51HcgeOHiqWQAREC9X8bXwEhfEZDnVKbndqQoFUszU0fM4WHOo6dSxhsW/b3bViZaKiNW8w6dvCwzgoUhRUELZ8PsxgcH3kyoDk3UhAUnFTaRtJ+queVbij2BicZXu3PPT37W7Wl9u+MXWX30u2CTHAwEkPXSttX8cvySmGBHIgKiIGAMogiDjxo8tHDHSL2rqqcM5AXWMKCyn1E2Jf9ixpfbIVx2vtZ+mLUHLtVT6avU6ikXEAAVAkOT86yA/Xv10+rb7ZhWPaOqpw8WOewqn4pqH9+zYuX1/zcbMsrCLHiACwj45rXrtHdHLAVV1ImITy2xiVX4FCjjAiqDGCL5vuHdIJQ3H21LVP/+4ueaTaH1yX5REnIQFonzxflugqlEyjPmiOeE4uccgqMHngSHzObzvRMtv1bVrjm6KtueJ5SByOa2qcV+9AWZAQxFxuWqT8MkOkAGMgI71prN123fnTlY3vn5yqz3RZ30OIgYyqmr70+r3ddxrQfZcCK5WnsTTH5X9GUXp83W7Ly2s30tznks5iIh+LL8hB/q4YQGb1xYDyKXLFzec2R+uO7Ofnj7i+l+ivQq88234vwf4B6YlTDQudkyaAAAAAElFTkSuQmCC" class="icon"/></a> <a title="Return to listing" href="#a__toc__An-empty-template"><img alt="Return to listing" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABSlJREFUWIXdl1lsVUUYx/8zc7a7daUroXQhlkpoQ4sVA8b6gilbIEIDggEiEiSRFwzEJ/pCXXjgQR8sAW0I0QQSicZIiC9IsClFFqlC6HorXW/Xe+/p7b3nnpnxobbpJW1pS+uD3+N3vpn/b2b+c853gP9rrNp1WZtNHVlo4ZLDl/YzkC+lhAMUZ+9Uv3MCIHK6eraQ4sXvX9ri0tVvD2wtMt4oyaZPvP1rE1bf93ff/f72dGMWbAcKj1xMNYTSeGh7cbxUFNhcQpE2Lvxwz1Sj4czfvn4vONU4ulAAGicni/LTjYR4Jxo7g2jzjSAzJQ5Ll3iUCDUqphu3IACF7150MUqPvr4mS2/sCkICEEKic3AUhfkZBlXJjkUF0HW6JTXJTVwOHYOmNZHv80eQlRYHSFLyQgCrdlXOeKUkIRtezklVff5ITH7U4vC4dAjO00sOVzvnASDJ8vJPz5ghPZSz+ZNg9uaq/VNOQkmypjMaifKYvC0kKBn3eaI6Z4DsTZ9/mBTvOHZ0TxnbVV7q1hXlfO6mqi3P1nEhvIFg2NbU2Ol0hcIM2yAgPHcI5pwA8rd95iFEnN5UVqS19piQTMHO8lJFEHIpb+OZ1Mm1DLjT1jVsexyxizQ0hkF/CJSSlitXKmK353kAYc4rUpPilbQlcXjQ5MOv9zvgdjuwesVSw1b4yRgAxut7B4KGxgjIpDdLSpyOx20+Swh5dTqdaQEo2I6VKzKNJ0+HwIWEkBJ1j7rx6ppcnVIcTdt4xjVeawmHyYVE1BYTZ+5xqFCpxMOmHoVSXJgzAICSrPREtHX7JxKdfSaYoiIj2UMczJ7kBVuldExY/Gu83FQXrtc2WlLImtvVe5vmBJC5tdIppUh3OjUEQ1bMM29PAMsyl6gScgMAFB+6WECkuOlxaLBsCQkgM8lAR++wbO0cClpW9PgMi5wawBg1VACghMJ65mqFLRuMMUooSwYAytgxl6EWFOSlcv9oFJpCkehScb22kQsujzyoOTg8Z4DWxFxTEvDASBhOI9bZDk1BYCRsQwovADCCbbvfKsS6wizW548gJU5HQ4tPhsJRJcevTWu+GQFwpYJT0BbfoIl4V+xL0O3Q0NfvtyXFnZLD1SrnMlNRGf78O4BwlCMlXofKxhcisucHAEAKcbW1vdfKSHZP5AgBDI2if9g0OHi9orscACAkgS3Geo5AKIqoJSVltPbuud0t8wagjF3wdvUpTo0izjm2C4yOeYJzAS2smLe/2BdglA72Do0gwaki2aMhErFQ+9ArbFvMaL7nArT+dKKJc1FT/0eztTI7GZQQcCEmrpniUFQAICBnb/7eEtaZBOwofrzxyLI5P3Xv/L662QDM2BFlb69MQFRvXlf8UlIUKmnvCWBtfhpu1TXADEUeS0LfznmltCnU3V0jBN9DKIsQKU7Xn9tbNVMfOGsAAMgpr9qpG9p3b64vUhraBpCe5IQ5PMzbO3xsNBL9yvvzxx8AQNmBb4wbNQfDsxGdHM/tB9rcK66GI1Glpb1HZiS70DUwgrycpWx9aQEIJdvG6+YjPiuAZaY3GwA0hSHBrcOKcjxo9kGAQgqZWVJSPeV3fsEAnl470UIJqbVsLobNsY4nagtwPnbE/tRux6ICAIAQ5Hirt0sKbiPJY8Dj1DDoN0FABpuvVQYWHcB77WQdF/JUw1/Nlko44gyK5raOMICzLyIOzOHPaLjpl1vuvFuir3/otW7fAOO2vLw8FP7I670hXhRizpFdVmn856KLFf8AcP0p5DnhnVEAAAAASUVORK5CYII=" class="icon"/></a></div>
|
1180
|
-
<p class="title">Example 1. An empty template</p>
|
1181
|
-
<div class="content"><p>Begin with an empty template:</p>
|
1835
|
+
<ins><pre lang="ruby" class="para">puts template.render
|
1836
|
+
</pre></ins><p> See the <a href='api/index.html'>API documentation</a> for more information.</p>
|
1182
1837
|
|
1183
|
-
<pre></pre><p></p>
|
1184
1838
|
|
1185
|
-
<
|
1839
|
+
<div class="_float ui-tabs ui-widget ui-widget-content ui-corner-all example" id="An-empty-template">
|
1840
|
+
<div style="display: none"><br/><hr/><br/></div><a name="An-empty-template"/><div class="nav"><a title="Here" href="#An-empty-template"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Ruby-library"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Comment-directives"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-An-empty-template"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1841
|
+
<p class="title ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"><span class="section_number">Example 1. </span>An empty template</p>
|
1842
|
+
<div class="content"><p>Begin with an empty template:</p>
|
1186
1843
|
|
1187
|
-
<p
|
1188
|
-
; _erbout.join)</pre></ins></p>
|
1844
|
+
<pre></pre><p> The above template compiles into:</p>
|
1189
1845
|
|
1190
|
-
<
|
1846
|
+
<ins><pre lang="ruby" class="para">(_erbout = []; _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1847
|
+
; _erbout.join)</pre></ins><p> And renders as:</p>
|
1191
1848
|
|
1192
|
-
<pre></pre
|
1849
|
+
<pre></pre></div>
|
1193
1850
|
</div>
|
1194
|
-
<p></p>
|
1195
1851
|
|
1196
1852
|
|
1197
|
-
|
1198
|
-
|
1199
|
-
<
|
1853
|
+
|
1854
|
+
<div class="_float ui-tabs ui-widget ui-widget-content ui-corner-all example" id="Comment-directives">
|
1855
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Comment-directives"/><div class="nav"><a title="Here" href="#Comment-directives"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#An-empty-template"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Escaped-directives"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Comment-directives"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1856
|
+
<p class="title ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"><span class="section_number">Example 2. </span>Comment directives</p>
|
1200
1857
|
<div class="content"><p>Add comment directives:</p>
|
1201
1858
|
|
1202
1859
|
<pre><%# this is a comment %>
|
1203
1860
|
%# this is also a comment
|
1204
1861
|
|
1205
|
-
<%# this
|
1206
|
-
|
1207
|
-
|
1208
|
-
|
1209
|
-
<p>With <code class="line">{<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>}</code>, this template compiles into:</p>
|
1862
|
+
<%# this
|
1863
|
+
is
|
1864
|
+
a
|
1865
|
+
multi-line comment %></pre><p> With <code class="line">{<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>}</code> options, the above template compiles into:</p>
|
1210
1866
|
|
1211
|
-
<
|
1212
|
-
|
1867
|
+
<ins><pre lang="ruby" class="para">(_erbout = []; _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1213
1868
|
_erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1214
|
-
|
1215
|
-
|
1216
|
-
|
1217
|
-
|
1218
|
-
|
1219
|
-
|
1869
|
+
_erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1870
|
+
|
1871
|
+
|
1872
|
+
|
1873
|
+
|
1874
|
+
; _erbout.join)</pre></ins><p> And renders as:</p>
|
1220
1875
|
|
1221
|
-
<pre
|
1876
|
+
<pre>
|
1877
|
+
</pre></div>
|
1222
1878
|
</div>
|
1223
|
-
<p></p>
|
1224
1879
|
|
1225
1880
|
|
1226
|
-
|
1227
|
-
|
1228
|
-
<
|
1881
|
+
|
1882
|
+
<div class="_float ui-tabs ui-widget ui-widget-content ui-corner-all example" id="Escaped-directives">
|
1883
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Escaped-directives"/><div class="nav"><a title="Here" href="#Escaped-directives"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Comment-directives"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Vocal-directives"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Escaped-directives"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1884
|
+
<p class="title ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"><span class="section_number">Example 3. </span>Escaped directives</p>
|
1229
1885
|
<div class="content"><p>Add escaped directives:</p>
|
1230
1886
|
|
1231
1887
|
<pre><%% this is an escaped directive %>
|
1232
|
-
%% this is an escaped directive</pre><p
|
1888
|
+
%% this is an escaped directive</pre><p> With <code class="line">{<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>}</code> options, the above template compiles into:</p>
|
1233
1889
|
|
1234
|
-
<
|
1235
|
-
|
1236
|
-
<p><ins><pre class="para">(_erbout = []; _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style=""><% this is an escaped directive %></span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1890
|
+
<ins><pre lang="ruby" class="para">(_erbout = []; _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style=""><% this is an escaped directive %></span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1237
1891
|
_erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">% this is an escaped directive</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1238
|
-
; _erbout.join)</pre></ins
|
1239
|
-
|
1240
|
-
<p>And renders as:</p>
|
1892
|
+
; _erbout.join)</pre></ins><p> And renders as:</p>
|
1241
1893
|
|
1242
1894
|
<pre><% this is an escaped directive %>
|
1243
|
-
% this is an escaped directive</pre
|
1895
|
+
% this is an escaped directive</pre></div>
|
1244
1896
|
</div>
|
1245
|
-
<p></p>
|
1246
1897
|
|
1247
1898
|
|
1248
|
-
|
1249
|
-
|
1250
|
-
<
|
1899
|
+
|
1900
|
+
<div class="_float ui-tabs ui-widget ui-widget-content ui-corner-all example" id="Vocal-directives">
|
1901
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Vocal-directives"/><div class="nav"><a title="Here" href="#Vocal-directives"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Escaped-directives"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Silent-directives"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Vocal-directives"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1902
|
+
<p class="title ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"><span class="section_number">Example 4. </span>Vocal directives</p>
|
1251
1903
|
<div class="content"><p>Add vocal directives, which produce output:</p>
|
1252
1904
|
|
1253
1905
|
<pre><%= "hello" %>
|
1254
|
-
%= "world"</pre><p
|
1906
|
+
%= "world"</pre><p> With <code class="line">{<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>}</code> options, the above template compiles into:</p>
|
1255
1907
|
|
1256
|
-
<
|
1257
|
-
|
1258
|
-
<p><ins><pre class="para">(_erbout = []; _erbout << ( <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">hello</span><span style="color:#710">"</span></span> ) << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1908
|
+
<ins><pre lang="ruby" class="para">(_erbout = []; _erbout << ( <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">hello</span><span style="color:#710">"</span></span> ) << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1259
1909
|
_erbout << ( <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">world</span><span style="color:#710">"</span></span>) << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1260
|
-
; _erbout.join)</pre></ins
|
1261
|
-
|
1262
|
-
<p>And renders as:</p>
|
1910
|
+
; _erbout.join)</pre></ins><p> And renders as:</p>
|
1263
1911
|
|
1264
1912
|
<pre>hello
|
1265
|
-
world</pre
|
1913
|
+
world</pre></div>
|
1266
1914
|
</div>
|
1267
|
-
<p></p>
|
1268
1915
|
|
1269
1916
|
|
1270
|
-
|
1271
|
-
|
1272
|
-
<
|
1917
|
+
|
1918
|
+
<div class="_float ui-tabs ui-widget ui-widget-content ui-corner-all example" id="Silent-directives">
|
1919
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Silent-directives"/><div class="nav"><a title="Here" href="#Silent-directives"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Vocal-directives"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Block-directives"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Silent-directives"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1920
|
+
<p class="title ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"><span class="section_number">Example 5. </span>Silent directives</p>
|
1273
1921
|
<div class="content"><p>Add silent directives, which do not produce output:</p>
|
1274
1922
|
|
1275
1923
|
<pre><% a = "hello" %>
|
1276
1924
|
% b = "world"
|
1277
1925
|
|
1278
1926
|
<%= a %>
|
1279
|
-
%= b</pre><p
|
1280
|
-
|
1281
|
-
<p>With <code class="line">{<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>}</code>, this template compiles into:</p>
|
1927
|
+
%= b</pre><p> With <code class="line">{<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>}</code> options, the above template compiles into:</p>
|
1282
1928
|
|
1283
|
-
<
|
1929
|
+
<ins><pre lang="ruby" class="para">(_erbout = []; a = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">hello</span><span style="color:#710">"</span></span>
|
1284
1930
|
b = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">world</span><span style="color:#710">"</span></span>
|
1285
1931
|
_erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1286
1932
|
_erbout << ( a ) << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1287
1933
|
_erbout << ( b) << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1288
|
-
; _erbout.join)</pre></ins
|
1289
|
-
|
1290
|
-
<p>And renders as:</p>
|
1934
|
+
; _erbout.join)</pre></ins><p> And renders as:</p>
|
1291
1935
|
|
1292
1936
|
<pre>hello
|
1293
|
-
world</pre
|
1937
|
+
world</pre></div>
|
1294
1938
|
</div>
|
1295
|
-
<p></p>
|
1296
1939
|
|
1297
1940
|
|
1298
|
-
|
1299
|
-
|
1300
|
-
<
|
1941
|
+
|
1942
|
+
<div class="_float ui-tabs ui-widget ui-widget-content ui-corner-all example" id="Block-directives">
|
1943
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Block-directives"/><div class="nav"><a title="Here" href="#Block-directives"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Silent-directives"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Infer-block-endings"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Block-directives"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1944
|
+
<p class="title ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"><span class="section_number">Example 6. </span>Block directives</p>
|
1301
1945
|
<div class="content"><p>Add some Ruby blocks:</p>
|
1302
1946
|
|
1303
1947
|
<pre>% words = %w[hello world]
|
@@ -1312,11 +1956,9 @@ world</pre><p></p></div>
|
|
1312
1956
|
|
1313
1957
|
%|words.each |w|
|
1314
1958
|
%= w
|
1315
|
-
% end</pre><p
|
1316
|
-
|
1317
|
-
<p>With <code class="line">{<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>}</code>, this template compiles into:</p>
|
1959
|
+
% end</pre><p> With <code class="line">{<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>}</code> options, the above template compiles into:</p>
|
1318
1960
|
|
1319
|
-
<
|
1961
|
+
<ins><pre lang="ruby" class="para">(_erbout = []; words = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">%w[</span><span style="">hello world</span><span style="color:#710">]</span></span>
|
1320
1962
|
_erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1321
1963
|
words.each <span style="color:#080;font-weight:bold">do</span> |w|
|
1322
1964
|
_erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style=""> </span><span style="color:#710">"</span></span> << ( w ) << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
@@ -1329,9 +1971,7 @@ _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="
|
|
1329
1971
|
words.each <span style="color:#080;font-weight:bold">do</span> |w|
|
1330
1972
|
_erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style=""> </span><span style="color:#710">"</span></span> << ( w) << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1331
1973
|
<span style="color:#080;font-weight:bold">end</span>
|
1332
|
-
; _erbout.join)</pre></ins
|
1333
|
-
|
1334
|
-
<p>And renders as:</p>
|
1974
|
+
; _erbout.join)</pre></ins><p> And renders as:</p>
|
1335
1975
|
|
1336
1976
|
<pre> hello
|
1337
1977
|
world
|
@@ -1340,14 +1980,14 @@ _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="
|
|
1340
1980
|
world
|
1341
1981
|
|
1342
1982
|
hello
|
1343
|
-
world</pre
|
1983
|
+
world</pre></div>
|
1344
1984
|
</div>
|
1345
|
-
<p></p>
|
1346
1985
|
|
1347
1986
|
|
1348
|
-
|
1349
|
-
|
1350
|
-
<
|
1987
|
+
|
1988
|
+
<div class="_float ui-tabs ui-widget ui-widget-content ui-corner-all example" id="Infer-block-endings">
|
1989
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Infer-block-endings"/><div class="nav"><a title="Here" href="#Infer-block-endings"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Block-directives"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Raw-file-inclusion"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Infer-block-endings"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1990
|
+
<p class="title ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"><span class="section_number">Example 7. </span>Infer block endings</p>
|
1351
1991
|
<div class="content"><p>Omit <tt><% end %></tt> directives from the template:</p>
|
1352
1992
|
|
1353
1993
|
<pre>% words = %w[hello world]
|
@@ -1359,11 +1999,9 @@ _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="
|
|
1359
1999
|
%= w
|
1360
2000
|
|
1361
2001
|
%|words.each |w|
|
1362
|
-
%= w</pre><p
|
1363
|
-
|
1364
|
-
<p>With <code class="line">{<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>, <span style="color:#A60">:infer_end</span>=><span style="color:#038;font-weight:bold">true</span>}</code>, this template compiles into:</p>
|
2002
|
+
%= w</pre><p> With <code class="line">{<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>, <span style="color:#A60">:infer_end</span>=><span style="color:#038;font-weight:bold">true</span>}</code> options, the above template compiles into:</p>
|
1365
2003
|
|
1366
|
-
<
|
2004
|
+
<ins><pre lang="ruby" class="para">(_erbout = []; words = <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">%w[</span><span style="">hello world</span><span style="color:#710">]</span></span>
|
1367
2005
|
_erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1368
2006
|
words.each <span style="color:#080;font-weight:bold">do</span> |w|
|
1369
2007
|
_erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style=""> </span><span style="color:#710">"</span></span> << ( w ) << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
@@ -1373,9 +2011,7 @@ _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="
|
|
1373
2011
|
<span style="color:#080;font-weight:bold">end</span>; _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1374
2012
|
words.each <span style="color:#080;font-weight:bold">do</span> |w|
|
1375
2013
|
_erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style=""> </span><span style="color:#710">"</span></span> << ( w) << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1376
|
-
<span style="color:#080;font-weight:bold">end</span>; _erbout.join)</pre></ins
|
1377
|
-
|
1378
|
-
<p>And renders as:</p>
|
2014
|
+
<span style="color:#080;font-weight:bold">end</span>; _erbout.join)</pre></ins><p> And renders as:</p>
|
1379
2015
|
|
1380
2016
|
<pre> hello
|
1381
2017
|
world
|
@@ -1384,131 +2020,166 @@ _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="
|
|
1384
2020
|
world
|
1385
2021
|
|
1386
2022
|
hello
|
1387
|
-
world</pre
|
2023
|
+
world</pre></div>
|
1388
2024
|
</div>
|
1389
|
-
<p></p>
|
1390
2025
|
|
1391
2026
|
|
1392
|
-
|
1393
|
-
|
1394
|
-
<
|
2027
|
+
|
2028
|
+
<div class="_float ui-tabs ui-widget ui-widget-content ui-corner-all example" id="Raw-file-inclusion">
|
2029
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Raw-file-inclusion"/><div class="nav"><a title="Here" href="#Raw-file-inclusion"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Infer-block-endings"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Template-file-inclusion"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Raw-file-inclusion"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
2030
|
+
<p class="title ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"><span class="section_number">Example 8. </span>Raw file inclusion</p>
|
1395
2031
|
<div class="content"><p>When <tt>doc/example.txt</tt> contains:</p>
|
1396
2032
|
|
1397
2033
|
<pre>This is a plain-text file. Notice that <%=
|
1398
|
-
"eRuby directives" %> have no effect here!</pre><p
|
2034
|
+
"eRuby directives" %> have no effect here!</pre><p> And the eRuby template is:</p>
|
1399
2035
|
|
1400
|
-
<
|
2036
|
+
<pre><%< "doc/example.txt" %>
|
1401
2037
|
|
1402
|
-
|
2038
|
+
%< "doc/example.txt"</pre><p> With <code class="line">{<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>, <span style="color:#A60">:source_file</span>=><span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">./USAGE</span><span style="color:#710">"</span></span>}</code> options, the above template compiles into:</p>
|
1403
2039
|
|
1404
|
-
|
1405
|
-
|
1406
|
-
<p>With <code class="line">{<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>, <span style="color:#A60">:source_file</span>=><span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">doc/usage.erb</span><span style="color:#710">"</span></span>}</code>, this template compiles into:</p>
|
1407
|
-
|
1408
|
-
<p><ins><pre class="para">(_erbout = []; _erbout << (::<span style="color:#036;font-weight:bold">Ember</span>::<span style="color:#036;font-weight:bold">Template</span>.read_file(( <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">example.txt</span><span style="color:#710">"</span></span> ), {<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>, <span style="color:#A60">:source_file</span>=><span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">doc/usage.erb</span><span style="color:#710">"</span></span>})) << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
2040
|
+
<ins><pre lang="ruby" class="para">(_erbout = []; _erbout << (::<span style="color:#036;font-weight:bold">Ember</span>::<span style="color:#036;font-weight:bold">Template</span>.read_file(( <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">doc/example.txt</span><span style="color:#710">"</span></span> ), {<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>, <span style="color:#A60">:source_file</span>=><span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">./USAGE</span><span style="color:#710">"</span></span>})) << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1409
2041
|
_erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1410
|
-
_erbout << (::<span style="color:#036;font-weight:bold">Ember</span>::<span style="color:#036;font-weight:bold">Template</span>.read_file(( <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">example.txt</span><span style="color:#710">"</span></span>), {<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>, <span style="color:#A60">:source_file</span>=><span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style=""
|
1411
|
-
; _erbout.join)</pre></ins
|
1412
|
-
|
1413
|
-
<p>And renders as:</p>
|
2042
|
+
_erbout << (::<span style="color:#036;font-weight:bold">Ember</span>::<span style="color:#036;font-weight:bold">Template</span>.read_file(( <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">doc/example.txt</span><span style="color:#710">"</span></span>), {<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>, <span style="color:#A60">:source_file</span>=><span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">./USAGE</span><span style="color:#710">"</span></span>})) << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
2043
|
+
; _erbout.join)</pre></ins><p> And renders as:</p>
|
1414
2044
|
|
1415
2045
|
<pre>This is a plain-text file. Notice that <%=
|
1416
2046
|
"eRuby directives" %> have no effect here!
|
1417
2047
|
|
1418
2048
|
This is a plain-text file. Notice that <%=
|
1419
|
-
"eRuby directives" %> have no effect here!</pre
|
2049
|
+
"eRuby directives" %> have no effect here!</pre></div>
|
1420
2050
|
</div>
|
1421
|
-
<p></p>
|
1422
2051
|
|
1423
2052
|
|
1424
|
-
<div class="example" id="Template-file-inclusion">
|
1425
|
-
<a name="Template-file-inclusion"/><div class="nav"><a title="Focus this segment" href="#Template-file-inclusion"><img alt="Focus this segment" src="data:image/png;base64,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" class="icon"/></a> <a title="Focus previous segment" href="#Raw-file-inclusion"><img alt="Focus previous segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAS1SURBVFiF7ZddbBRVFMf/596Z3W3rtiwtUFsJFQhWMQSIWi0UKJHPlISvCGpiogkxig8SlBSj0Rij6YMPJhB9IyZqTFRC4pNKAgElplSIsRURRL6xtLRLu53dmbn3Hh9mFrZ1Kcs2pi9McnJndu8953c+7rkzxMwYz0uMq/W7AACssSpofo2qlJQfW6X66QNvs7rT9WOKQNP22Kz4xNqOadX1y1CkM0UDLH7dXlo3ddahV9a9O62m6n6/WD1FUS9qtbbMe6i5bUXDxkR/5h+AijVfBEBTa+TD1Q3PbJlX3xQ/39eFeKyyeOt3AvDIi2THJsivn1u5fUXt5LroxeRJMBjA2BoZFdIJm7fRBHFP+f4tLTvnRksism/oCjQrKOOjIlaFgWTSOX3pj0FmRiAGBszMBgyG1gqdZ38+cvh9tWGk7ttG4IltJXWTJtbsf37NjulplaSeVDeYDTRrGKMw6PahrKK89OH43FJjVAimYFhBax/aKFRXTEfn3+2T8+kfFaDpjUhD3X0z9m5e9lJNz9A5eCoDRughGxhoeF4ag+41aKOgtA9tfCgzfCwvmXRLG7cEWNRqbZ5d9+iulY2bKi8ku6CMAhGBmQFigAIAIzTYaLBQYFYwRsGwzhGD0eokL0DTzug7jXNWvjq/fkHFqd6jAANEwV4jQQEAgvwaykIoMGmwMGCjoTkACUZTOMDCndaelsZnn5oyubr0VE87iAQIBCKCEHRjyxOFBcY+UqofQ24SaX8IMACMALGEhRKAGYZ14QAEOL3XL2urzCDpdKMsloCAgLAEBBG0ceF4STg6ibRKwtVDYV0w2ABGM4xmaMUwiiE4ghnevFB1AQCHP1BbF7dG/pw+MPutWTNnVnZc/A5CANFoDBAaWmQgJUFIAkmCsAPdzATWDKIcUwwo30VGOQCDiEgyDw9H3rPgUJu/u/PEby8cO97R3TB1DWw7AtcMQlEGQhKERRA2QVqhhPfCDv4bBigDGmYIABEikqMCEJEAYHXs0ge62i+tPXjk+/Pz713FidIpECJQPsywLSAtcQNCWrnGEdTNzeBbACyim7/k2wUiFHlir//X4LneFtfd9+Xy5pYHrnKX7PXOQsjQS4tQYpcjEa0J8m+CvGvF0L4JR0ZpJA4wKEc3Idybt+uEdPEX9F0/l1rvet988uSS1Y+XJxKxC86vAYQlUFlWC75alT5/+kImaMPgoMOb4KQwxNdwlJlNb14DI8+CMEeRUOyc0X5sq/3mwgWN62vrE/HTqUOQNqEmXo8zR5z+z3Yc35BJwgGgAPiheCPus88uh4b/UwNhlepQ0TBp3+2/d/CHn9p+bz/TP2fialgyEuRYgEnCAZAB4OYYG6lDA/A4x+tbpWDkG07Q+gB9bI/63OvvOjXgDHy0fMWq6hRdBsNhIZEOAfI5kI1Chnl4W8wLEBJ6RGSyhsO5EoDs3Kd/TCUvrXOcb7/YuHZTHXE3ywgcAOlwfnbNDa9Hen67CGRBFAAV1oWdBQAgzh70T7rXe5pd79OvonbJg5E4hsII5AJ4AHQ+wwUB5IBkw4pwDwsAdOU4UiQGl8xc6r3cK3AtnMPBksK++Qp6I/o/r3H/MroL8C8JiYMXQa6AIwAAAABJRU5ErkJggg==" class="icon"/></a> <a title="Focus next segment" href="#Dynamic-template-evaluation"><img alt="Focus next segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASrSURBVFiF7ZdtaFZlGMd/133O2dgcmunUZDgzzIYvJIH2wU2UtDKKXkCCLIqiDyIWZfhCEYIRCUIgUvYhApMKKoUMDd9ymagzNHTGZNlSp5tz0z17e55zzn1ffXjOo8/WZuqH+SEfuLgOPPc5/9/1v677PhxRVW7nz9xW9TsAtwowZ7X4Ve/4i24bAFcoKb173MZH3h2yY8FSKRx8AGDqhBnpt57/eJ43aszhqqVSOugATh1i1Cx+ZvW0svEVNbNWFE4eVABVR1d4mfOpehY9+kb5tAkz9lSu8J8cNACnjshGpOMOTrcdY/7Dz42a/eBTmyqXFy6/medIfydh1Ur/64pxM+cGnq8igogICCJylXtieUXJsGF3FbV2NeLUouoYM3QCF1uaurfu//zb6oLoFX1f3S0BVK4q2PPmwg/mXOo6h4jBE58siMHINdNS6VbSUReKw6nDOcvw4tH4tij6ZvdnB21rasHeDdp5PQB/oD+6wxSN7acScYMRL8kCJE4IqCqqDtUsRHNHA8XB0OCFx5bM2rL3iyOz35Z5+9bp2YF0BpwBq5bYhkQuQ+ySbDPZTAYrIY4MTrLXlpBYM8Q25HJPMw1Xjsqzc1+aVFY26UDlqoKZNw3gXEzswiyEzYrHZHAS4gixksFKhJMIJyFWQjKuk/boIq1djbR0nuXYhd3Mnvl42eTxD22rXO6/2J/OgC2wGhO5ECMeBoPxPXwEMMk8CKHtpjPTRmfUTjrsxFqLs4qLFRtnZ6vxSh3Tx88fOaxk2PqqlYUV1R9mVt0QQCbupivTjmd8giDAOEirRV1M5Hrose3EGmYXK4gPngi5jaKAi5XQprmQqqe0ZGKh58mUG3NAkY50G80dfyEGvMDg+YLnC8YXjCcYD7zcjlAQp7icuCbhlIpRs4hSfuqnmu+/PLDWLmFNb6l/zYCIeFwdczBGMIasaALh+YIXGPxA8APBC6Q3oC/4vseM8idoOdfe9uuhXe8dWGuXAd51HcgeOHiqWQAREC9X8bXwEhfEZDnVKbndqQoFUszU0fM4WHOo6dSxhsW/b3bViZaKiNW8w6dvCwzgoUhRUELZ8PsxgcH3kyoDk3UhAUnFTaRtJ+queVbij2BicZXu3PPT37W7Wl9u+MXWX30u2CTHAwEkPXSttX8cvySmGBHIgKiIGAMogiDjxo8tHDHSL2rqqcM5AXWMKCyn1E2Jf9ixpfbIVx2vtZ+mLUHLtVT6avU6ikXEAAVAkOT86yA/Xv10+rb7ZhWPaOqpw8WOewqn4pqH9+zYuX1/zcbMsrCLHiACwj45rXrtHdHLAVV1ImITy2xiVX4FCjjAiqDGCL5vuHdIJQ3H21LVP/+4ueaTaH1yX5REnIQFonzxflugqlEyjPmiOeE4uccgqMHngSHzObzvRMtv1bVrjm6KtueJ5SByOa2qcV+9AWZAQxFxuWqT8MkOkAGMgI71prN123fnTlY3vn5yqz3RZ30OIgYyqmr70+r3ddxrQfZcCK5WnsTTH5X9GUXp83W7Ly2s30tznks5iIh+LL8hB/q4YQGb1xYDyKXLFzec2R+uO7Ofnj7i+l+ivQq88234vwf4B6YlTDQudkyaAAAAAElFTkSuQmCC" class="icon"/></a> <a title="Return to listing" href="#a__toc__Template-file-inclusion"><img alt="Return to listing" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABSlJREFUWIXdl1lsVUUYx/8zc7a7daUroXQhlkpoQ4sVA8b6gilbIEIDggEiEiSRFwzEJ/pCXXjgQR8sAW0I0QQSicZIiC9IsClFFqlC6HorXW/Xe+/p7b3nnpnxobbpJW1pS+uD3+N3vpn/b2b+c853gP9rrNp1WZtNHVlo4ZLDl/YzkC+lhAMUZ+9Uv3MCIHK6eraQ4sXvX9ri0tVvD2wtMt4oyaZPvP1rE1bf93ff/f72dGMWbAcKj1xMNYTSeGh7cbxUFNhcQpE2Lvxwz1Sj4czfvn4vONU4ulAAGicni/LTjYR4Jxo7g2jzjSAzJQ5Ll3iUCDUqphu3IACF7150MUqPvr4mS2/sCkICEEKic3AUhfkZBlXJjkUF0HW6JTXJTVwOHYOmNZHv80eQlRYHSFLyQgCrdlXOeKUkIRtezklVff5ITH7U4vC4dAjO00sOVzvnASDJ8vJPz5ghPZSz+ZNg9uaq/VNOQkmypjMaifKYvC0kKBn3eaI6Z4DsTZ9/mBTvOHZ0TxnbVV7q1hXlfO6mqi3P1nEhvIFg2NbU2Ol0hcIM2yAgPHcI5pwA8rd95iFEnN5UVqS19piQTMHO8lJFEHIpb+OZ1Mm1DLjT1jVsexyxizQ0hkF/CJSSlitXKmK353kAYc4rUpPilbQlcXjQ5MOv9zvgdjuwesVSw1b4yRgAxut7B4KGxgjIpDdLSpyOx20+Swh5dTqdaQEo2I6VKzKNJ0+HwIWEkBJ1j7rx6ppcnVIcTdt4xjVeawmHyYVE1BYTZ+5xqFCpxMOmHoVSXJgzAICSrPREtHX7JxKdfSaYoiIj2UMczJ7kBVuldExY/Gu83FQXrtc2WlLImtvVe5vmBJC5tdIppUh3OjUEQ1bMM29PAMsyl6gScgMAFB+6WECkuOlxaLBsCQkgM8lAR++wbO0cClpW9PgMi5wawBg1VACghMJ65mqFLRuMMUooSwYAytgxl6EWFOSlcv9oFJpCkehScb22kQsujzyoOTg8Z4DWxFxTEvDASBhOI9bZDk1BYCRsQwovADCCbbvfKsS6wizW548gJU5HQ4tPhsJRJcevTWu+GQFwpYJT0BbfoIl4V+xL0O3Q0NfvtyXFnZLD1SrnMlNRGf78O4BwlCMlXofKxhcisucHAEAKcbW1vdfKSHZP5AgBDI2if9g0OHi9orscACAkgS3Geo5AKIqoJSVltPbuud0t8wagjF3wdvUpTo0izjm2C4yOeYJzAS2smLe/2BdglA72Do0gwaki2aMhErFQ+9ArbFvMaL7nArT+dKKJc1FT/0eztTI7GZQQcCEmrpniUFQAICBnb/7eEtaZBOwofrzxyLI5P3Xv/L662QDM2BFlb69MQFRvXlf8UlIUKmnvCWBtfhpu1TXADEUeS0LfznmltCnU3V0jBN9DKIsQKU7Xn9tbNVMfOGsAAMgpr9qpG9p3b64vUhraBpCe5IQ5PMzbO3xsNBL9yvvzxx8AQNmBb4wbNQfDsxGdHM/tB9rcK66GI1Glpb1HZiS70DUwgrycpWx9aQEIJdvG6+YjPiuAZaY3GwA0hSHBrcOKcjxo9kGAQgqZWVJSPeV3fsEAnl470UIJqbVsLobNsY4nagtwPnbE/tRux6ICAIAQ5Hirt0sKbiPJY8Dj1DDoN0FABpuvVQYWHcB77WQdF/JUw1/Nlko44gyK5raOMICzLyIOzOHPaLjpl1vuvFuir3/otW7fAOO2vLw8FP7I670hXhRizpFdVmn856KLFf8AcP0p5DnhnVEAAAAASUVORK5CYII=" class="icon"/></a></div>
|
1426
|
-
<p class="title">Example 9. Template file inclusion</p>
|
1427
|
-
<div class="content"><p>When <tt>doc/example.erb</tt> contains:</p>
|
1428
|
-
|
1429
|
-
<p><ins><pre class="para" lang="rhtml">This is an eRuby template. Notice that <span style="background:#eee;color:black"><span style="font-weight:bold;color:#777"><%=</span>
|
1430
|
-
<span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">eRuby directives</span><span style="color:#710">"</span></span> <span style="font-weight:bold;color:#777">%></span></span> do take effect here!</pre></ins></p>
|
1431
2053
|
|
1432
|
-
<
|
2054
|
+
<div class="_float ui-tabs ui-widget ui-widget-content ui-corner-all example" id="Template-file-inclusion">
|
2055
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Template-file-inclusion"/><div class="nav"><a title="Here" href="#Template-file-inclusion"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Raw-file-inclusion"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Dynamic-template-evaluation"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Template-file-inclusion"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
2056
|
+
<p class="title ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"><span class="section_number">Example 9. </span>Template file inclusion</p>
|
2057
|
+
<div class="content"><p>When <tt>doc/example.erb</tt> contains:</p>
|
1433
2058
|
|
1434
|
-
<pre
|
2059
|
+
<ins><pre lang="rhtml" class="para">This is an eRuby template. Notice that <span style="background:#ddd;color:black"><span style="background:#ddd;font-weight:bold;color:#666"><%=</span>
|
2060
|
+
<span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">eRuby directives</span><span style="color:#710">"</span></span> <span style="background:#ddd;font-weight:bold;color:#666">%></span></span> do take effect here!
|
2061
|
+
</pre></ins><p> And the eRuby template is:</p>
|
1435
2062
|
|
1436
|
-
|
2063
|
+
<pre><%+ "doc/example.erb" %>
|
1437
2064
|
|
1438
|
-
|
2065
|
+
%+ "doc/example.erb"</pre><p> With <code class="line">{<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>, <span style="color:#A60">:source_file</span>=><span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">./USAGE</span><span style="color:#710">"</span></span>}</code> options, the above template compiles into:</p>
|
1439
2066
|
|
1440
|
-
<
|
2067
|
+
<ins><pre lang="ruby" class="para">(_erbout = []; ::<span style="color:#036;font-weight:bold">Ember</span>::<span style="color:#036;font-weight:bold">Template</span>.load_file(( <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">doc/example.erb</span><span style="color:#710">"</span></span> ), {<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>, <span style="color:#A60">:source_file</span>=><span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">./USAGE</span><span style="color:#710">"</span></span>}.merge!(<span style="color:#A60">:continue_result</span> => <span style="color:#038;font-weight:bold">true</span>)).render(<span style="color:#038;font-weight:bold">nil</span>, <span style="color:#00D;font-weight:bold">71510250</span>); _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1441
2068
|
_erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1442
|
-
::<span style="color:#036;font-weight:bold">Ember</span>::<span style="color:#036;font-weight:bold">Template</span>.load_file(( <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">example.erb</span><span style="color:#710">"</span></span>), {<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>, <span style="color:#A60">:source_file</span>=><span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style=""
|
1443
|
-
; _erbout.join)</pre></ins
|
1444
|
-
|
1445
|
-
<p>And renders as:</p>
|
2069
|
+
::<span style="color:#036;font-weight:bold">Ember</span>::<span style="color:#036;font-weight:bold">Template</span>.load_file(( <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">doc/example.erb</span><span style="color:#710">"</span></span>), {<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>, <span style="color:#A60">:source_file</span>=><span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">./USAGE</span><span style="color:#710">"</span></span>}.merge!(<span style="color:#A60">:continue_result</span> => <span style="color:#038;font-weight:bold">true</span>)).render(<span style="color:#038;font-weight:bold">nil</span>, <span style="color:#00D;font-weight:bold">71510250</span>); _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
2070
|
+
; _erbout.join)</pre></ins><p> And renders as:</p>
|
1446
2071
|
|
1447
2072
|
<pre>This is an eRuby template. Notice that eRuby directives do take effect here!
|
1448
2073
|
|
1449
|
-
This is an eRuby template. Notice that eRuby directives do take effect here!</pre
|
2074
|
+
This is an eRuby template. Notice that eRuby directives do take effect here!</pre></div>
|
1450
2075
|
</div>
|
1451
|
-
<p></p>
|
1452
2076
|
|
1453
2077
|
|
1454
|
-
<div class="example" id="Dynamic-template-evaluation">
|
1455
|
-
<a name="Dynamic-template-evaluation"/><div class="nav"><a title="Focus this segment" href="#Dynamic-template-evaluation"><img alt="Focus this segment" src="data:image/png;base64,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" class="icon"/></a> <a title="Focus previous segment" href="#Template-file-inclusion"><img alt="Focus previous segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAS1SURBVFiF7ZddbBRVFMf/596Z3W3rtiwtUFsJFQhWMQSIWi0UKJHPlISvCGpiogkxig8SlBSj0Rij6YMPJhB9IyZqTFRC4pNKAgElplSIsRURRL6xtLRLu53dmbn3Hh9mFrZ1Kcs2pi9McnJndu8953c+7rkzxMwYz0uMq/W7AACssSpofo2qlJQfW6X66QNvs7rT9WOKQNP22Kz4xNqOadX1y1CkM0UDLH7dXlo3ddahV9a9O62m6n6/WD1FUS9qtbbMe6i5bUXDxkR/5h+AijVfBEBTa+TD1Q3PbJlX3xQ/39eFeKyyeOt3AvDIi2THJsivn1u5fUXt5LroxeRJMBjA2BoZFdIJm7fRBHFP+f4tLTvnRksism/oCjQrKOOjIlaFgWTSOX3pj0FmRiAGBszMBgyG1gqdZ38+cvh9tWGk7ttG4IltJXWTJtbsf37NjulplaSeVDeYDTRrGKMw6PahrKK89OH43FJjVAimYFhBax/aKFRXTEfn3+2T8+kfFaDpjUhD3X0z9m5e9lJNz9A5eCoDRughGxhoeF4ag+41aKOgtA9tfCgzfCwvmXRLG7cEWNRqbZ5d9+iulY2bKi8ku6CMAhGBmQFigAIAIzTYaLBQYFYwRsGwzhGD0eokL0DTzug7jXNWvjq/fkHFqd6jAANEwV4jQQEAgvwaykIoMGmwMGCjoTkACUZTOMDCndaelsZnn5oyubr0VE87iAQIBCKCEHRjyxOFBcY+UqofQ24SaX8IMACMALGEhRKAGYZ14QAEOL3XL2urzCDpdKMsloCAgLAEBBG0ceF4STg6ibRKwtVDYV0w2ABGM4xmaMUwiiE4ghnevFB1AQCHP1BbF7dG/pw+MPutWTNnVnZc/A5CANFoDBAaWmQgJUFIAkmCsAPdzATWDKIcUwwo30VGOQCDiEgyDw9H3rPgUJu/u/PEby8cO97R3TB1DWw7AtcMQlEGQhKERRA2QVqhhPfCDv4bBigDGmYIABEikqMCEJEAYHXs0ge62i+tPXjk+/Pz713FidIpECJQPsywLSAtcQNCWrnGEdTNzeBbACyim7/k2wUiFHlir//X4LneFtfd9+Xy5pYHrnKX7PXOQsjQS4tQYpcjEa0J8m+CvGvF0L4JR0ZpJA4wKEc3Idybt+uEdPEX9F0/l1rvet988uSS1Y+XJxKxC86vAYQlUFlWC75alT5/+kImaMPgoMOb4KQwxNdwlJlNb14DI8+CMEeRUOyc0X5sq/3mwgWN62vrE/HTqUOQNqEmXo8zR5z+z3Yc35BJwgGgAPiheCPus88uh4b/UwNhlepQ0TBp3+2/d/CHn9p+bz/TP2fialgyEuRYgEnCAZAB4OYYG6lDA/A4x+tbpWDkG07Q+gB9bI/63OvvOjXgDHy0fMWq6hRdBsNhIZEOAfI5kI1Chnl4W8wLEBJ6RGSyhsO5EoDs3Kd/TCUvrXOcb7/YuHZTHXE3ywgcAOlwfnbNDa9Hen67CGRBFAAV1oWdBQAgzh70T7rXe5pd79OvonbJg5E4hsII5AJ4AHQ+wwUB5IBkw4pwDwsAdOU4UiQGl8xc6r3cK3AtnMPBksK++Qp6I/o/r3H/MroL8C8JiYMXQa6AIwAAAABJRU5ErkJggg==" class="icon"/></a> <a title="Focus next segment" href="#History"><img alt="Focus next segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASrSURBVFiF7ZdtaFZlGMd/133O2dgcmunUZDgzzIYvJIH2wU2UtDKKXkCCLIqiDyIWZfhCEYIRCUIgUvYhApMKKoUMDd9ymagzNHTGZNlSp5tz0z17e55zzn1ffXjOo8/WZuqH+SEfuLgOPPc5/9/1v677PhxRVW7nz9xW9TsAtwowZ7X4Ve/4i24bAFcoKb173MZH3h2yY8FSKRx8AGDqhBnpt57/eJ43aszhqqVSOugATh1i1Cx+ZvW0svEVNbNWFE4eVABVR1d4mfOpehY9+kb5tAkz9lSu8J8cNACnjshGpOMOTrcdY/7Dz42a/eBTmyqXFy6/medIfydh1Ur/64pxM+cGnq8igogICCJylXtieUXJsGF3FbV2NeLUouoYM3QCF1uaurfu//zb6oLoFX1f3S0BVK4q2PPmwg/mXOo6h4jBE58siMHINdNS6VbSUReKw6nDOcvw4tH4tij6ZvdnB21rasHeDdp5PQB/oD+6wxSN7acScYMRL8kCJE4IqCqqDtUsRHNHA8XB0OCFx5bM2rL3iyOz35Z5+9bp2YF0BpwBq5bYhkQuQ+ySbDPZTAYrIY4MTrLXlpBYM8Q25HJPMw1Xjsqzc1+aVFY26UDlqoKZNw3gXEzswiyEzYrHZHAS4gixksFKhJMIJyFWQjKuk/boIq1djbR0nuXYhd3Mnvl42eTxD22rXO6/2J/OgC2wGhO5ECMeBoPxPXwEMMk8CKHtpjPTRmfUTjrsxFqLs4qLFRtnZ6vxSh3Tx88fOaxk2PqqlYUV1R9mVt0QQCbupivTjmd8giDAOEirRV1M5Hrose3EGmYXK4gPngi5jaKAi5XQprmQqqe0ZGKh58mUG3NAkY50G80dfyEGvMDg+YLnC8YXjCcYD7zcjlAQp7icuCbhlIpRs4hSfuqnmu+/PLDWLmFNb6l/zYCIeFwdczBGMIasaALh+YIXGPxA8APBC6Q3oC/4vseM8idoOdfe9uuhXe8dWGuXAd51HcgeOHiqWQAREC9X8bXwEhfEZDnVKbndqQoFUszU0fM4WHOo6dSxhsW/b3bViZaKiNW8w6dvCwzgoUhRUELZ8PsxgcH3kyoDk3UhAUnFTaRtJ+queVbij2BicZXu3PPT37W7Wl9u+MXWX30u2CTHAwEkPXSttX8cvySmGBHIgKiIGAMogiDjxo8tHDHSL2rqqcM5AXWMKCyn1E2Jf9ixpfbIVx2vtZ+mLUHLtVT6avU6ikXEAAVAkOT86yA/Xv10+rb7ZhWPaOqpw8WOewqn4pqH9+zYuX1/zcbMsrCLHiACwj45rXrtHdHLAVV1ImITy2xiVX4FCjjAiqDGCL5vuHdIJQ3H21LVP/+4ueaTaH1yX5REnIQFonzxflugqlEyjPmiOeE4uccgqMHngSHzObzvRMtv1bVrjm6KtueJ5SByOa2qcV+9AWZAQxFxuWqT8MkOkAGMgI71prN123fnTlY3vn5yqz3RZ30OIgYyqmr70+r3ddxrQfZcCK5WnsTTH5X9GUXp83W7Ly2s30tznks5iIh+LL8hB/q4YQGb1xYDyKXLFzec2R+uO7Ofnj7i+l+ivQq88234vwf4B6YlTDQudkyaAAAAAElFTkSuQmCC" class="icon"/></a> <a title="Return to listing" href="#a__toc__Dynamic-template-evaluation"><img alt="Return to listing" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABSlJREFUWIXdl1lsVUUYx/8zc7a7daUroXQhlkpoQ4sVA8b6gilbIEIDggEiEiSRFwzEJ/pCXXjgQR8sAW0I0QQSicZIiC9IsClFFqlC6HorXW/Xe+/p7b3nnpnxobbpJW1pS+uD3+N3vpn/b2b+c853gP9rrNp1WZtNHVlo4ZLDl/YzkC+lhAMUZ+9Uv3MCIHK6eraQ4sXvX9ri0tVvD2wtMt4oyaZPvP1rE1bf93ff/f72dGMWbAcKj1xMNYTSeGh7cbxUFNhcQpE2Lvxwz1Sj4czfvn4vONU4ulAAGicni/LTjYR4Jxo7g2jzjSAzJQ5Ll3iUCDUqphu3IACF7150MUqPvr4mS2/sCkICEEKic3AUhfkZBlXJjkUF0HW6JTXJTVwOHYOmNZHv80eQlRYHSFLyQgCrdlXOeKUkIRtezklVff5ITH7U4vC4dAjO00sOVzvnASDJ8vJPz5ghPZSz+ZNg9uaq/VNOQkmypjMaifKYvC0kKBn3eaI6Z4DsTZ9/mBTvOHZ0TxnbVV7q1hXlfO6mqi3P1nEhvIFg2NbU2Ol0hcIM2yAgPHcI5pwA8rd95iFEnN5UVqS19piQTMHO8lJFEHIpb+OZ1Mm1DLjT1jVsexyxizQ0hkF/CJSSlitXKmK353kAYc4rUpPilbQlcXjQ5MOv9zvgdjuwesVSw1b4yRgAxut7B4KGxgjIpDdLSpyOx20+Swh5dTqdaQEo2I6VKzKNJ0+HwIWEkBJ1j7rx6ppcnVIcTdt4xjVeawmHyYVE1BYTZ+5xqFCpxMOmHoVSXJgzAICSrPREtHX7JxKdfSaYoiIj2UMczJ7kBVuldExY/Gu83FQXrtc2WlLImtvVe5vmBJC5tdIppUh3OjUEQ1bMM29PAMsyl6gScgMAFB+6WECkuOlxaLBsCQkgM8lAR++wbO0cClpW9PgMi5wawBg1VACghMJ65mqFLRuMMUooSwYAytgxl6EWFOSlcv9oFJpCkehScb22kQsujzyoOTg8Z4DWxFxTEvDASBhOI9bZDk1BYCRsQwovADCCbbvfKsS6wizW548gJU5HQ4tPhsJRJcevTWu+GQFwpYJT0BbfoIl4V+xL0O3Q0NfvtyXFnZLD1SrnMlNRGf78O4BwlCMlXofKxhcisucHAEAKcbW1vdfKSHZP5AgBDI2if9g0OHi9orscACAkgS3Geo5AKIqoJSVltPbuud0t8wagjF3wdvUpTo0izjm2C4yOeYJzAS2smLe/2BdglA72Do0gwaki2aMhErFQ+9ArbFvMaL7nArT+dKKJc1FT/0eztTI7GZQQcCEmrpniUFQAICBnb/7eEtaZBOwofrzxyLI5P3Xv/L662QDM2BFlb69MQFRvXlf8UlIUKmnvCWBtfhpu1TXADEUeS0LfznmltCnU3V0jBN9DKIsQKU7Xn9tbNVMfOGsAAMgpr9qpG9p3b64vUhraBpCe5IQ5PMzbO3xsNBL9yvvzxx8AQNmBb4wbNQfDsxGdHM/tB9rcK66GI1Glpb1HZiS70DUwgrycpWx9aQEIJdvG6+YjPiuAZaY3GwA0hSHBrcOKcjxo9kGAQgqZWVJSPeV3fsEAnl470UIJqbVsLobNsY4nagtwPnbE/tRux6ICAIAQ5Hirt0sKbiPJY8Dj1DDoN0FABpuvVQYWHcB77WQdF/JUw1/Nlko44gyK5raOMICzLyIOzOHPaLjpl1vuvFuir3/otW7fAOO2vLw8FP7I670hXhRizpFdVmn856KLFf8AcP0p5DnhnVEAAAAASUVORK5CYII=" class="icon"/></a></div>
|
1456
|
-
<p class="title">Example 10. Dynamic template evaluation</p>
|
1457
|
-
<div class="content"><pre><%~ "%= 2 + 2" %>
|
1458
2078
|
|
1459
|
-
|
2079
|
+
<div class="_float ui-tabs ui-widget ui-widget-content ui-corner-all example" id="Dynamic-template-evaluation">
|
2080
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Dynamic-template-evaluation"/><div class="nav"><a title="Here" href="#Dynamic-template-evaluation"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Template-file-inclusion"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#History"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Dynamic-template-evaluation"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
2081
|
+
<p class="title ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"><span class="section_number">Example 10. </span>Dynamic template evaluation</p>
|
2082
|
+
<div class="content"><pre><%~ "%= 2 + 2" %>
|
1460
2083
|
|
1461
|
-
|
2084
|
+
%~ "%= 2 + 2"</pre><p> With <code class="line">{<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>}</code> options, the above template compiles into:</p>
|
1462
2085
|
|
1463
|
-
<
|
2086
|
+
<ins><pre lang="ruby" class="para">(_erbout = []; ::<span style="color:#036;font-weight:bold">Ember</span>::<span style="color:#036;font-weight:bold">Template</span>.new(( <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">%= 2 + 2</span><span style="color:#710">"</span></span> ), {<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>}.merge!(<span style="color:#A60">:continue_result</span> => <span style="color:#038;font-weight:bold">true</span>)).render(<span style="color:#038;font-weight:bold">nil</span>, <span style="color:#00D;font-weight:bold">70643216</span>); _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1464
2087
|
_erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
1465
|
-
::<span style="color:#036;font-weight:bold">Ember</span>::<span style="color:#036;font-weight:bold">Template</span>.new(( <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">%= 2 + 2</span><span style="color:#710">"</span></span>), {<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>}.merge!(<span style="color:#A60">:continue_result</span> => <span style="color:#038;font-weight:bold">true</span>)).render(<span style="color:#038;font-weight:bold">nil</span>, <span style="color:#00D;font-weight:bold">
|
1466
|
-
; _erbout.join)</pre></ins
|
1467
|
-
|
1468
|
-
<p>And renders as:</p>
|
2088
|
+
::<span style="color:#036;font-weight:bold">Ember</span>::<span style="color:#036;font-weight:bold">Template</span>.new(( <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="">%= 2 + 2</span><span style="color:#710">"</span></span>), {<span style="color:#A60">:shorthand</span>=><span style="color:#038;font-weight:bold">true</span>}.merge!(<span style="color:#A60">:continue_result</span> => <span style="color:#038;font-weight:bold">true</span>)).render(<span style="color:#038;font-weight:bold">nil</span>, <span style="color:#00D;font-weight:bold">70643216</span>); _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">"</span><span style="color:#b0b">\n</span><span style="color:#710">"</span></span>
|
2089
|
+
; _erbout.join)</pre></ins><p> And renders as:</p>
|
1469
2090
|
|
1470
2091
|
<pre>4
|
1471
2092
|
|
1472
|
-
4</pre
|
2093
|
+
4</pre></div>
|
1473
2094
|
</div>
|
1474
|
-
<p></p></div>
|
1475
2095
|
</div>
|
1476
|
-
</div><p></p></div>
|
1477
2096
|
</div>
|
1478
|
-
</div
|
2097
|
+
</div></div>
|
1479
2098
|
</div>
|
1480
2099
|
|
1481
2100
|
|
1482
|
-
|
1483
|
-
|
1484
|
-
<div class="chapter" id="History">
|
1485
|
-
<a name="History"/><div class="nav"><a title="Focus this segment" href="#History"><img alt="Focus this segment" src="data:image/png;base64,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" class="icon"/></a> <a title="Focus previous segment" href="#Dynamic-template-evaluation"><img alt="Focus previous segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAS1SURBVFiF7ZddbBRVFMf/596Z3W3rtiwtUFsJFQhWMQSIWi0UKJHPlISvCGpiogkxig8SlBSj0Rij6YMPJhB9IyZqTFRC4pNKAgElplSIsRURRL6xtLRLu53dmbn3Hh9mFrZ1Kcs2pi9McnJndu8953c+7rkzxMwYz0uMq/W7AACssSpofo2qlJQfW6X66QNvs7rT9WOKQNP22Kz4xNqOadX1y1CkM0UDLH7dXlo3ddahV9a9O62m6n6/WD1FUS9qtbbMe6i5bUXDxkR/5h+AijVfBEBTa+TD1Q3PbJlX3xQ/39eFeKyyeOt3AvDIi2THJsivn1u5fUXt5LroxeRJMBjA2BoZFdIJm7fRBHFP+f4tLTvnRksism/oCjQrKOOjIlaFgWTSOX3pj0FmRiAGBszMBgyG1gqdZ38+cvh9tWGk7ttG4IltJXWTJtbsf37NjulplaSeVDeYDTRrGKMw6PahrKK89OH43FJjVAimYFhBax/aKFRXTEfn3+2T8+kfFaDpjUhD3X0z9m5e9lJNz9A5eCoDRughGxhoeF4ag+41aKOgtA9tfCgzfCwvmXRLG7cEWNRqbZ5d9+iulY2bKi8ku6CMAhGBmQFigAIAIzTYaLBQYFYwRsGwzhGD0eokL0DTzug7jXNWvjq/fkHFqd6jAANEwV4jQQEAgvwaykIoMGmwMGCjoTkACUZTOMDCndaelsZnn5oyubr0VE87iAQIBCKCEHRjyxOFBcY+UqofQ24SaX8IMACMALGEhRKAGYZ14QAEOL3XL2urzCDpdKMsloCAgLAEBBG0ceF4STg6ibRKwtVDYV0w2ABGM4xmaMUwiiE4ghnevFB1AQCHP1BbF7dG/pw+MPutWTNnVnZc/A5CANFoDBAaWmQgJUFIAkmCsAPdzATWDKIcUwwo30VGOQCDiEgyDw9H3rPgUJu/u/PEby8cO97R3TB1DWw7AtcMQlEGQhKERRA2QVqhhPfCDv4bBigDGmYIABEikqMCEJEAYHXs0ge62i+tPXjk+/Pz713FidIpECJQPsywLSAtcQNCWrnGEdTNzeBbACyim7/k2wUiFHlir//X4LneFtfd9+Xy5pYHrnKX7PXOQsjQS4tQYpcjEa0J8m+CvGvF0L4JR0ZpJA4wKEc3Idybt+uEdPEX9F0/l1rvet988uSS1Y+XJxKxC86vAYQlUFlWC75alT5/+kImaMPgoMOb4KQwxNdwlJlNb14DI8+CMEeRUOyc0X5sq/3mwgWN62vrE/HTqUOQNqEmXo8zR5z+z3Yc35BJwgGgAPiheCPus88uh4b/UwNhlepQ0TBp3+2/d/CHn9p+bz/TP2fialgyEuRYgEnCAZAB4OYYG6lDA/A4x+tbpWDkG07Q+gB9bI/63OvvOjXgDHy0fMWq6hRdBsNhIZEOAfI5kI1Chnl4W8wLEBJ6RGSyhsO5EoDs3Kd/TCUvrXOcb7/YuHZTHXE3ywgcAOlwfnbNDa9Hen67CGRBFAAV1oWdBQAgzh70T7rXe5pd79OvonbJg5E4hsII5AJ4AHQ+wwUB5IBkw4pwDwsAdOU4UiQGl8xc6r3cK3AtnMPBksK++Qp6I/o/r3H/MroL8C8JiYMXQa6AIwAAAABJRU5ErkJggg==" class="icon"/></a> <a title="Focus next segment" href="#Version-0-0-1-2009-10-03"><img alt="Focus next segment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASrSURBVFiF7ZdtaFZlGMd/133O2dgcmunUZDgzzIYvJIH2wU2UtDKKXkCCLIqiDyIWZfhCEYIRCUIgUvYhApMKKoUMDd9ymagzNHTGZNlSp5tz0z17e55zzn1ffXjOo8/WZuqH+SEfuLgOPPc5/9/1v677PhxRVW7nz9xW9TsAtwowZ7X4Ve/4i24bAFcoKb173MZH3h2yY8FSKRx8AGDqhBnpt57/eJ43aszhqqVSOugATh1i1Cx+ZvW0svEVNbNWFE4eVABVR1d4mfOpehY9+kb5tAkz9lSu8J8cNACnjshGpOMOTrcdY/7Dz42a/eBTmyqXFy6/medIfydh1Ur/64pxM+cGnq8igogICCJylXtieUXJsGF3FbV2NeLUouoYM3QCF1uaurfu//zb6oLoFX1f3S0BVK4q2PPmwg/mXOo6h4jBE58siMHINdNS6VbSUReKw6nDOcvw4tH4tij6ZvdnB21rasHeDdp5PQB/oD+6wxSN7acScYMRL8kCJE4IqCqqDtUsRHNHA8XB0OCFx5bM2rL3iyOz35Z5+9bp2YF0BpwBq5bYhkQuQ+ySbDPZTAYrIY4MTrLXlpBYM8Q25HJPMw1Xjsqzc1+aVFY26UDlqoKZNw3gXEzswiyEzYrHZHAS4gixksFKhJMIJyFWQjKuk/boIq1djbR0nuXYhd3Mnvl42eTxD22rXO6/2J/OgC2wGhO5ECMeBoPxPXwEMMk8CKHtpjPTRmfUTjrsxFqLs4qLFRtnZ6vxSh3Tx88fOaxk2PqqlYUV1R9mVt0QQCbupivTjmd8giDAOEirRV1M5Hrose3EGmYXK4gPngi5jaKAi5XQprmQqqe0ZGKh58mUG3NAkY50G80dfyEGvMDg+YLnC8YXjCcYD7zcjlAQp7icuCbhlIpRs4hSfuqnmu+/PLDWLmFNb6l/zYCIeFwdczBGMIasaALh+YIXGPxA8APBC6Q3oC/4vseM8idoOdfe9uuhXe8dWGuXAd51HcgeOHiqWQAREC9X8bXwEhfEZDnVKbndqQoFUszU0fM4WHOo6dSxhsW/b3bViZaKiNW8w6dvCwzgoUhRUELZ8PsxgcH3kyoDk3UhAUnFTaRtJ+queVbij2BicZXu3PPT37W7Wl9u+MXWX30u2CTHAwEkPXSttX8cvySmGBHIgKiIGAMogiDjxo8tHDHSL2rqqcM5AXWMKCyn1E2Jf9ixpfbIVx2vtZ+mLUHLtVT6avU6ikXEAAVAkOT86yA/Xv10+rb7ZhWPaOqpw8WOewqn4pqH9+zYuX1/zcbMsrCLHiACwj45rXrtHdHLAVV1ImITy2xiVX4FCjjAiqDGCL5vuHdIJQ3H21LVP/+4ueaTaH1yX5REnIQFonzxflugqlEyjPmiOeE4uccgqMHngSHzObzvRMtv1bVrjm6KtueJ5SByOa2qcV+9AWZAQxFxuWqT8MkOkAGMgI71prN123fnTlY3vn5yqz3RZ30OIgYyqmr70+r3ddxrQfZcCK5WnsTTH5X9GUXp83W7Ly2s30tznks5iIh+LL8hB/q4YQGb1xYDyKXLFzec2R+uO7Ofnj7i+l+ivQq88234vwf4B6YlTDQudkyaAAAAAElFTkSuQmCC" class="icon"/></a> <a title="Return to listing" href="#a__toc__History"><img alt="Return to listing" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABSlJREFUWIXdl1lsVUUYx/8zc7a7daUroXQhlkpoQ4sVA8b6gilbIEIDggEiEiSRFwzEJ/pCXXjgQR8sAW0I0QQSicZIiC9IsClFFqlC6HorXW/Xe+/p7b3nnpnxobbpJW1pS+uD3+N3vpn/b2b+c853gP9rrNp1WZtNHVlo4ZLDl/YzkC+lhAMUZ+9Uv3MCIHK6eraQ4sXvX9ri0tVvD2wtMt4oyaZPvP1rE1bf93ff/f72dGMWbAcKj1xMNYTSeGh7cbxUFNhcQpE2Lvxwz1Sj4czfvn4vONU4ulAAGicni/LTjYR4Jxo7g2jzjSAzJQ5Ll3iUCDUqphu3IACF7150MUqPvr4mS2/sCkICEEKic3AUhfkZBlXJjkUF0HW6JTXJTVwOHYOmNZHv80eQlRYHSFLyQgCrdlXOeKUkIRtezklVff5ITH7U4vC4dAjO00sOVzvnASDJ8vJPz5ghPZSz+ZNg9uaq/VNOQkmypjMaifKYvC0kKBn3eaI6Z4DsTZ9/mBTvOHZ0TxnbVV7q1hXlfO6mqi3P1nEhvIFg2NbU2Ol0hcIM2yAgPHcI5pwA8rd95iFEnN5UVqS19piQTMHO8lJFEHIpb+OZ1Mm1DLjT1jVsexyxizQ0hkF/CJSSlitXKmK353kAYc4rUpPilbQlcXjQ5MOv9zvgdjuwesVSw1b4yRgAxut7B4KGxgjIpDdLSpyOx20+Swh5dTqdaQEo2I6VKzKNJ0+HwIWEkBJ1j7rx6ppcnVIcTdt4xjVeawmHyYVE1BYTZ+5xqFCpxMOmHoVSXJgzAICSrPREtHX7JxKdfSaYoiIj2UMczJ7kBVuldExY/Gu83FQXrtc2WlLImtvVe5vmBJC5tdIppUh3OjUEQ1bMM29PAMsyl6gScgMAFB+6WECkuOlxaLBsCQkgM8lAR++wbO0cClpW9PgMi5wawBg1VACghMJ65mqFLRuMMUooSwYAytgxl6EWFOSlcv9oFJpCkehScb22kQsujzyoOTg8Z4DWxFxTEvDASBhOI9bZDk1BYCRsQwovADCCbbvfKsS6wizW548gJU5HQ4tPhsJRJcevTWu+GQFwpYJT0BbfoIl4V+xL0O3Q0NfvtyXFnZLD1SrnMlNRGf78O4BwlCMlXofKxhcisucHAEAKcbW1vdfKSHZP5AgBDI2if9g0OHi9orscACAkgS3Geo5AKIqoJSVltPbuud0t8wagjF3wdvUpTo0izjm2C4yOeYJzAS2smLe/2BdglA72Do0gwaki2aMhErFQ+9ArbFvMaL7nArT+dKKJc1FT/0eztTI7GZQQcCEmrpniUFQAICBnb/7eEtaZBOwofrzxyLI5P3Xv/L662QDM2BFlb69MQFRvXlf8UlIUKmnvCWBtfhpu1TXADEUeS0LfznmltCnU3V0jBN9DKIsQKU7Xn9tbNVMfOGsAAMgpr9qpG9p3b64vUhraBpCe5IQ5PMzbO3xsNBL9yvvzxx8AQNmBb4wbNQfDsxGdHM/tB9rcK66GI1Glpb1HZiS70DUwgrycpWx9aQEIJdvG6+YjPiuAZaY3GwA0hSHBrcOKcjxo9kGAQgqZWVJSPeV3fsEAnl470UIJqbVsLobNsY4nagtwPnbE/tRux6ICAIAQ5Hirt0sKbiPJY8Dj1DDoN0FABpuvVQYWHcB77WQdF/JUw1/Nlko44gyK5raOMICzLyIOzOHPaLjpl1vuvFuir3/otW7fAOO2vLw8FP7I670hXhRizpFdVmn856KLFf8AcP0p5DnhnVEAAAAASUVORK5CYII=" class="icon"/></a></div>
|
2101
|
+
<div class="part" id="History">
|
2102
|
+
<div style="display: none"><br/><hr/><br/></div><a name="History"/><div class="nav"><a title="Here" href="#History"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Dynamic-template-evaluation"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Version-0-1-0-2010-04-03"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-History"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
1486
2103
|
<h1 class="title">
|
1487
|
-
|
2104
|
+
Part 5
|
1488
2105
|
<br/>
|
1489
2106
|
<big>History</big>
|
1490
2107
|
</h1>
|
1491
|
-
<div class="content"><div class="tabs"><ul><li><a href="#Version-0-0-1-2009-10-03">Version 0.0.1 (2009-10-03)</a></li><li><a href="#Version-0-0-0-2009-02-13">Version 0.0.0 (2009-02-13)</a></li></ul>
|
2108
|
+
<div class="content"><div style="display: none"><br/><hr/><br/></div><div class="tabs"><ul><li><a href="#Version-0-1-0-2010-04-03"><span class="section_number">5.1 </span>Version 0.1.0 (2010-04-03)</a></li><li><a href="#Version-0-0-1-2009-10-03"><span class="section_number">5.2 </span>Version 0.0.1 (2009-10-03)</a></li><li><a href="#Version-0-0-0-2009-02-13"><span class="section_number">5.3 </span>Version 0.0.0 (2009-02-13)</a></li></ul>
|
2109
|
+
<div class="section" id="Version-0-1-0-2010-04-03">
|
2110
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Version-0-1-0-2010-04-03"/><div class="nav"><a title="Here" href="#Version-0-1-0-2010-04-03"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#History"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Version-0-0-1-2009-10-03"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Version-0-1-0-2010-04-03"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
2111
|
+
<h1 class="title">
|
2112
|
+
<span class="section_number">5.1 </span>Version 0.1.0 (2010-04-03)
|
2113
|
+
</h1>
|
2114
|
+
<div class="content"><p>This release improves the handling of eRuby comment directives, fixes a bug in the <code class="line"><<span style="background-color:#fff0f0;color:#D20"><span style="color:#710">% </span><span style="">end</span><span style="color:#710"> </span></span>%></code> inference logic, and performs some minor housekeeping.</p>
|
2115
|
+
|
2116
|
+
|
2117
|
+
<div class="paragraph" id="New-features">
|
2118
|
+
<div style="display: none"><br/><hr/><br/></div><a name="New-features"/><div class="nav"><a title="Here" href="#New-features"><img alt="[Here]" src="cid:70779618" class="icon"/></a> </div>
|
2119
|
+
<p class="title">New features</p>
|
2120
|
+
<div class="content"><ul>
|
2121
|
+
<li>
|
2122
|
+
<p>Single-line comment directives are now ignored (treated like no-ops) in input templates. This allows us to surround eRuby block directives with section separators made from single-line comment directives:</p>
|
2123
|
+
|
2124
|
+
<pre>%|some_block_directive
|
2125
|
+
|
2126
|
+
Inside some_block_directive.
|
2127
|
+
|
2128
|
+
%#-----------------------------------------------------------------
|
2129
|
+
|
2130
|
+
Still inside some_block_directive!
|
2131
|
+
|
2132
|
+
%#---------------------------------------------------------------
|
2133
|
+
%| nested_block_directive
|
2134
|
+
%#---------------------------------------------------------------
|
2135
|
+
|
2136
|
+
Inside nested_block_directive.</pre>
|
2137
|
+
</li>
|
2138
|
+
</ul></div>
|
2139
|
+
</div>
|
2140
|
+
|
2141
|
+
|
2142
|
+
|
2143
|
+
<div class="paragraph" id="Bug-fixes">
|
2144
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Bug-fixes"/><div class="nav"><a title="Here" href="#Bug-fixes"><img alt="[Here]" src="cid:70779618" class="icon"/></a> </div>
|
2145
|
+
<p class="title">Bug fixes</p>
|
2146
|
+
<div class="content"><ul>
|
2147
|
+
<li><code class="line"><<span style="background-color:#fff0f0;color:#D20"><span style="color:#710">% </span><span style="">end</span><span style="color:#710"> </span></span>%></code> inference did not work for blocks beginning with <code class="line"><span style="color:#080;font-weight:bold">def</span></code>, <code class="line"><span style="color:#080;font-weight:bold">class</span></code>, and <code class="line"><span style="color:#080;font-weight:bold">module</span></code> keywords.</li>
|
2148
|
+
</ul></div>
|
2149
|
+
</div>
|
2150
|
+
|
2151
|
+
|
2152
|
+
|
2153
|
+
<div class="paragraph" id="Housekeeping">
|
2154
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Housekeeping"/><div class="nav"><a title="Here" href="#Housekeeping"><img alt="[Here]" src="cid:70779618" class="icon"/></a> </div>
|
2155
|
+
<p class="title">Housekeeping</p>
|
2156
|
+
<div class="content"><ul>
|
2157
|
+
<li>Upgrade to Inochi 2.0.0-rc3. This project no longer depends on the “inochi” or “trollop” gems at runtime.</li>
|
2158
|
+
</ul></div>
|
2159
|
+
</div>
|
2160
|
+
</div>
|
2161
|
+
</div>
|
2162
|
+
|
1492
2163
|
<div class="section" id="Version-0-0-1-2009-10-03">
|
1493
|
-
<a name="Version-0-0-1-2009-10-03"/><div class="nav"><a title="
|
1494
|
-
<
|
1495
|
-
|
1496
|
-
</
|
2164
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Version-0-0-1-2009-10-03"/><div class="nav"><a title="Here" href="#Version-0-0-1-2009-10-03"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Version-0-1-0-2010-04-03"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Next" href="#Version-0-0-0-2009-02-13"><img alt="[Next]" src="cid:70769230" class="icon"/></a> <a title="Contents" href="#_contents-Version-0-0-1-2009-10-03"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
2165
|
+
<h1 class="title">
|
2166
|
+
<span class="section_number">5.2 </span>Version 0.0.1 (2009-10-03)
|
2167
|
+
</h1>
|
1497
2168
|
<div class="content"><p>This release improves Ruby 1.9 support and revises the user manual.</p>
|
1498
2169
|
|
1499
|
-
|
1500
|
-
<div class="paragraph" id="Bug-fixes">
|
1501
|
-
<
|
2170
|
+
|
2171
|
+
<div class="paragraph" id="Bug-fixes-73095470">
|
2172
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Bug-fixes-73095470"/><div class="nav"><a title="Here" href="#Bug-fixes-73095470"><img alt="[Here]" src="cid:70779618" class="icon"/></a> </div>
|
1502
2173
|
<p class="title">Bug fixes</p>
|
1503
2174
|
<div class="content"><ul>
|
1504
2175
|
<li>Nested templates could not access parent’s binding in Ruby 1.9</li>
|
1505
2176
|
</ul></div>
|
1506
2177
|
</div>
|
1507
|
-
<p></p>
|
1508
2178
|
|
1509
2179
|
|
1510
|
-
|
1511
|
-
|
2180
|
+
|
2181
|
+
<div class="paragraph" id="Housekeeping-73091466">
|
2182
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Housekeeping-73091466"/><div class="nav"><a title="Here" href="#Housekeeping-73091466"><img alt="[Here]" src="cid:70779618" class="icon"/></a> </div>
|
1512
2183
|
<p class="title">Housekeeping</p>
|
1513
2184
|
<div class="content"><ul>
|
1514
2185
|
<li>
|
@@ -1524,27 +2195,26 @@ _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="
|
|
1524
2195
|
</li>
|
1525
2196
|
</ul></div>
|
1526
2197
|
</div>
|
1527
|
-
</div><p></p></div>
|
1528
2198
|
</div>
|
1529
|
-
|
2199
|
+
</div>
|
2200
|
+
|
1530
2201
|
<div class="section" id="Version-0-0-0-2009-02-13">
|
1531
|
-
<a name="Version-0-0-0-2009-02-13"/><div class="nav"><a title="
|
1532
|
-
<
|
1533
|
-
|
1534
|
-
</
|
1535
|
-
<div class="content"
|
2202
|
+
<div style="display: none"><br/><hr/><br/></div><a name="Version-0-0-0-2009-02-13"/><div class="nav"><a title="Here" href="#Version-0-0-0-2009-02-13"><img alt="[Here]" src="cid:70779618" class="icon"/></a> <a title="Previous" href="#Version-0-0-1-2009-10-03"><img alt="[Previous]" src="cid:70770252" class="icon"/></a> <a title="Contents" href="#_contents-Version-0-0-0-2009-02-13"><img alt="[Contents]" src="cid:70765884" class="icon"/></a></div>
|
2203
|
+
<h1 class="title">
|
2204
|
+
<span class="section_number">5.3 </span>Version 0.0.0 (2009-02-13)
|
2205
|
+
</h1>
|
2206
|
+
<div class="content">This is the first public release of Ember. Enjoy!</div>
|
1536
2207
|
</div>
|
1537
|
-
</div
|
2208
|
+
</div></div>
|
1538
2209
|
</div>
|
1539
2210
|
|
1540
|
-
|
1541
2211
|
</div>
|
1542
2212
|
|
1543
2213
|
|
1544
2214
|
<div style="display: none"><br/><hr/><br/></div>
|
1545
2215
|
|
1546
|
-
<div id="
|
1547
|
-
<p>This document was generated by <a href="http://snk.tuxfamily.org/lib/erbook/">ERBook
|
2216
|
+
<div id="_about">
|
2217
|
+
<p>This document was generated by <a href="http://snk.tuxfamily.org/lib/erbook/">ERBook 9.2.1 (2009-11-18)</a> on <b>Sat Apr 3 14:23:08 2010</b> using the following resources.</p>
|
1548
2218
|
|
1549
2219
|
<table border="1">
|
1550
2220
|
<thead>
|
@@ -1557,17 +2227,18 @@ _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="
|
|
1557
2227
|
<tbody>
|
1558
2228
|
<tr>
|
1559
2229
|
<td>
|
1560
|
-
<img alt="here_frag" src="
|
1561
|
-
<img alt="
|
1562
|
-
<img alt="
|
1563
|
-
<img alt="
|
1564
|
-
<img alt="
|
1565
|
-
<img alt="
|
1566
|
-
<img alt="
|
1567
|
-
<img alt="
|
1568
|
-
<img alt="
|
1569
|
-
<img alt="
|
1570
|
-
<img alt="
|
2230
|
+
<img alt="here_frag" src="cid:70887404" class="icon"/>
|
2231
|
+
<img alt="command" src="cid:70886662" class="icon"/>
|
2232
|
+
<img alt="important" src="cid:70883008" class="icon"/>
|
2233
|
+
<img alt="warning" src="cid:70880446" class="icon"/>
|
2234
|
+
<img alt="caution" src="cid:70879788" class="icon"/>
|
2235
|
+
<img alt="note" src="cid:70879312" class="icon"/>
|
2236
|
+
<img alt="tip" src="cid:70878724" class="icon"/>
|
2237
|
+
<img alt="quote" src="cid:70877506" class="icon"/>
|
2238
|
+
<img alt="nav_here" src="cid:70779618" class="icon"/>
|
2239
|
+
<img alt="nav_prev" src="cid:70770252" class="icon"/>
|
2240
|
+
<img alt="nav_next" src="cid:70769230" class="icon"/>
|
2241
|
+
<img alt="nav_list" src="cid:70765884" class="icon"/>
|
1571
2242
|
</td>
|
1572
2243
|
<td>
|
1573
2244
|
<a href="http://tango.freedesktop.org/Tango_Icon_Library">Tango Icon Theme</a>
|
@@ -1581,7 +2252,7 @@ _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="
|
|
1581
2252
|
|
1582
2253
|
<tr>
|
1583
2254
|
<td>
|
1584
|
-
<img alt="hyperlink" src="
|
2255
|
+
<img alt="hyperlink" src="cid:70892528" class="icon"/>
|
1585
2256
|
</td>
|
1586
2257
|
<td>
|
1587
2258
|
<a href="http://www.mediawiki.org/skins-1.5/monobook/external.png">MediaWiki Monobook Skin</a>
|
@@ -1597,12 +2268,12 @@ _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="
|
|
1597
2268
|
|
1598
2269
|
<p class="validations">
|
1599
2270
|
<a href="http://validator.w3.org/check?uri=referer"><img
|
1600
|
-
src="
|
1601
|
-
alt="Valid XHTML 1.0
|
2271
|
+
src="cid:70755888"
|
2272
|
+
alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a>
|
1602
2273
|
|
1603
2274
|
<a href="http://jigsaw.w3.org/css-validator/check/referer?profile=css3"><img
|
1604
|
-
src="
|
1605
|
-
alt="Valid CSS!" height="31" width="88" /></a>
|
2275
|
+
src="cid:70754474"
|
2276
|
+
alt="Valid CSS 3!" height="31" width="88" /></a>
|
1606
2277
|
</p>
|
1607
2278
|
</div>
|
1608
2279
|
</div>
|
@@ -1610,7 +2281,7 @@ _erbout << <span style="background-color:#fff0f0;color:#D20"><span style="
|
|
1610
2281
|
|
1611
2282
|
|
1612
2283
|
|
1613
|
-
<div id="
|
2284
|
+
<div id="_footer">
|
1614
2285
|
|
1615
2286
|
|
1616
2287
|
|