notch8_sunspot_autocomplete 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. data/LICENSE +7 -0
  2. data/README.rdoc +95 -0
  3. data/Rakefile +37 -0
  4. data/VERSION +1 -0
  5. data/lib/autocomplete_view_helpers.rb +126 -0
  6. data/lib/notch8_sunspot_autocomplete.rb +3 -0
  7. data/lib/sunspot_autocomplete.rb +38 -0
  8. data/notch8_sunspot_autocomplete.gemspec +78 -0
  9. data/rdoc/classes/AutocompleteViewHelpers.html +322 -0
  10. data/rdoc/classes/Sunspot.html +111 -0
  11. data/rdoc/classes/Sunspot/Type.html +112 -0
  12. data/rdoc/classes/Sunspot/Type/AutocompleteType.html +117 -0
  13. data/rdoc/classes/Sunspot/Type/AutosuggestType.html +117 -0
  14. data/rdoc/created.rid +1 -0
  15. data/rdoc/files/README.html +238 -0
  16. data/rdoc/files/README_rdoc.html +238 -0
  17. data/rdoc/files/lib/autocomplete_view_helpers_rb.html +236 -0
  18. data/rdoc/files/lib/sunspot_autocomplete_rb.html +101 -0
  19. data/rdoc/fr_class_index.html +31 -0
  20. data/rdoc/fr_file_index.html +29 -0
  21. data/rdoc/fr_method_index.html +28 -0
  22. data/rdoc/index.html +24 -0
  23. data/rdoc/rdoc-style.css +208 -0
  24. data/tasks/tasks.rake +10 -0
  25. data/test/sunspot_autocomplete_test.rb +21 -0
  26. data/test/test_helper.rb +3 -0
  27. data/vendor/assets/javascripts/jquery.js +6240 -0
  28. data/vendor/assets/javascripts/solr-autocomplete/ajax-solr/core/AbstractManager.js +182 -0
  29. data/vendor/assets/javascripts/solr-autocomplete/ajax-solr/core/Core.js +226 -0
  30. data/vendor/assets/javascripts/solr-autocomplete/ajax-solr/core/Parameter.js +161 -0
  31. data/vendor/assets/javascripts/solr-autocomplete/ajax-solr/core/ParameterStore.js +354 -0
  32. data/vendor/assets/javascripts/solr-autocomplete/ajax-solr/managers/Manager.jquery.js +20 -0
  33. data/vendor/assets/javascripts/solr-autocomplete/jquery-autocomplete/indicator.gif +0 -0
  34. data/vendor/assets/javascripts/solr-autocomplete/jquery-autocomplete/jquery.autocomplete.css +49 -0
  35. data/vendor/assets/javascripts/solr-autocomplete/jquery-autocomplete/jquery.autocomplete.js +867 -0
  36. metadata +114 -0
data/rdoc/created.rid ADDED
@@ -0,0 +1 @@
1
+ Sun, 28 Mar 2010 16:22:50 +0200
@@ -0,0 +1,238 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: README</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>README</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>README
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Sun Mar 28 13:19:14 +0200 2010</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+
71
+ <div id="description">
72
+ <h1><a href="../classes/Sunspot.html">Sunspot</a> Autocomplete</h1>
73
+ <p>
74
+ <a href="../classes/Sunspot.html">Sunspot</a> Autocomplete is a Rails
75
+ plugin that lets you use Solr and <a
76
+ href="../classes/Sunspot.html">Sunspot</a> for handy autocompletion of your
77
+ html text inputs.
78
+ </p>
79
+ <h3>Features:</h3>
80
+ <ul>
81
+ <li>Autocomplete: Typing &quot;clo&quot; will yield results that start with
82
+ &quot;clo&quot;, like &quot;cloudy with a chance of meatballs&quot;.
83
+
84
+ </li>
85
+ <li>Autosuggest: Typing &quot;clo&quot; will yield results that contain (or
86
+ start with) &quot;clo&quot;, like &quot;cloudy with a chance of
87
+ meatballs&quot; and &quot;Jumping like Clowns&quot;.
88
+
89
+ </li>
90
+ <li>Both features are case insenitive.
91
+
92
+ </li>
93
+ <li>A CSS based view. You can override some style rules to force your look and
94
+ feel.
95
+
96
+ </li>
97
+ </ul>
98
+ <h2>Prerequisites</h2>
99
+ <p>
100
+ You should have solr, sunspot and sunspot_rails ON and running.
101
+ </p>
102
+ <p>
103
+ <a
104
+ href="http://outoftime.github.com/sunspot">outoftime.github.com/sunspot</a>
105
+ </p>
106
+ <h2>Installation</h2>
107
+ <p>
108
+ Download the plugin and place it under vendor/plugins.
109
+ </p>
110
+ <p>
111
+ Run the following rake task to copy the plugin&#8216;s assets to your
112
+ public directory. This will copy jquery.js and solr-autocompleter to your
113
+ public/javascripts.
114
+ </p>
115
+ <pre>
116
+ rake sunspot_autocomplete:copy_assets
117
+ </pre>
118
+ <h2>Usage</h2>
119
+ <p>
120
+ In your solr schema.xml, add the following field types inside the
121
+ &lt;types&gt; tag:
122
+ </p>
123
+ <pre>
124
+ &lt;fieldType name=&quot;autocomplete&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;&gt;
125
+ &lt;analyzer type=&quot;index&quot;&gt;
126
+ &lt;tokenizer class=&quot;solr.KeywordTokenizerFactory&quot;/&gt;
127
+ &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
128
+ &lt;filter class=&quot;solr.EdgeNGramFilterFactory&quot; minGramSize=&quot;1&quot; maxGramSize=&quot;25&quot; /&gt;
129
+ &lt;/analyzer&gt;
130
+ &lt;analyzer type=&quot;query&quot;&gt;
131
+ &lt;tokenizer class=&quot;solr.KeywordTokenizerFactory&quot;/&gt;
132
+ &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
133
+ &lt;/analyzer&gt;
134
+ &lt;/fieldType&gt;
135
+ &lt;fieldType name=&quot;autosuggest&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;&gt;
136
+ &lt;analyzer type=&quot;index&quot;&gt;
137
+ &lt;tokenizer class=&quot;solr.LetterTokenizerFactory&quot;/&gt;
138
+ &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
139
+ &lt;filter class=&quot;solr.EdgeNGramFilterFactory&quot; minGramSize=&quot;1&quot; maxGramSize=&quot;25&quot; /&gt;
140
+ &lt;/analyzer&gt;
141
+ &lt;analyzer type=&quot;query&quot;&gt;
142
+ &lt;tokenizer class=&quot;solr.LetterTokenizerFactory&quot;/&gt;
143
+ &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
144
+ &lt;/analyzer&gt;
145
+ &lt;/fieldType&gt;
146
+ </pre>
147
+ <p>
148
+ Also in your solr schema.xml, add the following fields inside thw
149
+ &lt;fields&gt; tag.
150
+ </p>
151
+ <pre>
152
+ &lt;dynamicField name=&quot;*_ac&quot; type=&quot;autocomplete&quot; indexed=&quot;true&quot; stored=&quot;true&quot;/&gt;
153
+ &lt;dynamicField name=&quot;*_as&quot; type=&quot;autosuggest&quot; indexed=&quot;true&quot; stored=&quot;true&quot;/&gt;
154
+ </pre>
155
+ <p>
156
+ To be able to autocomplete/autosuggest a model&#8216;s attribute, call
157
+ &#8216;autocomplete&#8217;/&#8217;autosuggest&#8217; on it in its
158
+ &#8216;searchable&#8217; block. the field_name used (post_title and
159
+ post_author in the following example) must be unique across all your
160
+ autocomplete fields of the application.
161
+ </p>
162
+ <pre>
163
+ class Post &lt; ActiveRecord::Base
164
+ searchable do
165
+ autocomplete :post_title, :using =&gt; :title
166
+ autosuggest :post_author, :using =&gt; :author
167
+ end
168
+ end
169
+ </pre>
170
+ <p>
171
+ In your view, Add the following script tags (in the given order) to be able
172
+ to use the view helpers.
173
+ </p>
174
+ <pre>
175
+ &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/jquery.js&quot;&gt;&lt;/script&gt;
176
+ &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/solr-autocomplete/ajax-solr/core/Core.js&quot;&gt;&lt;/script&gt;
177
+ &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/solr-autocomplete/ajax-solr/core/AbstractManager.js&quot;&gt;&lt;/script&gt;
178
+ &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/solr-autocomplete/ajax-solr/managers/Manager.jquery.js&quot;&gt;&lt;/script&gt;
179
+ &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/solr-autocomplete/ajax-solr/core/Parameter.js&quot;&gt;&lt;/script&gt;
180
+ &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/solr-autocomplete/ajax-solr/core/ParameterStore.js&quot;&gt;&lt;/script&gt;
181
+ &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/solr-autocomplete/jquery-autocomplete/jquery.autocomplete.js&quot;&gt;&lt;/script&gt;
182
+ </pre>
183
+ <p>
184
+ Also, add the following stylesheet to use the basic style included.
185
+ Alternatively, you can override those style rules to force your
186
+ design&#8216;s look and feel.
187
+ </p>
188
+ <pre>
189
+ &lt;link type=&quot;text/css&quot; rel=&quot;stylesheet&quot; href=&quot;/javascripts/solr-autocomplete/jquery-autocomplete/jquery.autocomplete.css&quot; /&gt;
190
+ </pre>
191
+ <p>
192
+ In your view, to create a text field with autocomplete:
193
+ </p>
194
+ <pre>
195
+ &lt;%=autocomplete_text_field &quot;post&quot;, &quot;title&quot;, &quot;http://127.0.0.1:8983/solr/&quot;, &quot;post_title&quot;%&gt;
196
+ </pre>
197
+ <p>
198
+ And to create a text field with autosuggest:
199
+ </p>
200
+ <pre>
201
+ &lt;%=autosuggest_text_field &quot;post&quot;, &quot;author&quot;, &quot;http://127.0.0.1:8983/solr/&quot;, &quot;post_author&quot;%&gt;
202
+ </pre>
203
+ <p>
204
+ You can view documentation for more advanced features of the helpers.
205
+ </p>
206
+
207
+ </div>
208
+
209
+
210
+ </div>
211
+
212
+
213
+ </div>
214
+
215
+
216
+ <!-- if includes -->
217
+
218
+ <div id="section">
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+ <!-- if method_list -->
228
+
229
+
230
+ </div>
231
+
232
+
233
+ <div id="validator-badges">
234
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
235
+ </div>
236
+
237
+ </body>
238
+ </html>
@@ -0,0 +1,238 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: README.rdoc</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>README.rdoc</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>README.rdoc
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Sun Mar 28 16:22:45 +0200 2010</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+
71
+ <div id="description">
72
+ <h1><a href="../classes/Sunspot.html">Sunspot</a> Autocomplete</h1>
73
+ <p>
74
+ <a href="../classes/Sunspot.html">Sunspot</a> Autocomplete is a Rails
75
+ plugin that lets you use Solr and <a
76
+ href="../classes/Sunspot.html">Sunspot</a> for handy autocompletion of your
77
+ html text inputs.
78
+ </p>
79
+ <h3>Features:</h3>
80
+ <ul>
81
+ <li>Autocomplete: Typing &quot;clo&quot; will yield results that start with
82
+ &quot;clo&quot;, like &quot;cloudy with a chance of meatballs&quot;.
83
+
84
+ </li>
85
+ <li>Autosuggest: Typing &quot;clo&quot; will yield results that contain (or
86
+ start with) &quot;clo&quot;, like &quot;cloudy with a chance of
87
+ meatballs&quot; and &quot;Jumping like Clowns&quot;.
88
+
89
+ </li>
90
+ <li>Both features are case insenitive.
91
+
92
+ </li>
93
+ <li>A CSS based view. You can override some style rules to force your look and
94
+ feel.
95
+
96
+ </li>
97
+ </ul>
98
+ <h2>Prerequisites</h2>
99
+ <p>
100
+ You should have solr, sunspot and sunspot_rails ON and running.
101
+ </p>
102
+ <p>
103
+ <a
104
+ href="http://outoftime.github.com/sunspot">outoftime.github.com/sunspot</a>
105
+ </p>
106
+ <h2>Installation</h2>
107
+ <p>
108
+ Download the plugin and place it under vendor/plugins.
109
+ </p>
110
+ <p>
111
+ Run the following rake task to copy the plugin&#8216;s assets to your
112
+ public directory. This will copy jquery.js and solr-autocompleter to your
113
+ public/javascripts.
114
+ </p>
115
+ <pre>
116
+ rake sunspot_autocomplete:copy_assets
117
+ </pre>
118
+ <h2>Usage</h2>
119
+ <p>
120
+ In your solr schema.xml, in addition to field types added by sunspot, add
121
+ the following field types inside the &lt;types&gt; tag:
122
+ </p>
123
+ <pre>
124
+ &lt;fieldType name=&quot;autocomplete&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;&gt;
125
+ &lt;analyzer type=&quot;index&quot;&gt;
126
+ &lt;tokenizer class=&quot;solr.KeywordTokenizerFactory&quot;/&gt;
127
+ &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
128
+ &lt;filter class=&quot;solr.EdgeNGramFilterFactory&quot; minGramSize=&quot;1&quot; maxGramSize=&quot;25&quot; /&gt;
129
+ &lt;/analyzer&gt;
130
+ &lt;analyzer type=&quot;query&quot;&gt;
131
+ &lt;tokenizer class=&quot;solr.KeywordTokenizerFactory&quot;/&gt;
132
+ &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
133
+ &lt;/analyzer&gt;
134
+ &lt;/fieldType&gt;
135
+ &lt;fieldType name=&quot;autosuggest&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;&gt;
136
+ &lt;analyzer type=&quot;index&quot;&gt;
137
+ &lt;tokenizer class=&quot;solr.LetterTokenizerFactory&quot;/&gt;
138
+ &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
139
+ &lt;filter class=&quot;solr.EdgeNGramFilterFactory&quot; minGramSize=&quot;1&quot; maxGramSize=&quot;25&quot; /&gt;
140
+ &lt;/analyzer&gt;
141
+ &lt;analyzer type=&quot;query&quot;&gt;
142
+ &lt;tokenizer class=&quot;solr.LetterTokenizerFactory&quot;/&gt;
143
+ &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
144
+ &lt;/analyzer&gt;
145
+ &lt;/fieldType&gt;
146
+ </pre>
147
+ <p>
148
+ Also in your solr schema.xml, in addition to fields added by sunspot, add
149
+ the following fields inside thw &lt;fields&gt; tag.
150
+ </p>
151
+ <pre>
152
+ &lt;dynamicField name=&quot;*_ac&quot; type=&quot;autocomplete&quot; indexed=&quot;true&quot; stored=&quot;true&quot;/&gt;
153
+ &lt;dynamicField name=&quot;*_as&quot; type=&quot;autosuggest&quot; indexed=&quot;true&quot; stored=&quot;true&quot;/&gt;
154
+ </pre>
155
+ <p>
156
+ To be able to autocomplete/autosuggest a model&#8216;s attribute, call
157
+ &#8216;autocomplete&#8217;/&#8217;autosuggest&#8217; on it in its
158
+ &#8216;searchable&#8217; block. the field_name used (post_title and
159
+ post_author in the following example) must be unique across all your
160
+ autocomplete fields of the application.
161
+ </p>
162
+ <pre>
163
+ class Post &lt; ActiveRecord::Base
164
+ searchable do
165
+ autocomplete :post_title, :using =&gt; :title
166
+ autosuggest :post_author, :using =&gt; :author
167
+ end
168
+ end
169
+ </pre>
170
+ <p>
171
+ In your view, Add the following script tags (in the given order) to be able
172
+ to use the view helpers.
173
+ </p>
174
+ <pre>
175
+ &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/jquery.js&quot;&gt;&lt;/script&gt;
176
+ &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/solr-autocomplete/ajax-solr/core/Core.js&quot;&gt;&lt;/script&gt;
177
+ &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/solr-autocomplete/ajax-solr/core/AbstractManager.js&quot;&gt;&lt;/script&gt;
178
+ &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/solr-autocomplete/ajax-solr/managers/Manager.jquery.js&quot;&gt;&lt;/script&gt;
179
+ &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/solr-autocomplete/ajax-solr/core/Parameter.js&quot;&gt;&lt;/script&gt;
180
+ &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/solr-autocomplete/ajax-solr/core/ParameterStore.js&quot;&gt;&lt;/script&gt;
181
+ &lt;script type=&quot;text/javascript&quot; src=&quot;/javascripts/solr-autocomplete/jquery-autocomplete/jquery.autocomplete.js&quot;&gt;&lt;/script&gt;
182
+ </pre>
183
+ <p>
184
+ Also, add the following stylesheet to use the basic style included.
185
+ Alternatively, you can override those style rules to force your
186
+ design&#8216;s look and feel.
187
+ </p>
188
+ <pre>
189
+ &lt;link type=&quot;text/css&quot; rel=&quot;stylesheet&quot; href=&quot;/javascripts/solr-autocomplete/jquery-autocomplete/jquery.autocomplete.css&quot; /&gt;
190
+ </pre>
191
+ <p>
192
+ In your view, to create a text field with autocomplete:
193
+ </p>
194
+ <pre>
195
+ &lt;%=autocomplete_text_field &quot;post&quot;, &quot;title&quot;, &quot;http://127.0.0.1:8983/solr/&quot;, &quot;post_title&quot;%&gt;
196
+ </pre>
197
+ <p>
198
+ And to create a text field with autosuggest:
199
+ </p>
200
+ <pre>
201
+ &lt;%=autosuggest_text_field &quot;post&quot;, &quot;author&quot;, &quot;http://127.0.0.1:8983/solr/&quot;, &quot;post_author&quot;%&gt;
202
+ </pre>
203
+ <p>
204
+ You can view documentation for more advanced features of the helpers.
205
+ </p>
206
+
207
+ </div>
208
+
209
+
210
+ </div>
211
+
212
+
213
+ </div>
214
+
215
+
216
+ <!-- if includes -->
217
+
218
+ <div id="section">
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+ <!-- if method_list -->
228
+
229
+
230
+ </div>
231
+
232
+
233
+ <div id="validator-badges">
234
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
235
+ </div>
236
+
237
+ </body>
238
+ </html>