source: project/release/4/qwiki/trunk/qwiki-nowiki.scm @ 15375

Last change on this file since 15375 was 15375, checked in by Ivan Raikov, 12 years ago

factored out the qwiki-nowiki extension

File size: 2.1 KB
Line 
1;;
2;; qwiki-nowiki - nowiki extension for qwiki
3;;
4;; Copyright (c) 2009 Ivan Raikov
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(module qwiki-nowiki
37
38        (nowiki-install!)
39
40        (import chicken scheme)
41        (use data-structures qwiki qwiki-sxml)
42
43(define nl (list->string (list #\newline)))
44
45(define nowiki-rules
46    `((nowiki
47       ((*text*       ; local override for nowiki text
48         . ,(lambda (tag . str) str)))
49       . ,(lambda (tag . lines)
50            `(,@(map (lambda (line) (list "     " line nl)) lines)
51              )))))
52
53(define (nowiki-install!)
54  (qwiki-extensions (append nowiki-rules (qwiki-extensions)))
55  )
56
57)
Note: See TracBrowser for help on using the repository browser.