Artifact
29c5bd43ae690f94e1b544bb3cf3a9fdb0a8d5bd:
0000: 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 32 30 30 ;; Copyright 200
0010: 37 2d 32 30 30 38 2c 20 4d 61 74 74 68 65 77 20 7-2008, Matthew
0020: 57 65 6c 6c 61 6e 64 2e 20 4b 69 61 74 6f 61 2e Welland. Kiatoa.
0030: 63 6f 6d 20 41 6c 6c 20 72 69 67 68 74 73 20 72 com All rights r
0040: 65 73 65 72 76 65 64 2e 0a 3b 3b 20 0a 3b 3b 20 eserved..;; .;;
0050: 6c 65 66 74 6e 61 76 2f 76 69 65 77 2e 73 63 6d leftnav/view.scm
0060: 0a 0a 28 6c 69 73 74 0a 20 20 20 20 28 73 3a 64 ..(list. (s:d
0070: 69 76 20 0a 20 20 20 20 20 27 63 6c 61 73 73 20 iv . 'class
0080: 22 6e 6f 64 65 22 0a 20 20 20 20 20 28 73 3a 68 "node". (s:h
0090: 31 20 22 4e 61 76 69 67 61 74 69 6f 6e 22 29 0a 1 "Navigation").
00a0: 20 20 20 20 20 28 6c 65 74 20 28 28 73 65 63 74 (let ((sect
00b0: 69 6f 6e 20 28 73 6c 6f 74 2d 72 65 66 20 73 3a ion (slot-ref s:
00c0: 73 65 73 73 69 6f 6e 20 27 70 61 67 65 29 29 29 session 'page)))
00d0: 0a 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 09 28 . (cond..(
00e0: 28 6f 72 20 28 6e 6f 74 20 73 65 63 74 69 6f 6e (or (not section
00f0: 29 20 3b 3b 20 74 68 69 73 20 69 73 20 68 6f 6d ) ;; this is hom
0100: 65 0a 09 20 20 20 20 20 28 73 74 72 69 6e 67 3d e.. (string=
0110: 3f 20 73 65 63 74 69 6f 6e 20 22 68 6f 6d 65 22 ? section "home"
0120: 29 29 0a 09 20 22 48 6f 6d 65 20 6d 65 6e 75 22 )).. "Home menu"
0130: 29 0a 09 28 28 73 74 72 69 6e 67 3d 3f 20 73 65 )..((string=? se
0140: 63 74 69 6f 6e 20 22 64 69 73 63 75 73 73 69 6f ction "discussio
0150: 6e 73 22 29 0a 09 20 28 6c 69 73 74 0a 09 20 20 ns").. (list..
0160: 28 73 3a 61 20 22 46 69 6c 74 65 72 22 20 20 20 (s:a "Filter"
0170: 20 20 20 20 20 20 27 68 72 65 66 20 28 73 3a 6c 'href (s:l
0180: 69 6e 6b 2d 74 6f 20 22 64 69 73 63 75 73 73 69 ink-to "discussi
0190: 6f 6e 73 22 20 27 66 69 6c 74 65 72 20 22 6f 6e ons" 'filter "on
01a0: 22 29 29 29 29 0a 09 28 28 73 74 72 69 6e 67 3d "))))..((string=
01b0: 3f 20 73 65 63 74 69 6f 6e 20 22 6c 65 61 72 6e ? section "learn
01c0: 22 29 0a 09 20 28 6c 69 73 74 0a 09 20 20 28 73 ").. (list.. (s
01d0: 3a 61 20 22 4c 65 61 72 6e 22 20 20 27 68 72 65 :a "Learn" 'hre
01e0: 66 20 28 73 3a 6c 69 6e 6b 2d 74 6f 20 22 6c 65 f (s:link-to "le
01f0: 61 72 6e 22 20 20 27 61 63 74 69 6f 6e 20 22 6c arn" 'action "l
0200: 65 61 72 6e 2e 74 65 61 63 68 22 29 29 28 73 3a earn.teach"))(s:
0210: 62 72 29 0a 09 20 20 28 73 3a 61 20 22 54 65 73 br).. (s:a "Tes
0220: 74 22 20 20 20 27 68 72 65 66 20 28 73 3a 6c 69 t" 'href (s:li
0230: 6e 6b 2d 74 6f 20 22 6c 65 61 72 6e 22 20 20 27 nk-to "learn" '
0240: 61 63 74 69 6f 6e 20 22 6c 65 61 72 6e 2e 74 65 action "learn.te
0250: 73 74 22 29 29 28 73 3a 62 72 29 0a 09 20 20 29 st"))(s:br).. )
0260: 29 0a 09 28 28 73 74 72 69 6e 67 3d 3f 20 73 65 )..((string=? se
0270: 63 74 69 6f 6e 20 22 70 72 65 66 65 72 65 6e 63 ction "preferenc
0280: 65 73 22 29 0a 09 20 28 6c 69 73 74 20 0a 09 20 es").. (list ..
0290: 20 28 73 3a 61 20 22 50 61 73 73 77 6f 72 64 22 (s:a "Password"
02a0: 20 20 20 20 20 20 20 27 68 72 65 66 20 28 73 3a 'href (s:
02b0: 6c 69 6e 6b 2d 74 6f 20 22 70 72 65 66 65 72 65 link-to "prefere
02c0: 6e 63 65 73 22 20 27 61 63 74 69 6f 6e 20 22 70 nces" 'action "p
02d0: 61 73 73 77 6f 72 64 22 29 29 28 73 3a 62 72 29 assword"))(s:br)
02e0: 0a 09 20 20 28 73 3a 61 20 22 4d 65 73 73 61 67 .. (s:a "Messag
02f0: 65 73 22 20 20 20 20 20 20 20 27 68 72 65 66 20 es" 'href
0300: 28 73 3a 6c 69 6e 6b 2d 74 6f 20 22 70 72 65 66 (s:link-to "pref
0310: 65 72 65 6e 63 65 73 22 20 27 61 63 74 69 6f 6e erences" 'action
0320: 20 22 6d 65 73 73 61 67 65 73 22 29 29 28 73 3a "messages"))(s:
0330: 62 72 29 0a 09 20 20 28 73 3a 61 20 22 50 72 65 br).. (s:a "Pre
0340: 66 65 72 65 6e 63 65 73 22 20 20 20 20 27 68 72 ferences" 'hr
0350: 65 66 20 28 73 3a 6c 69 6e 6b 2d 74 6f 20 22 70 ef (s:link-to "p
0360: 72 65 66 65 72 65 6e 63 65 73 22 20 27 61 63 74 references" 'act
0370: 69 6f 6e 20 22 70 72 65 66 65 72 65 6e 63 65 73 ion "preferences
0380: 22 29 29 28 73 3a 62 72 29 29 29 0a 09 28 65 6c "))(s:br)))..(el
0390: 73 65 20 27 28 20 22 6e 61 64 61 22 20 29 29 29 se '( "nada" )))
03a0: 29 0a 20 20 20 20 20 28 73 3a 62 72 29 29 0a 20 ). (s:br)).
03b0: 20 20 20 28 73 3a 64 69 76 0a 20 20 20 20 20 27 (s:div. '
03c0: 63 6c 61 73 73 20 22 6e 6f 64 65 22 0a 20 20 20 class "node".
03d0: 20 20 28 73 3a 68 31 20 22 41 62 6f 75 74 20 79 (s:h1 "About y
03e0: 6f 75 22 29 0a 20 20 20 20 20 28 6c 65 74 20 28 ou"). (let (
03f0: 28 65 6d 61 69 6c 20 28 73 3a 73 65 73 73 69 6f (email (s:sessio
0400: 6e 2d 76 61 72 2d 67 65 74 20 22 65 6d 61 69 6c n-var-get "email
0410: 22 29 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 "))). (if
0420: 65 6d 61 69 6c 0a 20 20 20 20 20 20 20 20 20 20 email.
0430: 20 28 6c 69 73 74 20 65 6d 61 69 6c 20 28 73 3a (list email (s:
0440: 62 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 br)).
0450: 22 4e 6f 74 20 6c 6f 67 67 65 64 20 69 6e 22 29 "Not logged in")
0460: 29 29 0a 20 20 20 20 28 73 3a 64 69 76 0a 20 20 )). (s:div.
0470: 20 20 20 27 63 6c 61 73 73 20 22 6e 6f 64 65 22 'class "node"
0480: 0a 20 20 20 20 20 28 73 3a 63 61 6c 6c 20 22 70 . (s:call "p
0490: 6c 65 64 67 65 22 29 29 29 0a ledge"))).