]> gitweb.factorcode.org Git - factor.git/blob - extra/webapps/help/help.factor
Fix help search again
[factor.git] / extra / webapps / help / help.factor
1 ! Copyright (C) 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel accessors http.server.dispatchers
4 http.server.static furnace.actions furnace.redirection urls
5 validators locals io.files html.forms help.html ;
6 IN: webapps.help
7
8 TUPLE: help-webapp < dispatcher ;
9
10 :: <search-action> ( help-dir -- action )
11     <page-action>
12         { help-webapp "search" } >>template
13
14         [
15             {
16                 { "search" [ 1 v-min-length 50 v-max-length v-one-line ] }
17             } validate-params
18
19             help-dir set-current-directory
20
21             help-dir [
22                 "search" value article-apropos "articles" set-value
23                 "search" value word-apropos "words" set-value
24                 "search" value vocab-apropos "vocabs" set-value
25             ] with-directory
26
27             { help-webapp "search" } <chloe-content>
28         ] >>submit ;
29
30 : <main-action> ( -- action )
31     <page-action>
32         { help-webapp "help" } >>template ;
33
34 : <help-webapp> ( help-dir -- webapp )
35     help-webapp new-dispatcher
36         <main-action> "" add-responder
37         over <search-action> "search" add-responder
38         swap <static> "content" add-responder ;
39
40