]> gitweb.factorcode.org Git - factor.git/blob - basis/furnace/boilerplate/boilerplate.factor
mason: move alignment to mason.css, right align but-last columns in table body
[factor.git] / basis / furnace / boilerplate / boilerplate.factor
1 ! Copyright (c) 2008, 2009 Slava Pestov
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: accessors combinators.short-circuit furnace.utilities
4 html.forms html.templates html.templates.chloe http.server
5 http.server.filters kernel ;
6 IN: furnace.boilerplate
7
8 TUPLE: boilerplate < filter-responder template init ;
9
10 : <boilerplate> ( responder -- boilerplate )
11     boilerplate new
12         swap >>responder
13         [ ] >>init ;
14
15 : wrap-boilerplate? ( response -- ? )
16     { [ code>> 200 = ] [ content-type>> "text/html" = ] } 1&& ;
17
18 M:: boilerplate call-responder* ( path responder -- response )
19     begin-form
20     path responder call-next-method
21     responder init>> call( -- )
22     dup wrap-boilerplate? [
23         clone [| body |
24             [
25                 body
26                 responder template>> resolve-template-path <chloe>
27                 with-boilerplate
28             ]
29         ] change-body
30     ] when ;