diff --git a/collects/meta/web/common/links.rkt b/collects/meta/web/common/links.rkt index 7d34c8ae0b..e9d7819eea 100644 --- a/collects/meta/web/common/links.rkt +++ b/collects/meta/web/common/links.rkt @@ -2,7 +2,10 @@ (require scribble/html) -(define-syntax-rule (define* id E) (begin (define id E) (provide id))) +(define-syntax define* + (syntax-rules () + [(_ (id . xs) E ...) (begin (define (id . xs) E ...) (provide id))] + [(_ id E) (begin (define id E) (provide id))])) (define ((make-link url . text) . alternate) (a href: url (if (null? alternate) text alternate))) @@ -47,15 +50,15 @@ (define* -bootstrap @make-link["http://www.bootstrapworld.org/"]{Bootstrap}) -(provide -rcon) -(define (-rcon #:year [year #f] - [body (if year - (format "~a" year) - "RacketCon")]) - (make-link (string-append - "http://con.racket-lang.org/" - (case year - [(2011) "2011/"] - [(#f 2012) ""] - [else (error 'rcon "unknown year: ~e" year)])) - body)) +(define* (-rcon [year #f] . text) + (define years '(2012 2011)) + (a href: (list "http://con.racket-lang.org/" + (and year (not (eq? year (car years))) (list year "/"))) + (cond [(pair? text) text] + [(not year) "RacketCon"] + [else year]))) + +(define* (-wiki [page #f] . text) + (a href: (list "https://github.com/plt/racket/wiki" + (and page (list "/" (regexp-replace #rx" " page "-")))) + (if (null? text) (or page "Racket wiki") text))) diff --git a/collects/meta/web/www/community.rkt b/collects/meta/web/www/community.rkt index c130ae8a55..058b64baf5 100644 --- a/collects/meta/web/www/community.rkt +++ b/collects/meta/web/www/community.rkt @@ -14,17 +14,17 @@ @mailing-lists-quick @irc-quick @parlist[@strong{RacketCon} - @text{@-rcon{RacketCon} is our annual conference: @-rcon[#:year 2012] and @-rcon[#:year 2011].}] - @parlist[@strong{Wiki} - @text{@a[href: "https://github.com/plt/racket/wiki"]{Wiki Main Page}, including:} - @text{@a[href: "https://github.com/plt/racket/wiki/Intro-Projects"]{Introductory projects} — Find projects to help contribute to Racket.} - @text{@a[href: "https://github.com/plt/racket/wiki/Videos"]{Videos} — Watch tutorials, interviews, and more.} - ] + @text{@-rcon[] is our annual conference: + @-rcon[2012] and @-rcon[2011].}] @parlist[@strong{PLT Design Inc.} @text{@blog — announcements, helpful hints, and thoughtful rants.} @text{@a[href: "http://twitter.com/#!/racketlang"]{Twitter} — random Racket bits.} @text{@people — the people behind Racket.}] + @parlist[@strong{Wiki} + @text{@-wiki[#f]{Wiki pages}, including:} + @text{@-wiki{Intro Projects} — Find a project to contribute,} + @text{@-wiki{Videos} — Watch tutorials, interviews, and more.}] @parlist[@strong{Development} @text{@git (also available on @a[href: "http://github.com/plt/racket/"]{GitHub}).} diff --git a/collects/meta/web/www/learning.rkt b/collects/meta/web/www/learning.rkt index 987184dd68..1049d5da28 100644 --- a/collects/meta/web/www/learning.rkt +++ b/collects/meta/web/www/learning.rkt @@ -16,7 +16,7 @@ programming.”} @text{@-plai — a textbook on programming languages.}] @parlist[@strong{Videos} - @text{See the @a[href: "https://github.com/plt/racket/wiki/Videos"]{videos page at the Racket wiki}.}] + @text{See the @-wiki["Videos"] page at the @|-wiki|.}] @parlist[ @strong{Outreach} @text{@-pbd — a workshop to train teachers using @-htdp in the