diff --git a/collects/meta/web/common/layout.rkt b/collects/meta/web/common/layout.rkt index ad607d4730..f1854e9801 100644 --- a/collects/meta/web/common/layout.rkt +++ b/collects/meta/web/common/layout.rkt @@ -67,7 +67,8 @@ ;; can be #f (default), 'full: full page (and no div), ;; otherwise, a css width #:width [width #f] - #:extra-headers [headers #f] + #:description [description #f] ; for a meta tag + #:extra-headers [extra-headers #f] #:extra-body-attrs [body-attrs #f] #:resources resources ; see below #:referrer [referrer @@ -75,24 +76,29 @@ (a href: url (if (null? more) linktitle more)))] ;; will be used instead of `this' to determine navbar highlights #:part-of [part-of #f] - content) + content0) (define (page) - (let* ([head (resources 'head wintitle headers)] - [navbar (resources 'navbar (or part-of this))] - [content (case width - [(full) content] - [(#f) (div class: 'bodycontent content)] - [else (div class: 'bodycontent - style: @list{width: @|width|@";"} - content)])] - [content @list{@navbar - @content}]) - @xhtml{@|| - @head - @(if body-attrs - (apply body `(,@body-attrs ,content)) - (body content)) - @||})) + (define desc + (and description (meta name: 'description content: description))) + (define headers + (if (and extra-headers desc) + (list desc "\n" extra-headers) + (or desc extra-headers))) + (define head (resources 'head wintitle headers)) + (define navbar (resources 'navbar (or part-of this))) + (define content + (list navbar "\n" + (case width + [(full) content0] + [(#f) (div class: 'bodycontent content0)] + [else (div class: 'bodycontent style: @list{width: @|width|@";"} + content0)]))) + @xhtml{@|| + @head + @(if body-attrs + (apply body `(,@body-attrs ,content)) + (body content)) + @||}) (define this (and (not html-only?) (resource/referrer (get-path 'plain id file "html" dir) (file-writer output-xml page) diff --git a/collects/meta/web/download/index.rkt b/collects/meta/web/download/index.rkt index e31189341a..bb5217ae13 100644 --- a/collects/meta/web/download/index.rkt +++ b/collects/meta/web/download/index.rkt @@ -12,7 +12,11 @@ (provide index) (define index - @page[#:link-title "Downloads" #:part-of 'download]{ + @page[#:link-title "Downloads" #:part-of 'download + #:description + @'{Download Racket, a modern dialect of Lisp/Scheme. @; + Available for Windows, Mac, Linux, and other Unix platforms. @; + Includes the DrRacket IDE.}]{ @div[style: "float: right;"]{@download-button} Use these links to browse the download directories directly: @ul{@li{Current @a[href: `(,installers "/recent")]{installers} diff --git a/collects/meta/web/minis/lists.rkt b/collects/meta/web/minis/lists.rkt index 846d5f2812..9de048d5db 100644 --- a/collects/meta/web/minis/lists.rkt +++ b/collects/meta/web/minis/lists.rkt @@ -21,6 +21,8 @@ (define lists @page[#:title "Mailing Lists" #:file "" #:part-of 'community + #:description + @'{Racket mailing lists for users, developers, announcements, and more.} (define (list-cells what) (map (λ (r) (r what)) list-renderers)) ]{ @p{This is the Racket mailing list server. We have several public mailing diff --git a/collects/meta/web/www/community.rkt b/collects/meta/web/www/community.rkt index c250b05e94..3d45381fc8 100644 --- a/collects/meta/web/www/community.rkt +++ b/collects/meta/web/www/community.rkt @@ -7,7 +7,10 @@ (provide community) (define community - @page[#:part-of 'community]{ + @page[#:window-title "Racket Community Resources" #:part-of 'community + #:description + @'{Racket-related community resources: mailing lists, IRC channel, @; + resources for developers, RacketCon, blog, and more.}]{ @mailing-lists-quick @irc-quick @parlist[@strong{PLT Scheme Inc.} diff --git a/collects/meta/web/www/index.rkt b/collects/meta/web/www/index.rkt index 2ff5999242..297e85df2d 100644 --- a/collects/meta/web/www/index.rkt +++ b/collects/meta/web/www/index.rkt @@ -260,8 +260,14 @@ (provide index) (define index - (page #:link-title "About" #:window-title "Racket" - #:extra-headers @list{@meta[name: 'description content: blurb] + (page #:link-title "About" #:window-title "The Racket Language" + #:description + @'{Racket is a modern programming language in the Lisp/Scheme family, @; + suitable for a wide range of applications. @; + Racket provides a rich language extension API, the DrRacket @; + integrated development environment, and many batteries-included @; + libraries.} + #:extra-headers @list{@meta[name: "robots" content: "NOODP"] @(lazy more.css)} @div[class: 'leftpane]{ @span[style: "font-size: large; font-weight: bold;"]{Racket} diff --git a/collects/meta/web/www/learning.rkt b/collects/meta/web/www/learning.rkt index 137eebea48..9fe67c8c06 100644 --- a/collects/meta/web/www/learning.rkt +++ b/collects/meta/web/www/learning.rkt @@ -4,7 +4,11 @@ (provide learning) (define learning - @page[#:part-of 'learning]{ + @page[#:window-title "Racket Learning" #:part-of 'learning + #:description + '@{Racket-related learning resources. Introductions to Racket, @; + the Racket Guide, Computer Science textbooks that use Racket, @; + outreach programs, and graduate studies.}]{ @parlist[@strong{Resources for Learning} (apply parlist @text{Documentation for getting started:} intros) @text{@-htdp — a textbook for introductory programming, but also diff --git a/collects/meta/web/www/people.rkt b/collects/meta/web/www/people.rkt index 812958de5e..730c223818 100644 --- a/collects/meta/web/www/people.rkt +++ b/collects/meta/web/www/people.rkt @@ -95,7 +95,8 @@ (provide people) (define people - @page[#:part-of 'community]{ + @page[#:window-title "Racket People: The PLT Group" #:part-of 'community + #:description "PLT: the group that is the Racket development team."]{ @p{“PLT” refers to the group that is the core of the Racket development team. PLT consists of numerous people distributed across several different universities in the USA: