
necessary modules are now "all.rkt"s; "shard.rkt"s turn to "resources.rkt". Also, "navbar.rkt" changes to "all.rkt", since it was doing the same thing (in addition to setting the navbar).
156 lines
5.8 KiB
Racket
156 lines
5.8 KiB
Racket
#lang meta/web
|
|
|
|
(define-context "drracket")
|
|
|
|
;; This just shows an ascii logo and redirects to the main page. Thanks
|
|
;; to Can Burak Cilingir for both the logo and the drracket.org domain
|
|
;; name.
|
|
|
|
(define index
|
|
(page #:title "DrRacket" #:extra-headers (delay headers) (center-div logo)))
|
|
|
|
(require (only-in "../www/all.rkt" main))
|
|
|
|
(define (logo)
|
|
(define (text->lines text)
|
|
(cond [(null? text) '()]
|
|
[(null? (cdr text))
|
|
(if (equal? "\n" (car text)) '() text)]
|
|
[(equal? "\n" (cadr text))
|
|
(cons (car text) (text->lines (cddr text)))]
|
|
[else
|
|
(text->lines (cons (string-append (car text) (cadr text))
|
|
(cddr text)))]))
|
|
(define (do-line chars colors)
|
|
(let loop ([chars (map (lambda (c) (if (eq? #\space c) nbsp c))
|
|
(string->list chars))]
|
|
[colors (string->list colors)])
|
|
(let* ([class (car colors)]
|
|
[n (for/or ([color (in-list (cdr colors))] [i (in-naturals 1)])
|
|
(and (not (equal? class color)) i))]
|
|
[block (if n (take chars n) chars)]
|
|
[block (if (eq? #\space class)
|
|
block (span class: (list "c" class) block))])
|
|
(if n
|
|
(cons block (loop (drop chars n) (drop colors n)))
|
|
(list block)))))
|
|
(pre style: "font-family: monospace, fixed; font-weight: bold;"
|
|
(add-newlines (map do-line (text->lines char-matrix)
|
|
(text->lines color-matrix)))))
|
|
|
|
(define (headers)
|
|
(list
|
|
(style/inline type: 'text/css
|
|
(add-newlines (map (lambda (c)
|
|
@list{.c@(car c) {
|
|
color: #@(cadr c);
|
|
background-color: #@(caddr c);
|
|
}})
|
|
colors)))
|
|
(meta http-equiv: "refresh"
|
|
content: (list "2;URL=" (get-resource-path main)))))
|
|
|
|
(define char-matrix
|
|
@list|{
|
|
88XSS%
|
|
.888;@88@:88@XXS%tt
|
|
8@Xt tX88X X88@XS%%t:.
|
|
8%:.. ::t@88;88@XX%%t;:..
|
|
@t. 8: :X@ %888XX%%t;:. :
|
|
8 . . . 8 .S8%888@XS%%t;:. .S
|
|
@ .:8S888@XStt;;:. .;
|
|
X. . 8. :% ;888XS%tt;::. .t
|
|
@: . . . . 8% t@8X88@X%%;;::. :t
|
|
8: . % .SX%88@XStt;::.. .;S
|
|
8S . . S .%S8888XS%t;::.. .:tX
|
|
8; . . . . S 8; t@8@X@XS%t;::.. .:;S
|
|
@@: . . . 8.8 8..%@8X8@XStt;:... .:;%@
|
|
@X: . . . ;8 8XS88@X88%%;::.. ..;%@
|
|
@@: . . . X;.% 888Xtt88St;::.. .:;tX
|
|
@8; . .X..X ;@St; .8;;:.. ..:;%@
|
|
X8S. . . . 8 8 ;S8;;. 8X::. ...;t%@
|
|
%@@%. . X ; %%% :. ;tX%;:. ..:;tS8
|
|
tX8X;. . 8. .X .S@888@.:t%%@;: ..::t%S8
|
|
:%X8Xt:. . .8 . 8 ;X8888X8:;%S@X t...::;tS@@
|
|
;%@88%t;:.. . ; S :S@8888XXXX%SX888::.::;t%X8
|
|
.;tX@8@XS%ttt:t%X .tX@8888@XS%%SS@@88888.:;t%S8X
|
|
:t%X8888@@:8888 S@888888XXS%t;tSX88888@@t;t%S@8
|
|
:;t%S@88t%%% ;8888@@@SS%%t;;:::;8@88@XX @%X@8
|
|
. :;t%S:....8@@@XSSS%%tt;:::....S8@8XS X S@8
|
|
:. .:@t%;:.8%%%%ttt;;:::.... ;SXS X 8S
|
|
t:. 88X@8@;;;;;;;:::... ..:.:8 X S8
|
|
8X@88X%::.::::... ...:::;tt;. .S8
|
|
88X:.:.........::::;;;tt%%SS@;8@
|
|
8SS%tt;;;;;;t;tttt%%SSX@88X
|
|
@@XXSSSSSSSSXX@@888@
|
|
@@8888XS}|)
|
|
|
|
(define colors
|
|
'([a "000" "00a"]
|
|
[b "000" "555"]
|
|
[c "000" "a00"]
|
|
[d "00a" "000"]
|
|
[e "00a" "555"]
|
|
[f "00a" "55f"]
|
|
[g "0aa" "555"]
|
|
[h "555" "000"]
|
|
[i "555" "00a"]
|
|
[j "555" "a00"]
|
|
[k "555" "aaa"]
|
|
[l "55f" "00a"]
|
|
[m "55f" "aaa"]
|
|
[n "a00" "000"]
|
|
[o "a00" "555"]
|
|
[p "a00" "f55"]
|
|
[q "a0a" "555"]
|
|
[r "a0a" "55f"]
|
|
[s "a0a" "a00"]
|
|
[t "a0a" "aaa"]
|
|
[u "a0a" "f55"]
|
|
[v "a50" "555"]
|
|
[w "a50" "a00"]
|
|
[x "a50" "aaa"]
|
|
[y "a50" "f55"]
|
|
[z "aaa" "555"]
|
|
[0 "aaa" "f55"]
|
|
[1 "aaa" "fff"]
|
|
[2 "f55" "a00"]
|
|
[3 "f55" "aaa"]
|
|
[4 "f5f" "f55"]
|
|
[5 "fff" "aaa"]))
|
|
|
|
(define color-matrix
|
|
@list|{
|
|
ifllll
|
|
qktx555155kflllllllg
|
|
2pppppppp5111155fllllllllll
|
|
pppppppppppp511111kffllllllllllv
|
|
ppppppppppppppp1111115ffllllllllllla
|
|
jpppppppppppppppp0111111rfflllllllllliaa
|
|
ppppppppppppppppppp1111111ffllllllllllllaa
|
|
pppppppppppppppppppp11111115ffllllllllllliaa
|
|
ppppppppppppppppppppp11111111mfflllllllllllaaa
|
|
pppppppppppppppppppppp111111115fflllllllllllaaaa
|
|
2ppppppppppppppppppppp31111111115flllllllllllaaaaa
|
|
pppppppppppppppppppppp115p1111111kfllllllllllaaaaa
|
|
2ppppppppppppppppppppp111ppp1111155fllllllllllaaaaaa
|
|
2pppppppppppppppppppp511ppppp1111555ifllllllllaaaaaa
|
|
2ppppppppppppppppppp3114pppppp111555kllllllllaaaaaaa
|
|
2pppppppppppppppppp3113pppppppp155555qfllllllaaaaaaa
|
|
2ppppppppppppppppp0111pppppppppk155555illllliaaaaaaa
|
|
22ppppppppppppppp3111ppppppppppp555kkkklillaaaaaaaaa
|
|
222ppppppppppppp01113pppppppppppp5kkkkkklilaaaaaaaaa
|
|
2222ppppppppppp01111pppppppppp222kkkkkkkqliaaaaaaaad
|
|
2222pppppppppp1111ppppppppp222222kkkkkkkqlaaaaaaaa
|
|
22222pppppppu1111yppppppp22222222okkkkkzkiiaaaaaad
|
|
222222ppppy1511kppppp222222222222zkkzzzzziaaaaad
|
|
22222222255555p22222222222222222skzzzzzzgiaaad
|
|
c2222225555k222222222222222222w2okzzzzgzgaad
|
|
cc222zkkkkqp222222222222222jjjwjzzzqzqqved
|
|
ccjqkkkkk222222222222222wjcccccjqzqqqqbh
|
|
ozzzzzj2j2j2j2j2w22jccccccccccqvqqbh
|
|
ojjjccccjcccccccccccccccccccjgbh
|
|
cccccccccccccccccccccccccnn
|
|
cccccccccccccccccnnn
|
|
nncnnnnn}|)
|