zuk-picnic 0.8.0.20090318 → 0.8.0.20090427

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. data/Manifest.txt +26 -27
  2. data/lib/picnic/cli.rb +2 -0
  3. data/lib/picnic/conf.rb +21 -5
  4. data/lib/picnic.rb +1 -1
  5. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/CHANGELOG +0 -0
  6. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/COPYING +0 -0
  7. data/vendor/camping-2.0.20090421/README +82 -0
  8. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/Rakefile +9 -3
  9. data/vendor/camping-2.0.20090421/bin/camping +97 -0
  10. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/doc/camping.1.gz +0 -0
  11. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/examples/README +0 -0
  12. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/examples/blog.rb +0 -0
  13. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/examples/campsh.rb +0 -0
  14. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/examples/tepee.rb +0 -0
  15. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/extras/Camping.gif +0 -0
  16. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/extras/permalink.gif +0 -0
  17. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/lib/camping/ar/session.rb +0 -0
  18. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/lib/camping/ar.rb +0 -0
  19. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/lib/camping/mab.rb +0 -0
  20. data/vendor/camping-2.0.20090421/lib/camping/reloader.rb +184 -0
  21. data/vendor/camping-2.0.20090421/lib/camping/server.rb +159 -0
  22. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/lib/camping/session.rb +1 -0
  23. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/lib/camping-unabridged.rb +53 -61
  24. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/lib/camping.rb +23 -25
  25. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/setup.rb +0 -0
  26. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/test/apps/env_debug.rb +0 -0
  27. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/test/apps/forms.rb +0 -0
  28. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/test/apps/misc.rb +0 -0
  29. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/test/apps/sessions.rb +0 -0
  30. data/vendor/{camping-2.0.20090212 → camping-2.0.20090421}/test/test_camping.rb +0 -0
  31. metadata +28 -29
  32. data/vendor/camping-2.0.20090212/README +0 -119
  33. data/vendor/camping-2.0.20090212/bin/camping +0 -99
  34. data/vendor/camping-2.0.20090212/extras/flipbook_rdoc.rb +0 -491
  35. data/vendor/camping-2.0.20090212/lib/camping/reloader.rb +0 -163
  36. data/vendor/camping-2.0.20090212/lib/camping/server.rb +0 -158
@@ -1,119 +0,0 @@
1
- == Camping, a Microframework
2
-
3
- Camping is a web framework which consistently stays at less than 4kb of code.
4
- You can probably view the complete source code on a single page. But, you know,
5
- it's so small that, if you think about it, what can it really do?
6
-
7
- The idea here is to store a complete fledgling web application in a single file
8
- like many small CGIs. But to organize it as a Model-View-Controller application
9
- like Rails does. You can then easily move it to Rails once you've got it going.
10
-
11
- == A Camping Skeleton
12
-
13
- A skeletal Camping blog could look like this:
14
-
15
- require 'camping'
16
-
17
- Camping.goes :Blog
18
-
19
- module Blog::Models
20
- class Post < Base; belongs_to :user; end
21
- class Comment < Base; belongs_to :user; end
22
- class User < Base; end
23
- end
24
-
25
- module Blog::Controllers
26
- class Index < R '/'
27
- def get
28
- @posts = Post.find :all
29
- render :index
30
- end
31
- end
32
- end
33
-
34
- module Blog::Views
35
- def layout
36
- html do
37
- body do
38
- self << yield
39
- end
40
- end
41
- end
42
-
43
- def index
44
- for post in @posts
45
- h1 post.title
46
- end
47
- end
48
- end
49
-
50
- Some things you might have noticed:
51
-
52
- * Camping::Models uses ActiveRecord to do its work. We love ActiveRecord!
53
- * Camping::Controllers can be assigned URLs in the class definition. Neat?
54
- * Camping::Views describes HTML using pure Ruby. Markup as Ruby, which we
55
- call Markaby.
56
- * You use Camping::goes to make a copy of the Camping framework under your
57
- own module name (in this case: <tt>Blog</tt>.)
58
-
59
- <b>NOTE:</b> Camping auto-prefixes table names. If your class is named
60
- <tt>Blog::Models::Post</tt>, your table will be called <b>blog_posts</b>.
61
- Since many Camping apps can be attached to a database at once, this helps
62
- prevent name clash.
63
-
64
- (If you want to see the full blog example, check out <tt>examples/blog/blog.rb</tt>
65
- for the complete code.)
66
-
67
- If you want to write larger applications with Camping, you are encouraged to
68
- split the application into distinct parts which can be mounted at URLs on your
69
- web server. You might have a blog at /blog and a wiki at /wiki. Each
70
- self-contained. But you can certainly share layouts and models by storing them
71
- in plain Ruby scripts.
72
-
73
- Interested yet? Okay, okay, one step at a time.
74
-
75
- == Installation
76
-
77
- * <tt>gem install camping</tt>
78
-
79
- Or for the bleeding edge:
80
-
81
- * <tt>gem install camping --source http://code.whytheluckystiff.net</tt>
82
-
83
- You are encourage to install Camping and SQLite3, since it is a small database
84
- which fits perfectly with our compact bylaws, works well with the examples.
85
-
86
- * See http://code.whytheluckystiff.net/camping/wiki/BeAlertWhenOnSqlite3 for instructions.
87
-
88
- == Running Camping Apps
89
-
90
- The blog example above and most Camping applications look a lot like CGI scripts.
91
- If you run them from the commandline, you'll probably just see a pile of HTML.
92
-
93
- Camping comes with an tool for launching apps from the commandline:
94
-
95
- * Run: <tt>camping blog.rb</tt>
96
- * Visit http://localhost:3301/ to use the app.
97
-
98
- == How the Camping Tool Works
99
-
100
- If your application isn't working with the <tt>camping</tt> tool, keep in mind
101
- that the tool expects the following conventions to be used:
102
-
103
- 1. You must have SQLite3 and SQLite3-ruby installed. (Once again, please see
104
- http://code.whytheluckystiff.net/camping/wiki/BeAlertWhenOnSqlite3 for instructions.)
105
- 2. If your script is called <tt>test.rb</tt>, Camping expects your application to
106
- be stored in a module called <tt>Test</tt>. Case is not imporant, though. The
107
- module can be called <tt>TeSt</tt> or any other permutation.
108
- 3. Your script's postamble (anything enclosed in <tt>if __FILE__ == $0</tt>) will be
109
- ignored by the tool, since the tool will create an SQLite3 database at
110
- <tt>~/.camping.db</tt>. Or, on Windows, <tt>$USER/Application Data/Camping.db</tt>.
111
- 4. If your application's module has a <tt>create</tt> method, it will be executed before
112
- the web server starts up.
113
-
114
- == The Rules of Thumb
115
-
116
- Once you've started writing your own Camping app, I'd highly recommend that you become familiar
117
- with the Camping Rules of Thumb which are listed on the wiki:
118
- http://code.whytheluckystiff.net/camping/wiki/CampingRulesOfThumb
119
-
@@ -1,99 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- trap("INT") { exit }
4
- require 'optparse'
5
- require 'ostruct'
6
- require 'stringio'
7
- require 'yaml'
8
-
9
- $:.unshift File.dirname(__FILE__) + "/../lib"
10
- require 'camping'
11
- require 'camping/server'
12
-
13
- conf = OpenStruct.new(:host => '0.0.0.0', :port => 3301)
14
-
15
- # Setup paths
16
- if home = ENV['HOME'] # POSIX
17
- db_path = File.join(home, '.camping.db')
18
- rc_path = File.join(home, '.campingrc')
19
- elsif home = ENV['APPDATA'] # MSWIN
20
- db_path = File.join(home, 'Camping.db')
21
- rc_path = File.join(home, 'Campingrc')
22
- end
23
-
24
- # Parse options
25
- opts = OptionParser.new do |opts|
26
- opts.banner = "Usage: camping app1.rb, app2.rb..."
27
- opts.define_head "#{File.basename($0)}, the microframework ON-button for ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
28
- opts.separator ""
29
- opts.separator "Specific options:"
30
-
31
- opts.on("-h", "--host HOSTNAME", "Host for web server to bind to (default is all IPs)") { |conf.host| }
32
- opts.on("-p", "--port NUM", "Port for web server (defaults to #{conf.port})") { |conf.port| }
33
- opts.on("-d", "--database FILE", "SQLite3 database path (defaults to #{db_path ? db_path : '<none>'})") { |db_path| conf.database = {:adapter => 'sqlite3', :database => db_path} }
34
- opts.on("-l", "--log FILE", "Start a database log ('-' for STDOUT)") { |conf.log| }
35
- opts.on("-C", "--console", "Run in console mode with IRB") { conf.server = "console" }
36
- server_list = ["mongrel", "webrick", "console"]
37
- opts.on("-s", "--server NAME", server_list, "Server to force (#{server_list.join(', ')})") { |conf.server| }
38
-
39
- opts.separator ""
40
- opts.separator "Common options:"
41
-
42
- # No argument, shows at tail. This will print an options summary.
43
- # Try it and see!
44
- opts.on_tail("-?", "--help", "Show this message") do
45
- puts opts
46
- exit
47
- end
48
-
49
- # Another typical switch to print the version.
50
- opts.on_tail("-v", "--version", "Show version") do
51
- class << Gem; attr_accessor :loaded_specs; end
52
- puts Gem.loaded_specs['camping'].version
53
- exit
54
- end
55
- end
56
-
57
- begin
58
- opts.parse! ARGV
59
- rescue OptionParser::ParseError => ex
60
- STDERR.puts "!! #{ex.message}"
61
- puts "** use `#{File.basename($0)} --help` for more details..."
62
- exit 1
63
- end
64
-
65
- if ARGV.length < 1
66
- puts opts
67
- exit 1
68
- end
69
-
70
- # Load configuration if any
71
- if rc_path and File.exists?( rc_path )
72
- YAML.load_file(rc_path).each do |k,v|
73
- conf.send("#{k}=", v) unless conf.send(k)
74
- end
75
- puts "** conf file #{rc_path} loaded"
76
- end
77
-
78
- # Default db
79
- if conf.database.nil? and db_path
80
- conf.database = {:adapter => 'sqlite3', :database => db_path} if db_path
81
- end
82
-
83
-
84
- # get a copy of the paths to pass to the server
85
- paths = ARGV.dup
86
-
87
- # Check that mongrel exists
88
- if conf.server.nil? || conf.server == "mongrel"
89
- begin
90
- require 'mongrel'
91
- conf.server = "mongrel"
92
- rescue LoadError
93
- puts "!! could not load mongrel. Falling back to webrick."
94
- conf.server = "webrick"
95
- end
96
- end
97
-
98
- server = Camping::Server::Base.new(conf, paths)
99
- server.start
@@ -1,491 +0,0 @@
1
- CAMPING_EXTRAS_DIR = File.expand_path(File.dirname(__FILE__))
2
-
3
- module Generators
4
- class HTMLGenerator
5
- def generate_html
6
- @files_and_classes = {
7
- 'allfiles' => gen_into_index(@files),
8
- 'allclasses' => gen_into_index(@classes),
9
- "initial_page" => main_url,
10
- 'realtitle' => CGI.escapeHTML(@options.title),
11
- 'charset' => @options.charset
12
- }
13
-
14
- # the individual descriptions for files and classes
15
- gen_into(@files)
16
- gen_into(@classes)
17
- gen_main_index
18
-
19
- # this method is defined in the template file
20
- write_extra_pages if defined? write_extra_pages
21
- end
22
-
23
- def gen_into(list)
24
- hsh = @files_and_classes.dup
25
- list.each do |item|
26
- if item.document_self
27
- op_file = item.path
28
- hsh['root'] = item.path.split("/").map { ".." }[1..-1].join("/")
29
- item.instance_variable_set("@values", hsh)
30
- File.makedirs(File.dirname(op_file))
31
- File.open(op_file, "w") { |file| item.write_on(file) }
32
- end
33
- end
34
- end
35
-
36
- def gen_into_index(list)
37
- res = []
38
- list.each do |item|
39
- hsh = item.value_hash
40
- hsh['href'] = item.path
41
- hsh['name'] = item.index_name
42
- res << hsh
43
- end
44
- res
45
- end
46
-
47
- def gen_main_index
48
- template = TemplatePage.new(RDoc::Page::INDEX)
49
- File.open("index.html", "w") do |f|
50
- values = @files_and_classes.dup
51
- if @options.inline_source
52
- values['inline_source'] = true
53
- end
54
- template.write_html_on(f, values)
55
- end
56
- ['Camping.gif', 'permalink.gif'].each do |img|
57
- ipath = File.join(CAMPING_EXTRAS_DIR, img)
58
- File.copy(ipath, img)
59
- end
60
- end
61
- end
62
- end
63
-
64
-
65
- module RDoc
66
- module Page
67
- ######################################################################
68
- #
69
- # The following is used for the -1 option
70
- #
71
-
72
- FONTS = "verdana,arial,'Bitstream Vera Sans',helvetica,sans-serif"
73
-
74
- STYLE = %{
75
- body, th, td {
76
- font: normal 14px verdana,arial,'Bitstream Vera Sans',helvetica,sans-serif;
77
- line-height: 160%;
78
- padding: 0; margin: 0;
79
- margin-bottom: 30px;
80
- /* background-color: #402; */
81
- background-color: #694;
82
- }
83
- h1, h2, h3, h4 {
84
- font-family: Utopia, Georgia, serif;
85
- font-weight: bold;
86
- letter-spacing: -0.018em;
87
- }
88
- h1 { font-size: 24px; margin: .15em 1em 0 0 }
89
- h2 { font-size: 24px }
90
- h3 { font-size: 19px }
91
- h4 { font-size: 17px; font-weight: normal; }
92
- h4.ruled { border-bottom: solid 1px #CC9; }
93
- h2.ruled { padding-top: 35px; border-top: solid 1px #AA5; }
94
-
95
- /* Link styles */
96
- :link, :visited {
97
- color: #00b;
98
- }
99
- :link:hover, :visited:hover {
100
- background-color: #eee;
101
- color: #B22;
102
- }
103
- #fullpage {
104
- width: 720px;
105
- margin: 0 auto;
106
- }
107
- .page_shade, .page {
108
- padding: 0px 5px 5px 0px;
109
- background-color: #fcfcf9;
110
- border: solid 1px #983;
111
- }
112
- .page {
113
- margin-left: -5px;
114
- margin-top: -5px;
115
- padding: 20px 35px;
116
- }
117
- .page .header {
118
- float: right;
119
- color: #777;
120
- font-size: 10px;
121
- }
122
- .page h1, .page h2, .page h3 {
123
- clear: both;
124
- text-align: center;
125
- }
126
- #pager {
127
- padding: 10px 4px;
128
- color: white;
129
- font-size: 11px;
130
- }
131
- #pager :link, #pager :visited {
132
- color: #bfb;
133
- padding: 0px 5px;
134
- }
135
- #pager :link:hover, #pager :visited:hover {
136
- background-color: #262;
137
- color: white;
138
- }
139
- #logo { float: left; }
140
- #menu { background-color: #dfa; padding: 4px 12px; margin: 0; }
141
- #menu h3 { padding: 0; margin: 0; }
142
- #menu #links { float: right; }
143
- pre { font-weight: bold; color: #730; }
144
- tt { color: #703; font-size: 12pt; }
145
- .dyn-source { background-color: #775915; padding: 4px 8px; margin: 0; display: none; }
146
- .dyn-source pre { color: #DDDDDD; font-size: 8pt; }
147
- .source-link { text-align: right; font-size: 8pt; }
148
- .ruby-comment { color: green; font-style: italic }
149
- .ruby-constant { color: #CCDDFF; font-weight: bold; }
150
- .ruby-identifier { color: #CCCCCC; }
151
- .ruby-ivar { color: #BBCCFF; }
152
- .ruby-keyword { color: #EEEEFF; font-weight: bold }
153
- .ruby-node { color: #FFFFFF; }
154
- .ruby-operator { color: #CCCCCC; }
155
- .ruby-regexp { color: #DDFFDD; }
156
- .ruby-value { color: #FFAAAA; font-style: italic }
157
- .kw { color: #DDDDFF; font-weight: bold }
158
- .cmt { color: #CCFFCC; font-style: italic }
159
- .str { color: #EECCCC; font-style: italic }
160
- .re { color: #EECCCC; }
161
- }
162
-
163
- CONTENTS_XML = %{
164
- IF:description
165
- %description%
166
- ENDIF:description
167
-
168
- IF:requires
169
- <h4>Requires:</h4>
170
- <ul>
171
- START:requires
172
- IF:aref
173
- <li><a href="%aref%">%name%</a></li>
174
- ENDIF:aref
175
- IFNOT:aref
176
- <li>%name%</li>
177
- ENDIF:aref
178
- END:requires
179
- </ul>
180
- ENDIF:requires
181
-
182
- IF:attributes
183
- <h4>Attributes</h4>
184
- <table>
185
- START:attributes
186
- <tr><td>%name%</td><td>%rw%</td><td>%a_desc%</td></tr>
187
- END:attributes
188
- </table>
189
- ENDIF:attributes
190
-
191
- IF:includes
192
- <h4>Includes</h4>
193
- <ul>
194
- START:includes
195
- IF:aref
196
- <li><a href="%aref%">%name%</a></li>
197
- ENDIF:aref
198
- IFNOT:aref
199
- <li>%name%</li>
200
- ENDIF:aref
201
- END:includes
202
- </ul>
203
- ENDIF:includes
204
-
205
- START:sections
206
- IF:method_list
207
- <h2 class="ruled">Methods</h2>
208
- START:method_list
209
- IF:methods
210
- START:methods
211
- <h4 class="ruled">%type% %category% method:
212
- IF:callseq
213
- <strong><a name="%aref%">%callseq%</a></strong> <a href="#%aref%"><img src="%root%/permalink.gif" border="0" title="Permalink to %callseq%" /></a>
214
- ENDIF:callseq
215
- IFNOT:callseq
216
- <strong><a name="%aref%">%name%%params%</a></strong> <a href="#%aref%"><img src="%root%/permalink.gif" border="0" title="Permalink to %type% %category% method: %name%" /></a></h4>
217
- ENDIF:callseq
218
-
219
- IF:m_desc
220
- %m_desc%
221
- ENDIF:m_desc
222
-
223
- IF:sourcecode
224
- <div class="sourcecode">
225
- <p class="source-link">[ <a href="javascript:toggleSource('%aref%_source')" id="l_%aref%_source">show source</a> ]</p>
226
- <div id="%aref%_source" class="dyn-source">
227
- <pre>
228
- %sourcecode%
229
- </pre>
230
- </div>
231
- </div>
232
- ENDIF:sourcecode
233
- END:methods
234
- ENDIF:methods
235
- END:method_list
236
- ENDIF:method_list
237
- END:sections
238
- }
239
-
240
- ############################################################################
241
-
242
-
243
- BODY = %{
244
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
245
- <html>
246
- <head>
247
- <title>
248
- IF:title
249
- %realtitle% &raquo; %title%
250
- ENDIF:title
251
- IFNOT:title
252
- %realtitle%
253
- ENDIF:title
254
- </title>
255
- <meta http-equiv="Content-Type" content="text/html; charset=%charset%" />
256
- <link rel="stylesheet" href="%style_url%" type="text/css" media="screen" />
257
- <script language="JavaScript" type="text/javascript">
258
- // <![CDATA[
259
-
260
- function toggleSource( id )
261
- {
262
- var elem
263
- var link
264
-
265
- if( document.getElementById )
266
- {
267
- elem = document.getElementById( id )
268
- link = document.getElementById( "l_" + id )
269
- }
270
- else if ( document.all )
271
- {
272
- elem = eval( "document.all." + id )
273
- link = eval( "document.all.l_" + id )
274
- }
275
- else
276
- return false;
277
-
278
- if( elem.style.display == "block" )
279
- {
280
- elem.style.display = "none"
281
- link.innerHTML = "show source"
282
- }
283
- else
284
- {
285
- elem.style.display = "block"
286
- link.innerHTML = "hide source"
287
- }
288
- }
289
-
290
- function openCode( url )
291
- {
292
- window.open( url, "SOURCE_CODE", "width=400,height=400,scrollbars=yes" )
293
- }
294
- // ]]>
295
- </script>
296
- </head>
297
- <body>
298
- <div id="menu">
299
- <div id="links">
300
- <a href="http://redhanded.hobix.com/bits/campingAMicroframework.html">backstory</a> |
301
- <a href="http://code.whytheluckystiff.net/camping/">wiki</a> |
302
- <a href="http://code.whytheluckystiff.net/camping/newticket">bugs</a> |
303
- <a href="http://code.whytheluckystiff.net/svn/camping/">svn</a>
304
- </div>
305
- <h3 class="title">%title%</h3>
306
- </div>
307
- <div id="fullpage">
308
- <div id="logo"><img src="%root%/Camping.gif" /></div>
309
- <div id="pager">
310
- <strong>Files:</strong>
311
- START:allfiles
312
- <a href="%root%/%href%" value="%title%">%name%</a>
313
- END:allfiles
314
- IF:allclasses
315
- |
316
- <strong>classes:</strong>
317
- START:allclasses
318
- <a href="%root%/%href%" title="%title%">%name%</a>
319
- END:allclasses
320
- ENDIF:allclasses
321
- </ul>
322
- </div>
323
-
324
- !INCLUDE!
325
-
326
- </div>
327
- </body>
328
- </html>
329
- }
330
-
331
- ###############################################################################
332
-
333
- FILE_PAGE = <<_FILE_PAGE_
334
- <div id="%full_path%" class="page_shade">
335
- <div class="page">
336
- <div class="header">
337
- <div class="path">%full_path% / %dtm_modified%</div>
338
- </div>
339
- #{CONTENTS_XML}
340
- </div>
341
- </div>
342
- _FILE_PAGE_
343
-
344
- ###################################################################
345
-
346
- CLASS_PAGE = %{
347
- <div id="%full_name%" class="page_shade">
348
- <div class="page">
349
- IF:parent
350
- <h3>%classmod% %full_name% &lt; HREF:par_url:parent:</h3>
351
- ENDIF:parent
352
- IFNOT:parent
353
- <h3>%classmod% %full_name%</h3>
354
- ENDIF:parent
355
-
356
- IF:infiles
357
- (in files
358
- START:infiles
359
- HREF:full_path_url:full_path:
360
- END:infiles
361
- )
362
- ENDIF:infiles
363
- } + CONTENTS_XML + %{
364
- </div>
365
- </div>
366
- }
367
-
368
- ###################################################################
369
-
370
- METHOD_LIST = %{
371
- IF:includes
372
- <div class="tablesubsubtitle">Included modules</div><br>
373
- <div class="name-list">
374
- START:includes
375
- <span class="method-name">HREF:aref:name:</span>
376
- END:includes
377
- </div>
378
- ENDIF:includes
379
-
380
- IF:method_list
381
- START:method_list
382
- IF:methods
383
- <table cellpadding=5 width="100%">
384
- <tr><td class="tablesubtitle">%type% %category% methods</td></tr>
385
- </table>
386
- START:methods
387
- <table width="100%" cellspacing = 0 cellpadding=5 border=0>
388
- <tr><td class="methodtitle">
389
- <a name="%aref%">
390
- IF:callseq
391
- <b>%callseq%</b>
392
- ENDIF:callseq
393
- IFNOT:callseq
394
- <b>%name%</b>%params%
395
- ENDIF:callseq
396
- IF:codeurl
397
- <a href="%codeurl%" target="source" class="srclink">src</a>
398
- ENDIF:codeurl
399
- </a></td></tr>
400
- </table>
401
- IF:m_desc
402
- <div class="description">
403
- %m_desc%
404
- </div>
405
- ENDIF:m_desc
406
- IF:aka
407
- <div class="aka">
408
- This method is also aliased as
409
- START:aka
410
- <a href="%aref%">%name%</a>
411
- END:aka
412
- </div>
413
- ENDIF:aka
414
- IF:sourcecode
415
- <div class="sourcecode">
416
- <p class="source-link">[ <a href="javascript:toggleSource('%aref%_source')" id="l_%aref%_source">show source</a> ]</p>
417
- <div id="%aref%_source" class="dyn-source">
418
- <pre>
419
- %sourcecode%
420
- </pre>
421
- </div>
422
- </div>
423
- ENDIF:sourcecode
424
- END:methods
425
- ENDIF:methods
426
- END:method_list
427
- ENDIF:method_list
428
- }
429
-
430
-
431
- ########################## Index ################################
432
-
433
- FR_INDEX_BODY = %{
434
- !INCLUDE!
435
- }
436
-
437
- FILE_INDEX = %{
438
- <html>
439
- <head>
440
- <meta http-equiv="Content-Type" content="text/html; charset=%charset%">
441
- <style>
442
- <!--
443
- body {
444
- background-color: #ddddff;
445
- font-family: #{FONTS};
446
- font-size: 11px;
447
- font-style: normal;
448
- line-height: 14px;
449
- color: #000040;
450
- }
451
- div.banner {
452
- background: #0000aa;
453
- color: white;
454
- padding: 1;
455
- margin: 0;
456
- font-size: 90%;
457
- font-weight: bold;
458
- line-height: 1.1;
459
- text-align: center;
460
- width: 100%;
461
- }
462
-
463
- -->
464
- </style>
465
- <base target="docwin">
466
- </head>
467
- <body>
468
- <div class="banner">%list_title%</div>
469
- START:entries
470
- <a href="%href%">%name%</a><br>
471
- END:entries
472
- </body></html>
473
- }
474
-
475
- CLASS_INDEX = FILE_INDEX
476
- METHOD_INDEX = FILE_INDEX
477
-
478
- INDEX = %{
479
- <HTML>
480
- <HEAD>
481
- <META HTTP-EQUIV="refresh" content="0;URL=%initial_page%">
482
- <TITLE>%realtitle%</TITLE>
483
- </HEAD>
484
- <BODY>
485
- Click <a href="%initial_page%">here</a> to open the Camping docs.
486
- </BODY>
487
- </HTML>
488
- }
489
-
490
- end
491
- end