From bb562f9ee4e267d8f295d8838877e0a8c79d22c8 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Fri, 11 Jul 2008 09:50:29 +0000 Subject: [PATCH] * some fixes to make-search.ss * rename search-context.html to .htm to avoid being deleted by setup/scribble * added context to help/search interface svn: r10717 --- collects/help/search.ss | 11 ++++++++--- collects/scribblings/main/private/make-search.ss | 5 +++-- .../{search-context.html => search-context.htm} | 0 3 files changed, 11 insertions(+), 5 deletions(-) rename collects/scribblings/main/private/{search-context.html => search-context.htm} (100%) diff --git a/collects/help/search.ss b/collects/help/search.ss index 56a0299fcb..84222240a0 100644 --- a/collects/help/search.ss +++ b/collects/help/search.ss @@ -3,7 +3,7 @@ (require setup/dirs net/sendurl net/uri-codec) (provide perform-search send-main-page) -(define search-page "search/index.html") +(define search-dir "search/") ;; Almost nothing to do here -- the real work is done in the browser, ;; using javascript. @@ -14,5 +14,10 @@ [path (if (file-exists? path) path (build-path (find-doc-dir) sub))]) (send-url/file path #:fragment fragment #:query query))) -(define (perform-search str) - (send-main-page #:sub search-page #:query (format "q=~a" (uri-encode str)))) +(define (perform-search str [context #f]) + (let* ([page (if context "search-context.htm" "index.html")] + [query (format "q=~a" (uri-encode str))] + [query (if context + (format "~a&hq=~a" query (uri-encode context)) + query)]) + (send-main-page #:sub (string-append search-dir page) #:query query))) diff --git a/collects/scribblings/main/private/make-search.ss b/collects/scribblings/main/private/make-search.ss index b2c02b065a..b30e77b60a 100644 --- a/collects/scribblings/main/private/make-search.ss +++ b/collects/scribblings/main/private/make-search.ss @@ -9,6 +9,7 @@ scheme/list scheme/string scheme/match + scheme/path net/url (only-in scheme/class send) (only-in xml xexpr->string) @@ -23,7 +24,7 @@ ;; this file is used as a trampoline to set a context (a pre-filter cookie) and ;; then hop over to the search page (the search page can do it itself, but it's ;; to heavy to load twice). -(define-runtime-path search-context-page "search-context.html") +(define-runtime-path search-context-page "search-context.htm") (define (quote-string str) (define (hex4 ch) @@ -172,7 +173,7 @@ @||}))) (for ([src (list search-script search-context-page)]) - (define dest (build-path dest-dir (file-name-from-path file))) + (define dest (build-path dest-dir (file-name-from-path src))) (when (file-exists? dest) (delete-file dest)) (copy-file src dest)) diff --git a/collects/scribblings/main/private/search-context.html b/collects/scribblings/main/private/search-context.htm similarity index 100% rename from collects/scribblings/main/private/search-context.html rename to collects/scribblings/main/private/search-context.htm