source: project/release/4/qwiki/trunk/qwiki-sxml.scm @ 15360

Last change on this file since 15360 was 15360, checked in by sjamaan, 11 years ago

Update to use latest sxml-fu version

File size: 2.4 KB
Line 
1;;
2;; qwiki-sxml - SXML rules and tools for qwiki
3;;
4;; Copyright (c) 2009 Peter Bex
5;;
6;;  Redistribution and use in source and binary forms, with or without
7;;  modification, are permitted provided that the following conditions
8;;  are met:
9;;
10;;  - Redistributions of source code must retain the above copyright
11;;  notice, this list of conditions and the following disclaimer.
12;;
13;;  - Redistributions in binary form must reproduce the above
14;;  copyright notice, this list of conditions and the following
15;;  disclaimer in the documentation and/or other materials provided
16;;  with the distribution.
17;;
18;;  - Neither name of the copyright holders nor the names of its
19;;  contributors may be used to endorse or promote products derived
20;;  from this software without specific prior written permission.
21;;
22;;  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND THE
23;;  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
24;;  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25;;  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26;;  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR THE
27;;  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28;;  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29;;  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
30;;  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
31;;  AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32;;  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
33;;  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34;;  POSSIBILITY OF SUCH DAMAGE.
35
36(provide 'qwiki-sxml)
37
38(module qwiki-sxml
39  (qwiki-basic-transformation-rules)
40
41(import chicken scheme)
42
43(use sxpath-lolevel sxml-transforms doctype uri-generic)
44
45(define qwiki-basic-transformation-rules
46  `((wiki-page
47     *macro* . ,(lambda page
48                  `((xhtml-1.0-strict)
49                    (html
50                     (head
51                      (title ,(or (sxml:attr 'title page) "qwiki")))
52                     (body
53                      (page-specific-links)
54                      ,@(sxml:content-raw page))))))
55    (page-specific-links
56     *macro* . ,(lambda _
57                  `(ul (@ (class "page-specific-links"))
58                       (li (url "?action=show" "show"))
59                       (li (url "?action=edit" "edit"))
60                       (li (url "?action=history" "history")))))
61    ,@alist-conv-rules))
62
63)
Note: See TracBrowser for help on using the repository browser.