commit 7817e97a03724e188f2331281c7297a7b8ac5957
parent 856d71f5b17c58c2a7cb662480d0c4cb0a6affb3
Author: tomas <tomas@logand.com>
Date: Thu, 22 Jul 2010 19:36:21 +0200
picowiki.l updated
Diffstat:
1 file changed, 24 insertions(+), 7 deletions(-)
diff --git a/picowiki.l b/picowiki.l
@@ -42,8 +42,7 @@
(zero S))))
(cons N S)))
-(de _markupCmd ()
- (char)
+(de _markupCmd (Type)
(case (peek)
("\\" (char))
("\<" (char))
@@ -55,24 +54,37 @@
("{"
(char)
(prog1
- (cons 'lnk
+ (cons (or Type 'lnk)
(make
(while (till "} ^I^M^J" T)
(link @)
(skip))))
(char)))
+# ("#"
+# (char)
+# (when (= "{" (peek))
+# (_markupCmd 'a)))
# (T
# (case (till "{" T)
# ("b" (cons 'b (till "}" T)))))
))
+(de till2 (End Pack)
+ (let (X NIL
+ E (flip (chop End))
+ N (length E))
+ (until (or (eof) (= (head N X) E))
+ (push 'X (char)))
+ (setq X (flip (nth X (+ N 1))))
+ (if Pack (pack X) X)))
+
(de _markupXml (End)
(char)
(let? C (till ">" T)
(char)
(unless (= C End)
(if (member C '("pre" "lisp"))
- (cons C (prog1 (till "<" T) (till ">") (char)))
+ (cons C (till2 (pack "</" C ">")))
(cons C (_markup (pack "/" C)))))))
(de _markup (End)
@@ -85,6 +97,7 @@
(while (and (not Eop)
(case (peek)
("\\"
+ (char)
(let? X (_markupCmd)
(when Space (link NIL))
(link X)))
@@ -162,7 +175,7 @@
(if (info (pageFile Page))
(<href2> 'i Page Page)
(ht:Prin Page)
- (<href2> 'i "?" (pack Page "?e"))))
+ (<sup> (<href2> 'i "?" (pack Page "?e")))))
(de markup (Lst Par)
(for (I . P) Lst
@@ -182,6 +195,9 @@
(<href2> 'e (or (glue " " (cdr B)) (car B)) (car B)))
(T
(<ilink> (glue " " B)))))
+# (a
+# (prinl "<a name=\"" (car B) "\" class=\"a\">"
+# (or (glue " " (cdr B)) (car B)) "</a>"))
(nbsp (<nbsp>))
(hr (<hr>))
(("ul" "ol")
@@ -495,7 +511,8 @@
(de cookies ()
(mapcar '((X) (mapcar pack (split (chop X) "=")))
- (mapcar pack (split (chop (sys "HTTP_COOKIE")) ";"))))
+ (mapcar pack
+ (mapcar clip (split (chop (sys "HTTP_COOKIE")) ";")))))
# P (or (if (pre? "@" Q) (pack (cdr (chop Q))) Q) "picoWiki") #####
# E (pre? "@" Q)) ###
@@ -504,7 +521,7 @@
C (cookies)
P (or (pack (cdr (chop (sys "PATH_INFO")))) "picoWiki")
E (= "e" Q))
- (setq P (_htDecode (chop P)))
+ (setq P (ht:Pack (chop P))) #(_htDecode (chop P)))
(let? N (cadr (find '((X) (= (car X) "picoWiki.n")) C))
(setq *N N)
(on *R))