#lang at-exp racket/base
(require scribble/html)
(define-syntax-rule (define* id E) (begin (define id E) (provide id)))
(define ((make-link url . text) . alternate)
(a href: url (if (null? alternate) text alternate)))
;; ----------------------------------------------------------------------------
;; Pages that are made outside of this system
(define doc-url "http://docs.racket-lang.org/")
(define* -docs @make-link[doc-url]{Documentation})
(define-syntax-rule (define-doc-link id desc)
(define* id @make-link[`(,doc-url id "/")]{
@strong{@(string-titlecase (symbol->string 'id))}: @desc @;
@nbsp @small{@a[href: `(,doc-url "pdf/" id ".pdf")]{[pdf]}}}))
@define-doc-link[quick]{An Introduction to Racket with Pictures}
@define-doc-link[more ]{Systems Programming with Racket}
@define-doc-link[guide]{Racket}
@define-doc-link[continue]{Continue}
(define* intros (list quick more guide))
;; ----------------------------------------------------------------------------
;; External links
(define* -htdp
@make-link["http://htdp.org/"]{@i{How to Design Programs}})
(define* -redex
@make-link["http://redex.racket-lang.org/"]{Redex})
(define* -pbd
@make-link["http://programbydesign.org/"]{Program by Design})
(define* -schemers
@make-link["http://schemers.org/"]{@tt{schemers.org}})
(define* -plai
@make-link["http://www.plai.org/"]{
@i{Programming Languages: Application and Interpretation}})
(define* -bootstrap @make-link["http://www.bootstrapworld.org/"]{Bootstrap})