diff options
Diffstat (limited to 'tissue/tissue.scm')
-rw-r--r-- | tissue/tissue.scm | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/tissue/tissue.scm b/tissue/tissue.scm index e42420a..2e901d2 100644 --- a/tissue/tissue.scm +++ b/tissue/tissue.scm @@ -22,23 +22,26 @@ #:use-module (srfi srfi-71) #:use-module (ice-9 match) #:use-module (tissue git) + #:use-module (tissue web themes default) #:export (tissue-configuration tissue-configuration? tissue-configuration-project tissue-configuration-aliases tissue-configuration-indexed-documents tissue-configuration-web-css + tissue-configuration-web-search-renderer tissue-configuration-web-files gemtext-files-in-directory)) (define-record-type <tissue-configuration> (make-tissue-configuration project aliases indexed-documents - web-css web-files) + web-css web-search-renderer web-files) tissue-configuration? (project delayed-tissue-configuration-project) (aliases delayed-tissue-configuration-aliases) (indexed-documents delayed-tissue-configuration-indexed-documents) (web-css delayed-tissue-configuration-web-css) + (web-search-renderer delayed-tissue-configuration-web-search-renderer) (web-files delayed-tissue-configuration-web-files)) (define tissue-configuration-project @@ -53,6 +56,9 @@ (define tissue-configuration-web-css (compose force delayed-tissue-configuration-web-css)) +(define tissue-configuration-web-search-renderer + (compose force delayed-tissue-configuration-web-search-renderer)) + (define tissue-configuration-web-files (compose force delayed-tissue-configuration-web-files)) @@ -96,7 +102,10 @@ directory they are in." #`(delay #,arg))) #'(args :::))))))))))))) -(define-lazy (tissue-configuration #:key project (aliases '()) (indexed-documents '()) web-css (web-files '())) +(define-lazy (tissue-configuration #:key project (aliases '()) (indexed-documents '()) + web-css + (web-search-renderer render-sxml) + (web-files '())) "Construct a <tissue-configuration> object. All arguments are evaluated lazily. @@ -115,6 +124,12 @@ documents to index. document root and must begin with a @code{\"/\"}. If it is @code{#f}, no stylesheet is used in the generated web pages. +@var{web-search-renderer} is a function that accepts two arguments---a +@code{<search-page>} object describing the search page and a +@code{<tissue-configuration>} object describing the project. It must +return the rendered SXML. + @var{web-files} is a list of @code{<file>} objects representing files to be written to the web output." - (make-tissue-configuration project aliases indexed-documents web-css web-files)) + (make-tissue-configuration project aliases indexed-documents + web-css web-search-renderer web-files)) |