1 ! Copyright (c) 2008 Slava Pestov
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors kernel sequences assocs io.files io.sockets
5 namespaces db db.sqlite smtp
7 http.server.dispatchers
13 furnace.auth.providers.db
22 IN: webapps.factor-website
24 : test-db ( -- db params ) "resource:test.db" sqlite-db ;
26 : init-factor-db ( -- )
32 init-annotations-table
48 TUPLE: factor-website < dispatcher ;
50 : <factor-website> ( -- responder )
51 factor-website new-dispatcher
52 <blogs> "blogs" add-responder
53 <todo-list> "todo" add-responder
54 <pastebin> "pastebin" add-responder
55 <planet-factor> "planet" add-responder
56 <wiki> "wiki" add-responder
57 <wee-url> "wee-url" add-responder
58 <user-admin> "user-admin" add-responder
62 allow-password-recovery
65 { factor-website "page" } >>template
66 <asides> <flash-scopes> <sessions>
67 test-db <db-persistence> ;
69 : init-factor-website ( -- )
70 "factorcode.org" 25 <inet> smtp-server set-global
71 "todo@factorcode.org" lost-password-from set-global
75 <factor-website> main-responder set-global ;
77 : start-factor-website ( -- )
78 test-db start-expiring-sessions
79 test-db start-update-task