nitro 0.8.0 → 0.9.3
Sign up to get free protection for your applications and to get access to all the features.
- data/AUTHORS +3 -4
- data/ChangeLog +418 -0
- data/LICENSE +1 -1
- data/README +157 -89
- data/RELEASES +50 -0
- data/Rakefile +5 -7
- data/benchmark/nitro/bench.rb +5 -0
- data/benchmark/nitro/simple-webrick-n-200.txt +44 -0
- data/benchmark/nitro/static-webrick-n-200.txt +43 -0
- data/benchmark/nitro/tiny-lhttpd-n-200-c-5.txt +43 -0
- data/benchmark/nitro/tiny-webrick-n-200-c-5.txt +44 -0
- data/benchmark/nitro/tiny-webrick-n-200.txt +44 -0
- data/benchmark/nitro/tiny2-webrick-n-200.txt +44 -0
- data/{lib/nitro/server/cluster.rb → bin/cluster} +26 -30
- data/bin/proto/README +2 -2
- data/bin/proto/{apache.conf → conf/apache.conf} +0 -0
- data/bin/proto/conf/app.conf.rb +22 -0
- data/bin/proto/conf/lhttpd.conf +236 -0
- data/bin/proto/ctl +4 -0
- data/bin/proto/lib/README +5 -0
- data/bin/proto/log/README +3 -0
- data/bin/proto/root/fcgi.rb +6 -0
- data/bin/proto/root/index.xhtml +65 -7
- data/bin/proto/root/m/nitro.png +0 -0
- data/examples/blog/README +7 -5
- data/examples/blog/{apache.conf → conf/apache.conf} +0 -0
- data/examples/blog/conf/app.conf.rb +56 -0
- data/examples/blog/conf/lhttpd.conf +236 -0
- data/examples/blog/ctl +4 -0
- data/examples/blog/lib/blog.rb +11 -136
- data/examples/blog/lib/blog/controller.rb +99 -0
- data/examples/blog/lib/blog/model.rb +39 -0
- data/examples/blog/log/README +3 -0
- data/examples/blog/root/comments.xhtml +2 -2
- data/examples/blog/root/fcgi.rb +6 -0
- data/examples/blog/root/index.xhtml +4 -5
- data/examples/blog/root/login.xhtml +2 -2
- data/examples/blog/root/style.xsl +9 -9
- data/examples/blog/root/view_entry.xhtml +2 -2
- data/examples/flash/conf/app.conf.rb +23 -0
- data/examples/flash/ctl +4 -0
- data/examples/flash/log/README +3 -0
- data/examples/flash/root/index.xhtml +0 -9
- data/examples/flash/root/show_inline_text.xhtml +10 -5
- data/examples/no_xsl_blog/README +12 -0
- data/examples/no_xsl_blog/conf/apache.conf +0 -0
- data/examples/no_xsl_blog/conf/app.conf.rb +57 -0
- data/examples/no_xsl_blog/conf/lhttpd.conf +236 -0
- data/examples/no_xsl_blog/ctl +4 -0
- data/examples/no_xsl_blog/lib/blog.rb +20 -0
- data/examples/no_xsl_blog/lib/blog/controller.rb +102 -0
- data/examples/no_xsl_blog/lib/blog/model.rb +39 -0
- data/examples/no_xsl_blog/lib/blog/template.rb +134 -0
- data/examples/no_xsl_blog/log/README +3 -0
- data/examples/no_xsl_blog/root/comments.xhtml +41 -0
- data/examples/no_xsl_blog/root/entry_form.xhtml +22 -0
- data/examples/no_xsl_blog/root/fcgi.rb +6 -0
- data/examples/no_xsl_blog/root/index.xhtml +39 -0
- data/examples/no_xsl_blog/root/login.xhtml +21 -0
- data/examples/no_xsl_blog/root/m/bubbles.gif +0 -0
- data/examples/no_xsl_blog/root/m/comments_curve.gif +0 -0
- data/examples/no_xsl_blog/root/m/down.gif +0 -0
- data/examples/no_xsl_blog/root/m/footer_bg.gif +0 -0
- data/examples/no_xsl_blog/root/m/garrow.gif +0 -0
- data/examples/no_xsl_blog/root/m/gbull.gif +0 -0
- data/examples/no_xsl_blog/root/m/grbull.gif +0 -0
- data/examples/no_xsl_blog/root/m/h1_bg.gif +0 -0
- data/examples/no_xsl_blog/root/m/header_bg.gif +0 -0
- data/examples/no_xsl_blog/root/m/nitro.gif +0 -0
- data/examples/no_xsl_blog/root/m/obull.gif +0 -0
- data/examples/no_xsl_blog/root/m/page_bg.gif +0 -0
- data/examples/no_xsl_blog/root/m/rss.gif +0 -0
- data/examples/no_xsl_blog/root/m/side_title_bg.gif +0 -0
- data/examples/no_xsl_blog/root/m/sidebar_bg.gif +0 -0
- data/examples/no_xsl_blog/root/recent_posts.xhtml +14 -0
- data/examples/no_xsl_blog/root/style.css +301 -0
- data/examples/no_xsl_blog/root/view_entry.xhtml +25 -0
- data/examples/no_xsl_blog/root/view_entry.xml +12 -0
- data/examples/og/run.rb +2 -2
- data/examples/tiny/README +2 -2
- data/examples/tiny/conf/apache.conf +5 -0
- data/examples/tiny/conf/app.conf.rb +21 -0
- data/examples/tiny/conf/lhttpd.conf +236 -0
- data/examples/tiny/ctl +4 -0
- data/examples/tiny/log/README +3 -0
- data/examples/tiny/root/fcgi.rb +6 -0
- data/examples/tiny/root/index.xhtml +7 -4
- data/examples/tiny/root/nitro.png +0 -0
- data/lib/glue.rb +13 -9
- data/lib/glue/array.rb +1 -1
- data/lib/glue/cache.rb +1 -1
- data/lib/glue/flexob.rb +12 -0
- data/lib/glue/hash.rb +1 -1
- data/lib/glue/inflector.rb +2 -2
- data/lib/glue/logger.rb +4 -8
- data/lib/glue/misc.rb +14 -0
- data/lib/glue/number.rb +1 -1
- data/lib/glue/object.rb +26 -0
- data/lib/glue/pool.rb +1 -1
- data/lib/glue/property.rb +84 -91
- data/lib/glue/string.rb +1 -1
- data/lib/glue/time.rb +1 -1
- data/lib/glue/validation.rb +1 -1
- data/lib/nitro.rb +18 -6
- data/lib/nitro/adaptors/cgi.rb +291 -0
- data/lib/nitro/adaptors/fastcgi.rb +42 -0
- data/lib/nitro/adaptors/runner.rb +123 -0
- data/lib/nitro/adaptors/webrick.rb +110 -0
- data/lib/nitro/buffering.rb +43 -0
- data/lib/nitro/builders/form.rb +1 -1
- data/lib/nitro/builders/rss.rb +1 -1
- data/{bin → lib/nitro}/cluster.rb +26 -30
- data/lib/nitro/context.rb +82 -0
- data/lib/nitro/controller.rb +50 -0
- data/lib/nitro/cookie.rb +46 -0
- data/lib/nitro/dispatcher.rb +105 -0
- data/lib/nitro/filters.rb +9 -10
- data/lib/nitro/localization.rb +42 -0
- data/lib/nitro/mail.rb +11 -14
- data/lib/nitro/render.rb +275 -0
- data/lib/nitro/request.rb +128 -0
- data/lib/nitro/response.rb +38 -0
- data/lib/nitro/scaffold.rb +11 -11
- data/lib/nitro/session.rb +84 -0
- data/lib/nitro/{server/shaders.rb → shaders.rb} +56 -36
- data/lib/nitro/ui/pager.rb +23 -26
- data/lib/nitro/{sitemap.rb → ui/sitemap.rb} +4 -12
- data/lib/nitro/uri.rb +1 -1
- data/lib/nitro/version.rb +10 -8
- data/lib/og.rb +66 -65
- data/lib/og/backend.rb +1 -1
- data/lib/og/backends/mysql.rb +48 -52
- data/lib/og/backends/psql.rb +34 -37
- data/lib/og/connection.rb +15 -15
- data/lib/og/enchant.rb +16 -9
- data/lib/og/meta.rb +127 -54
- data/lib/og/mock.rb +18 -18
- data/lib/og/version.rb +6 -4
- data/lib/parts/content.rb +4 -8
- data/test/glue/tc_logger.rb +3 -0
- data/test/glue/tc_property.rb +19 -3
- data/test/nitro/adaptors/tc_cgi.rb +63 -0
- data/test/nitro/adaptors/tc_webrick.rb +15 -0
- data/test/nitro/builders/tc_xml.rb +2 -2
- data/test/nitro/tc_context.rb +13 -0
- data/test/nitro/tc_controller.rb +47 -0
- data/test/nitro/tc_dispatcher.rb +64 -0
- data/test/nitro/tc_session.rb +20 -0
- data/test/nitro/{tc_sitemap.rb → ui/tc_sitemap.rb} +1 -1
- data/test/root/blog/list.xhtml +6 -0
- data/test/tc_og.rb +41 -4
- metadata +115 -59
- data/bin/proto/app.rb +0 -20
- data/bin/proto/config.rb +0 -77
- data/examples/blog/app.rb +0 -21
- data/examples/blog/config.rb +0 -95
- data/examples/blog/env.rb +0 -22
- data/examples/flash/README +0 -34
- data/examples/flash/app.rb +0 -20
- data/examples/flash/config.rb +0 -38
- data/examples/flash/lib/flash.rb +0 -40
- data/examples/flash/tmp.swf +0 -0
- data/examples/tiny/app.rb +0 -19
- data/examples/tiny/config.rb +0 -29
- data/examples/tiny/root/nitro-small.png +0 -0
- data/lib/nitro/application.rb +0 -217
- data/lib/nitro/config.rb +0 -128
- data/lib/nitro/events.rb +0 -122
- data/lib/nitro/html.rb +0 -151
- data/lib/nitro/http.rb +0 -102
- data/lib/nitro/l10n.rb +0 -30
- data/lib/nitro/server.rb +0 -59
- data/lib/nitro/server/appserver.rb +0 -67
- data/lib/nitro/server/cookie.rb +0 -87
- data/lib/nitro/server/dispatcher.rb +0 -62
- data/lib/nitro/server/filters.rb +0 -75
- data/lib/nitro/server/filters/autologin.rb +0 -51
- data/lib/nitro/server/fragment.rb +0 -70
- data/lib/nitro/server/handlers.rb +0 -127
- data/lib/nitro/server/render.rb +0 -426
- data/lib/nitro/server/request.rb +0 -658
- data/lib/nitro/server/requestpart.rb +0 -54
- data/lib/nitro/server/script.rb +0 -387
- data/lib/nitro/server/server.rb +0 -57
- data/lib/nitro/server/session.rb +0 -220
- data/lib/nitro/server/user.rb +0 -46
- data/lib/nitro/server/webrick.rb +0 -180
- data/lib/nitro/service.rb +0 -26
- data/lib/xsl/ui.xsl +0 -51
- data/lib/xsl/xforms.xsl +0 -28
- data/test/nitro/server/tc_cookie.rb +0 -34
- data/test/nitro/server/tc_filters.rb +0 -38
- data/test/nitro/server/tc_request.rb +0 -70
- data/test/nitro/server/tc_requestpart.rb +0 -28
- data/test/nitro/server/tc_session.rb +0 -34
- data/test/nitro/tc_events.rb +0 -44
- data/test/nitro/tc_html.rb +0 -79
- data/test/nitro/tc_http.rb +0 -18
data/bin/proto/README
CHANGED
@@ -4,7 +4,7 @@ Here comes the README file for your application.
|
|
4
4
|
|
5
5
|
== Configuration
|
6
6
|
|
7
|
-
Edit the file conf/
|
7
|
+
Edit the file conf/app.conf.rb as needed.
|
8
8
|
|
9
9
|
By default this skeleton app uses the PostgreSQL backend.
|
10
10
|
If you want to use a different backend dont forget to
|
@@ -14,7 +14,7 @@ change it for the DEBUG and LIVE configurations.
|
|
14
14
|
|
15
15
|
Exec the following command:
|
16
16
|
|
17
|
-
|
17
|
+
./ctl
|
18
18
|
|
19
19
|
then point your browser to:
|
20
20
|
|
File without changes
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# * George Moschovitis <gm@navel.gr>
|
2
|
+
# (c) 2004-2005 Navel, all rights reserved.
|
3
|
+
# $Id: app.rb 197 2004-12-21 13:50:17Z gmosx $
|
4
|
+
|
5
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib')
|
6
|
+
|
7
|
+
# $DBG = true
|
8
|
+
|
9
|
+
require 'nitro'
|
10
|
+
require 'nitro/session'
|
11
|
+
|
12
|
+
# gmosx, FIXME: make this default!
|
13
|
+
|
14
|
+
require 'ostruct'
|
15
|
+
|
16
|
+
conf = {
|
17
|
+
:host => 'localhost',
|
18
|
+
:port => 8080,
|
19
|
+
:dispatcher => N::Dispatcher.new
|
20
|
+
}
|
21
|
+
|
22
|
+
$conf = OpenStruct.new(conf)
|
@@ -0,0 +1,236 @@
|
|
1
|
+
# lighttpd configuration file
|
2
|
+
# $Id$
|
3
|
+
|
4
|
+
############ Options you really have to take care of ####################
|
5
|
+
|
6
|
+
## modules to load
|
7
|
+
# at least mod_access and mod_accesslog should be loaded
|
8
|
+
# all other module should only be loaded if really neccesary
|
9
|
+
# - saves some time
|
10
|
+
# - saves memory
|
11
|
+
|
12
|
+
server.modules = (
|
13
|
+
"mod_rewrite",
|
14
|
+
# "mod_redirect",
|
15
|
+
"mod_access",
|
16
|
+
# "mod_auth",
|
17
|
+
# "mod_status",
|
18
|
+
"mod_fastcgi",
|
19
|
+
# "mod_simple_vhost",
|
20
|
+
# "mod_evhost",
|
21
|
+
# "mod_cgi",
|
22
|
+
# "mod_compress",
|
23
|
+
# "mod_ssi",
|
24
|
+
# "mod_usertrack",
|
25
|
+
# "mod_rrdtool",
|
26
|
+
"mod_accesslog"
|
27
|
+
)
|
28
|
+
|
29
|
+
## a static document-root, for virtual-hosting take look at the
|
30
|
+
## server.virtual-* options
|
31
|
+
server.document-root = "/home/gmosx/navel/nitro/examples/tiny/root/"
|
32
|
+
|
33
|
+
## where to send error-messages to
|
34
|
+
server.errorlog = "/home/gmosx/navel/nitro/examples/tiny/log/lighttpd.error.log"
|
35
|
+
|
36
|
+
# files to check for if .../ is requested
|
37
|
+
server.indexfiles = ( "index.html" )
|
38
|
+
|
39
|
+
# mimetype mapping
|
40
|
+
mimetype.assign = (
|
41
|
+
".pdf" => "application/pdf",
|
42
|
+
".sig" => "application/pgp-signature",
|
43
|
+
".spl" => "application/futuresplash",
|
44
|
+
".class" => "application/octet-stream",
|
45
|
+
".ps" => "application/postscript",
|
46
|
+
".torrent" => "application/x-bittorrent",
|
47
|
+
".dvi" => "application/x-dvi",
|
48
|
+
".gz" => "application/x-gzip",
|
49
|
+
".pac" => "application/x-ns-proxy-autoconfig",
|
50
|
+
".swf" => "application/x-shockwave-flash",
|
51
|
+
".tar.gz" => "application/x-tgz",
|
52
|
+
".tgz" => "application/x-tgz",
|
53
|
+
".tar" => "application/x-tar",
|
54
|
+
".zip" => "application/zip",
|
55
|
+
".mp3" => "audio/mpeg",
|
56
|
+
".m3u" => "audio/x-mpegurl",
|
57
|
+
".wma" => "audio/x-ms-wma",
|
58
|
+
".wax" => "audio/x-ms-wax",
|
59
|
+
".ogg" => "audio/x-wav",
|
60
|
+
".wav" => "audio/x-wav",
|
61
|
+
".gif" => "image/gif",
|
62
|
+
".jpg" => "image/jpeg",
|
63
|
+
".jpeg" => "image/jpeg",
|
64
|
+
".png" => "image/png",
|
65
|
+
".xbm" => "image/x-xbitmap",
|
66
|
+
".xpm" => "image/x-xpixmap",
|
67
|
+
".xwd" => "image/x-xwindowdump",
|
68
|
+
".css" => "text/css",
|
69
|
+
".html" => "text/html",
|
70
|
+
".htm" => "text/html",
|
71
|
+
".js" => "text/javascript",
|
72
|
+
".asc" => "text/plain",
|
73
|
+
".c" => "text/plain",
|
74
|
+
".conf" => "text/plain",
|
75
|
+
".text" => "text/plain",
|
76
|
+
".txt" => "text/plain",
|
77
|
+
".dtd" => "text/xml",
|
78
|
+
".xml" => "text/xml",
|
79
|
+
".mpeg" => "video/mpeg",
|
80
|
+
".mpg" => "video/mpeg",
|
81
|
+
".mov" => "video/quicktime",
|
82
|
+
".qt" => "video/quicktime",
|
83
|
+
".avi" => "video/x-msvideo",
|
84
|
+
".asf" => "video/x-ms-asf",
|
85
|
+
".asx" => "video/x-ms-asf",
|
86
|
+
".wmv" => "video/x-ms-wmv"
|
87
|
+
)
|
88
|
+
|
89
|
+
# Use the "Content-Type" extended attribute to obtain mime type if possible
|
90
|
+
# mimetypes.use-xattr = "enable"
|
91
|
+
|
92
|
+
#### accesslog module
|
93
|
+
accesslog.filename = "/home/gmosx/navel/nitro/examples/tiny/log/access.log"
|
94
|
+
|
95
|
+
## deny access the file-extensions
|
96
|
+
#
|
97
|
+
# ~ is for backupfiles from vi, emacs, joe, ...
|
98
|
+
# .inc is often used for code includes which should in general not be part
|
99
|
+
# of the document-root
|
100
|
+
url.access-deny = ( "~", ".inc" )
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
######### Options that are good to be but not neccesary to be changed #######
|
105
|
+
|
106
|
+
## bind to port (default: 80)
|
107
|
+
server.port = 8080
|
108
|
+
|
109
|
+
## bind to localhost (default: all interfaces)
|
110
|
+
#server.bind = "grisu.home.kneschke.de"
|
111
|
+
|
112
|
+
## error-handler for status 404
|
113
|
+
#server.error-handler-404 = "/error-handler.html"
|
114
|
+
#server.error-handler-404 = "/error-handler.php"
|
115
|
+
|
116
|
+
## to help the rc.scripts
|
117
|
+
# server.pid-file = "/var/run/lighttpd.pid"
|
118
|
+
|
119
|
+
|
120
|
+
###### virtual hosts
|
121
|
+
##
|
122
|
+
## If you want name-based virtual hosting add the next three settings and load
|
123
|
+
## mod_simple_vhost
|
124
|
+
##
|
125
|
+
## document-root =
|
126
|
+
## virtual-server-root + virtual-server-default-host + virtual-server-docroot or
|
127
|
+
## virtual-server-root + http-host + virtual-server-docroot
|
128
|
+
##
|
129
|
+
#simple-vhost.server-root = "/home/weigon/wwwroot/servers/"
|
130
|
+
#simple-vhost.default-host = "grisu.home.kneschke.de"
|
131
|
+
#simple-vhost.document-root = "/pages/"
|
132
|
+
|
133
|
+
|
134
|
+
##
|
135
|
+
## Format: <errorfile-prefix><status>.html
|
136
|
+
## -> ..../status-404.html for 'File not found'
|
137
|
+
#server.errorfile-prefix = "/home/weigon/projects/lighttpd/doc/status-"
|
138
|
+
|
139
|
+
## virtual directory listings
|
140
|
+
#server.dir-listing = "enable"
|
141
|
+
|
142
|
+
## send unhandled HTTP-header headers to error-log
|
143
|
+
#debug.dump-unknown-headers = "enable"
|
144
|
+
|
145
|
+
### only root can use these options
|
146
|
+
#
|
147
|
+
# chroot() to directory (default: no chroot() )
|
148
|
+
#server.chroot = "/"
|
149
|
+
|
150
|
+
## change uid to <uid> (default: don't care)
|
151
|
+
#server.username = "wwwrun"
|
152
|
+
|
153
|
+
## change uid to <uid> (default: don't care)
|
154
|
+
#server.groupname = "wwwrun"
|
155
|
+
|
156
|
+
#### compress module
|
157
|
+
#compress.cache-dir = "/tmp/lighttpd/cache/compress/"
|
158
|
+
#compress.filetype = ("text/plain", "text/html")
|
159
|
+
|
160
|
+
#### fastcgi module
|
161
|
+
## read fastcgi.txt for more info
|
162
|
+
fastcgi.server = ( ".rb" =>
|
163
|
+
( "localhost" =>
|
164
|
+
(
|
165
|
+
"socket" => "/tmp/nitro-fcgi.socket",
|
166
|
+
"bin-path" => "/home/gmosx/navel/nitro/examples/tiny/root/fcgi.rb"
|
167
|
+
)
|
168
|
+
)
|
169
|
+
)
|
170
|
+
|
171
|
+
#### CGI module
|
172
|
+
#cgi.assign = ( ".pl" => "/usr/bin/perl",
|
173
|
+
# ".cgi" => "/usr/bin/perl" )
|
174
|
+
#
|
175
|
+
|
176
|
+
#### SSL engine
|
177
|
+
#ssl.engine = "enable"
|
178
|
+
#ssl.pemfile = "server.pem"
|
179
|
+
|
180
|
+
#### status module
|
181
|
+
# status.status-url = "/server-status"
|
182
|
+
# status.config-url = "/server-config"
|
183
|
+
|
184
|
+
#### auth module
|
185
|
+
## read authentification.txt for more info
|
186
|
+
# auth.backend = "plain"
|
187
|
+
# auth.backend.plain.userfile = "lighttpd.user"
|
188
|
+
# auth.backend.plain.groupfile = "lighttpd.group"
|
189
|
+
|
190
|
+
# auth.backend.ldap.hostname = "localhost"
|
191
|
+
# auth.backend.ldap.base-dn = "dc=my-domain,dc=com"
|
192
|
+
# auth.backend.ldap.filter = "(uid=$)"
|
193
|
+
|
194
|
+
# auth.require = ( "/server-status" =>
|
195
|
+
# (
|
196
|
+
# "method" => "digest",
|
197
|
+
# "realm" => "download archiv",
|
198
|
+
# "require" => "group=www|user=jan|host=192.168.2.10"
|
199
|
+
# ),
|
200
|
+
# "/server-info" =>
|
201
|
+
# (
|
202
|
+
# "method" => "digest",
|
203
|
+
# "realm" => "download archiv",
|
204
|
+
# "require" => "group=www|user=jan|host=192.168.2.10"
|
205
|
+
# )
|
206
|
+
# )
|
207
|
+
|
208
|
+
#### url handling modules (rewrite, redirect, access)
|
209
|
+
|
210
|
+
url.rewrite = (
|
211
|
+
"^/([\/\-_a-zA-Z0-9]+)?$" => "/fcgi.rb",
|
212
|
+
"^/([\/\-_a-zA-Z0-9]+)?\?([\-_a-zA-Z0-9=;&%]*)$" => "/fcgi.rb?$2"
|
213
|
+
)
|
214
|
+
|
215
|
+
# url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" )
|
216
|
+
|
217
|
+
#
|
218
|
+
# define a pattern for the host url finding
|
219
|
+
# %% => % sign
|
220
|
+
# %0 => domain name + tld
|
221
|
+
# %1 => tld
|
222
|
+
# %2 => domain name without tld
|
223
|
+
# %3 => subdomain 1 name
|
224
|
+
# %4 => subdomain 2 name
|
225
|
+
#
|
226
|
+
# evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/"
|
227
|
+
|
228
|
+
#### expire module
|
229
|
+
# expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")
|
230
|
+
|
231
|
+
#### ssi
|
232
|
+
# ssi.extension = ( ".shtml" )
|
233
|
+
|
234
|
+
#### rrdtool
|
235
|
+
# rrdtool.binary = "/usr/bin/rrdtool"
|
236
|
+
# rrdtool.db-name = "/var/www/lighttpd.rrd"
|
data/bin/proto/ctl
ADDED
data/bin/proto/root/index.xhtml
CHANGED
@@ -1,11 +1,69 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
2
|
|
3
|
-
<
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<title>Feel the magic!</title>
|
6
|
+
<style>
|
7
|
+
body { margin: 10px; background-color: #fff; color: #333; }
|
4
8
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
</x:page>
|
9
|
+
body, p, ol, ul, td {
|
10
|
+
font-family: verdana, arial, helvetica, sans-serif;
|
11
|
+
font-size: 12px;
|
12
|
+
line-height: 18px;
|
13
|
+
}
|
11
14
|
|
15
|
+
h1 { margin-top: 15px; margin-bottom: 45px; }
|
16
|
+
|
17
|
+
li {
|
18
|
+
margin-bottom: 7px;
|
19
|
+
}
|
20
|
+
|
21
|
+
pre {
|
22
|
+
background-color: #eee;
|
23
|
+
padding: 10px;
|
24
|
+
font-size: 11px;
|
25
|
+
}
|
26
|
+
|
27
|
+
a { color: #000; }
|
28
|
+
a:visited { color: #666; }
|
29
|
+
a:hover { color: #fff; background-color:#000; }
|
30
|
+
|
31
|
+
img { border: none; }
|
32
|
+
</style>
|
33
|
+
</head>
|
34
|
+
<body>
|
35
|
+
|
36
|
+
<a href="http://www.rubyforge.com/projects/nitro" target="_blank"><img src="m/nitro.png" /></a>
|
37
|
+
|
38
|
+
<h1>Feel the magic of Nitro!</h1>
|
39
|
+
|
40
|
+
<p><b>Before you move on</b>, verify that the following conditions have been met:</p>
|
41
|
+
|
42
|
+
<ol>
|
43
|
+
<li>The log directory and the empty log files must be writable to the web server (<code>chmod -R 666 log/*</code>).
|
44
|
+
<li>
|
45
|
+
The shebang line in the ctl file must reference your Ruby installation. <br/>
|
46
|
+
You might need to change it to <code>#!/usr/bin/env ruby</code> or point directly at the installation.
|
47
|
+
</li>
|
48
|
+
</ol>
|
49
|
+
|
50
|
+
<p>Here is <b>what do next</b>:</p>
|
51
|
+
|
52
|
+
<ol>
|
53
|
+
<li>Add your xhtml files in the public 'root' directory. Those files are
|
54
|
+
automagically converted to controller actions by Nitro
|
55
|
+
</li>
|
56
|
+
<li>Place additonal media files, css, or xsl files in the public directory.</li>
|
57
|
+
<li>Place your models and controllers in the lib directory.</li>
|
58
|
+
<li>Develop your application utilizing Nitro's powerful features.</li>
|
59
|
+
</ol>
|
60
|
+
|
61
|
+
<p>
|
62
|
+
<b>Having problems getting up and running?</b>
|
63
|
+
First try debugging it yourself by looking at the log files. <br/>
|
64
|
+
If you get stuck, post your problem to the <a href="http://rubyforge.org/mailman/listinfo/nitro-general">Nitro Mailing
|
65
|
+
List</a> at <a href="http://www.rubyforge.com">Rubyforge</a>.
|
66
|
+
</p>
|
67
|
+
|
68
|
+
</body>
|
69
|
+
</html>
|
Binary file
|
data/examples/blog/README
CHANGED
@@ -4,11 +4,13 @@ A simple blog.
|
|
4
4
|
|
5
5
|
== Configuration
|
6
6
|
|
7
|
-
Edit the
|
8
|
-
and the password:
|
7
|
+
Edit the configuration files in conf/* as needed.
|
9
8
|
|
10
|
-
|
11
|
-
|
9
|
+
Dont forget to set your name and the password in the
|
10
|
+
lib/blog.rb file:
|
11
|
+
|
12
|
+
Blog.username = 'your name'
|
13
|
+
Blog.password = 'your password'
|
12
14
|
|
13
15
|
By default this example uses the MySQL backend. If you want to
|
14
16
|
use a different backend dont forget to change it for the DEBUG
|
@@ -18,7 +20,7 @@ and LIVE configurations.
|
|
18
20
|
|
19
21
|
Exec the following command:
|
20
22
|
|
21
|
-
ruby
|
23
|
+
ruby ctl
|
22
24
|
|
23
25
|
then point your browser to:
|
24
26
|
|
File without changes
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# * George Moschovitis <gm@navel.gr>
|
2
|
+
# (c) 2004-2005 Navel, all rights reserved.
|
3
|
+
# $Id$
|
4
|
+
|
5
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
6
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib')
|
7
|
+
|
8
|
+
$DBG = true
|
9
|
+
|
10
|
+
require 'ostruct'
|
11
|
+
|
12
|
+
require 'nitro'
|
13
|
+
require 'glue/validation'
|
14
|
+
require 'og'
|
15
|
+
|
16
|
+
require 'blog'
|
17
|
+
|
18
|
+
include N
|
19
|
+
|
20
|
+
og = Og::Database.new(
|
21
|
+
:address => 'localhost',
|
22
|
+
# :backend => 'mysql',
|
23
|
+
:backend => 'psql',
|
24
|
+
:database => 'blog',
|
25
|
+
:user => 'postgres',
|
26
|
+
:password => 'navelrulez',
|
27
|
+
:connection_count => 3
|
28
|
+
)
|
29
|
+
|
30
|
+
controllers = {
|
31
|
+
:index => BlogController
|
32
|
+
}
|
33
|
+
|
34
|
+
apis = {
|
35
|
+
:xml => 'text/xml'
|
36
|
+
}
|
37
|
+
|
38
|
+
dispatcher = Dispatcher.new(controllers, apis)
|
39
|
+
|
40
|
+
Rendering.shader = N::XSLTShader.new("#{dispatcher.root}/style.xsl",
|
41
|
+
N::RubyShader.new(
|
42
|
+
N::CompressShader.new
|
43
|
+
)
|
44
|
+
)
|
45
|
+
|
46
|
+
Rendering.reload = :partial
|
47
|
+
|
48
|
+
conf = {
|
49
|
+
:name => 'Nitro Blog',
|
50
|
+
:host => 'localhost',
|
51
|
+
:port => 8080,
|
52
|
+
:dispatcher => dispatcher,
|
53
|
+
:og => og
|
54
|
+
}
|
55
|
+
|
56
|
+
$conf = OpenStruct.new(conf)
|