plt-web and meta/new-web: move and extend web-page identity

For Google and Bing tools
This commit is contained in:
Matthew Flatt 2014-03-11 16:11:58 -06:00
parent b41ec5dd8c
commit d459900f45
12 changed files with 67 additions and 15 deletions

View File

@ -1,6 +1,8 @@
#lang plt-web
(require "resources.rkt" "download-pages.rkt")
(require "resources.rkt"
"download-pages.rkt"
"../identity.rkt")
(provide index)
(define index
@ -8,3 +10,5 @@
#:link-title "Download" #:window-title "Download Racket"
#:part-of 'download #:width 'full]{
@(render-download-page)})
(register-identity download-site)

View File

@ -1,7 +1,9 @@
#lang plt-web
(require "../testing.rkt")
(require "../testing.rkt"
"../identity.rkt")
(provide download-site)
(define download-site (site "download"
#:url (rewrite-for-testing "http://download.racket-lang.org/")))
#:url (rewrite-for-testing "http://download.racket-lang.org/")
#:page-headers (identity-headers)))

View File

@ -0,0 +1,28 @@
#lang plt-web
(provide identity-headers
register-identity)
;; Include the returned header in `#:page-headers` for each site:
(define (identity-headers)
(list
@script{
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-48767493-1', 'racket-lang.org');
ga('send', 'pageview');
}))
;; Call this function for each site:
(define (register-identity site)
;; the following resources are not used directly, so their names are
;; irrelevant
@plain[#:site site #:file "google5b2dc47c0b1b15cb.html"]{
google-site-verification: google5b2dc47c0b1b15cb.html}
@plain[#:site site #:file "BingSiteAuth.xml"]{
<?xml version="1.0"?>
<users><user>140BE58EEC31CB97382E1016E21C405A</user></users>}
(void))

View File

@ -1,10 +1,12 @@
#lang plt-web
(require "../www/resources.rkt")
(require "../www/resources.rkt"
"../identity.rkt")
(define drracket-site (site "drracket"
#:url "http://drracket.org/"
#:share-from www-site
#:page-headers (identity-headers)
#:page-style? #f
#:meta? #t))
@ -12,6 +14,8 @@
;; to Can Burak Cilingir for both the logo and the drracket.org domain
;; name.
(register-identity drracket-site)
(define index
(page #:site drracket-site
#:title "DrRacket" #:extra-headers (lazy headers) (center-div logo)))

View File

@ -1,14 +1,18 @@
#lang plt-web
(require "../www/resources.rkt"
"../testing.rkt"
"../identity.rkt"
plt-web/style)
(provide installers)
(define pre-site (site "pre"
#:url (rewrite-for-testing "http://pre.racket-lang.org/")
#:page-headers (identity-headers)
#:share-from www-site))
(register-identity pre-site)
(define (main id)
@page[#:site pre-site
#:id id

View File

@ -3,12 +3,15 @@
(require plt-web/style
"resources.rkt"
"utils.rkt"
"../identity.rkt"
(prefix-in 2011: "2011/all.rkt")
(prefix-in 2012: "2012/all.rkt")
(prefix-in 2013: "2013/all.rkt"))
(provide index)
(register-identity con-site)
(define index
@page[#:site con-site
#:link-title "RacketCon" #:title "RacketCon"

View File

@ -1,5 +1,6 @@
#lang plt-web
(require "../www/resources.rkt"
"../identity.rkt"
"../testing.rkt")
(provide con-site
@ -8,6 +9,7 @@
(define con-site
(site "con"
#:url (rewrite-for-testing "http://con.racket-lang.org/")
#:page-headers (identity-headers)
#:share-from www-site))
(define (rcon [year #f] . text)

View File

@ -4,7 +4,9 @@
"irc.rkt"
(prefix-in pre: "../minis/pre.rkt")
(only-in "../stubs/docs.rkt" docs-path)
(only-in "../rcon/resources.rkt" rcon))
(only-in "../rcon/resources.rkt" rcon)
"../identity.rkt"
(only-in "../stubs/pkgs.rkt"))
;; TODO
;; -- add links in top paragraph
@ -15,6 +17,8 @@
(require "resources.rkt" "code.rkt" "download.rkt" "learning.rkt" "people.rkt"
"community.rkt")
(register-identity www-site)
(define-runtime-path img-dir "img")
(define-runtime-path js-dir "js")
(define-runtime-path css-dir "css")

View File

@ -1,5 +1,6 @@
#lang plt-web
(require plt-web/style
"../identity.rkt"
"../testing.rkt")
(provide www-site)
@ -7,6 +8,7 @@
(define www-site
(site "www"
#:url (rewrite-for-testing "http://www.racket-lang.org/")
#:page-headers (identity-headers)
#:navigation
(list
@a[href: (resource "stubs/pkgs/" #f)]{Packages}

View File

@ -38,6 +38,7 @@ relative directory is mapped to a destination URL via
[#:always-abs-url? always-abs-url? any/c #t]
[#:share-from share-from (or/c site? #f) #f]
[#:page-style? page-style? any/c #t]
[#:page-headers page-headers outputable/c null]
[#:meta? meta? any/c page-style?]
[#:robots robots (or/c #f #t outputable/c) #t]
[#:htaccess htaccess (or/c #f #t outputable/c) #t]
@ -65,6 +66,9 @@ include content to set the style of the overall page. Otherwise, only
sufficient resources and content are included to specify the style of
the PLT web-page header (i.e., a bar with the Racket logo).
The @racket[page-headers] argument provides content for the header of
any HTML page generated at the site via @racket[page] or @racket[page*].
If @racket[meta?] is true, then @filepath{.htaccess},
@filepath{robots.txt}, and similar files are generated for the site.
The @racket[robots] and @racket[htaccess] arguments determine robot

View File

@ -223,7 +223,7 @@
null)
})
(define (make-resources files navigation page-style? sharing-site)
(define (make-resources files navigation page-style? extra-headers sharing-site)
(define (recur/share what)
(if sharing-site
((site-resources sharing-site) what)
@ -253,7 +253,7 @@
[sharing-site (recur/share what)]
[else (error 'resource "unknown resource: ~e" what)])]))
(define icon-headers (html-icon-headers (resources 'icon-path)))
(define headers (html-headers resources icon-headers page-style?))
(define headers (list (html-headers resources icon-headers page-style?) extra-headers))
(define make-navbar (navbar-maker (resources 'logo-path) navigation page-style?))
(define make-navbar-content (navbar-content (resources 'logo-path) navigation page-style?))
(define preamble (cons @doctype['html]
@ -280,6 +280,7 @@
#:robots [robots #t]
#:htaccess [htaccess #t]
#:navigation [navigation null]
#:page-headers [headers null]
#:page-style? [page-style? #t]
#:meta? [meta? page-style?]
#:share-from [given-sharing-site #f])
@ -304,12 +305,13 @@
#:site the-site
content))
dir robots htaccess
page-style?
page-style?
meta?
(and sharing-site
#t))
navigation
page-style?
headers
sharing-site))))
the-site)])
site))

View File

@ -59,13 +59,6 @@
null)
,@(if meta?
(list
;; the following resources are not used directly, so their names are
;; irrelevant
@writefile["google5b2dc47c0b1b15cb.html"]{
google-site-verification: google5b2dc47c0b1b15cb.html}
@writefile["BingSiteAuth.xml"]{
<?xml version="1.0"?>
<users><user>140BE58EEC31CB97382E1016E21C405A</user></users>}
;; #t (the default) => no-op file, good to avoid error-log lines
(let* ([t (if (eq? #t robots) "Disallow:" robots)]
[t (and t (list "User-agent: *\n" t))])