factor/extra/webapps/factor-website/factor-website.factor

73 lines
1.7 KiB
Factor
Raw Normal View History

2008-04-22 22:08:27 -04:00
! Copyright (c) 2008 Slava Pestov
! See http://factorcode.org/license.txt for BSD license.
2008-04-25 04:23:47 -04:00
USING: accessors kernel sequences assocs io.files io.sockets
2008-05-26 01:47:27 -04:00
io.server
namespaces db db.tuples db.sqlite smtp
2008-04-25 04:23:47 -04:00
http.server
2008-06-02 16:00:03 -04:00
http.server.dispatchers
furnace.alloy
furnace.db
furnace.asides
furnace.flash
furnace.sessions
furnace.auth.login
furnace.auth.providers.db
furnace.boilerplate
2008-06-06 19:18:05 -04:00
webapps.blogs
2008-04-25 04:23:47 -04:00
webapps.pastebin
webapps.planet
2008-05-27 01:02:16 -04:00
webapps.todo
webapps.wiki
2008-06-05 02:50:47 -04:00
webapps.wee-url
2008-05-27 01:02:16 -04:00
webapps.user-admin ;
2008-04-22 22:08:27 -04:00
IN: webapps.factor-website
: test-db ( -- db params ) "resource:test.db" sqlite-db ;
2008-04-25 04:23:47 -04:00
: init-factor-db ( -- )
2008-04-22 22:08:27 -04:00
test-db [
init-furnace-tables
2008-04-25 04:23:47 -04:00
{
post comment
paste annotation
blog posting
todo
short-url
article revision
} ensure-tables
2008-04-22 22:08:27 -04:00
] with-db ;
2008-04-25 04:23:47 -04:00
TUPLE: factor-website < dispatcher ;
2008-04-25 04:23:47 -04:00
: <factor-website> ( -- responder )
2008-06-06 19:18:05 -04:00
factor-website new-dispatcher
<blogs> "blogs" add-responder
2008-04-26 06:49:41 -04:00
<todo-list> "todo" add-responder
<pastebin> "pastebin" add-responder
<planet-factor> "planet" add-responder
2008-05-27 01:02:16 -04:00
<wiki> "wiki" add-responder
2008-06-05 02:50:47 -04:00
<wee-url> "wee-url" add-responder
2008-04-29 22:04:06 -04:00
<user-admin> "user-admin" add-responder
2008-04-26 06:49:41 -04:00
<login>
users-in-db >>users
allow-registration
allow-password-recovery
allow-edit-profile
<boilerplate>
2008-06-02 16:00:03 -04:00
{ factor-website "page" } >>template
test-db <alloy> ;
2008-04-25 04:23:47 -04:00
: init-factor-website ( -- )
"factorcode.org" 25 <inet> smtp-server set-global
"todo@factorcode.org" lost-password-from set-global
init-factor-db
2008-04-26 06:49:41 -04:00
<factor-website> main-responder set-global ;
2008-04-25 04:23:47 -04:00
2008-05-26 01:47:27 -04:00
: start-factor-website ( -- )
test-db start-expiring
2008-05-26 01:47:27 -04:00
test-db start-update-task
2008-04-26 06:49:41 -04:00
8812 httpd ;