Added a `lists' toplevel page (not content, yet), and a stub for mailman pages.
This commit is contained in:
parent
5093f0c32b
commit
5aaf3811cf
|
@ -3,4 +3,11 @@
|
|||
|
||||
* common: specific code for the PLT web pages.
|
||||
|
||||
* other stuff: actual content.
|
||||
* www: actual content of main site.
|
||||
|
||||
* download: content of download site (only installer pages and such)
|
||||
|
||||
* minis: smaller sites which are implemented in one-file each.
|
||||
|
||||
* stubs: template "sites" that are intended to be hooked into other
|
||||
systems to get the plt look.
|
||||
|
|
|
@ -2,17 +2,19 @@
|
|||
|
||||
(provide sites)
|
||||
(define sites
|
||||
'(("www" "http://racket-lang.org/")
|
||||
("download" "http://download.racket-lang.org/")
|
||||
("stubs/planet" "http://planet.racket-lang.org/")
|
||||
("stubs/pre" "http://pre.racket-lang.org/")
|
||||
("stubs/git" "http://git.racket-lang.org/")
|
||||
("stubs/blog" "http://blog.racket-lang.org/")))
|
||||
'(("www" "http://racket-lang.org/")
|
||||
("download" "http://download.racket-lang.org/")
|
||||
("lists" "http://lists.racket-lang.org/")
|
||||
("stubs/planet" "http://planet.racket-lang.org/")
|
||||
("stubs/pre" "http://pre.racket-lang.org/")
|
||||
("stubs/git" "http://git.racket-lang.org/")
|
||||
("stubs/blog" "http://blog.racket-lang.org/")
|
||||
("stubs/mailman" "http://lists.racket-lang.org/")))
|
||||
|
||||
(provide distributions)
|
||||
(define distributions
|
||||
;; Each is a "hostname:dest-path", and then a list of directories to
|
||||
;; put in that path. (Warning: "dest" should not be a top-level
|
||||
;; directory that already exists.)
|
||||
'(["champlain:/www" "www" "download"]
|
||||
'(["champlain:/www" "www" "download" "lists" "stubs/mailman"]
|
||||
["winooski:~wwwplanet/html-template/" "stubs/planet/"])) ; note "/"s
|
||||
|
|
7
collects/meta/web/minis/lists.rkt
Normal file
7
collects/meta/web/minis/lists.rkt
Normal file
|
@ -0,0 +1,7 @@
|
|||
#lang at-exp s-exp "../common.rkt"
|
||||
|
||||
(define-context "lists")
|
||||
|
||||
(define lists
|
||||
@page[#:title "Mailing Lists" #:file ""]{
|
||||
This is the Racket mailing list server.})
|
3
collects/meta/web/minis/main.rkt
Normal file
3
collects/meta/web/minis/main.rkt
Normal file
|
@ -0,0 +1,3 @@
|
|||
#lang at-exp s-exp "../common.rkt"
|
||||
|
||||
(require "lists.rkt")
|
|
@ -1,5 +1,5 @@
|
|||
#lang at-exp s-exp "common.rkt"
|
||||
|
||||
(require "www/main.rkt" "download/main.rkt" "stubs/planet.rkt")
|
||||
(require "www/main.rkt" "download/main.rkt" "minis/main.rkt" "stubs/main.rkt")
|
||||
(set-navbar! (list main download -docs planet community outreach+research)
|
||||
help)
|
||||
|
|
326
collects/meta/web/stubs/mailman.rkt
Normal file
326
collects/meta/web/stubs/mailman.rkt
Normal file
|
@ -0,0 +1,326 @@
|
|||
#lang at-exp s-exp "../common.rkt"
|
||||
|
||||
(define-context "stubs/mailman")
|
||||
|
||||
(define (MM . tag) @literal{<MM-@|tag|>})
|
||||
(define (MM/ . tag) @literal{</MM-@|tag|>})
|
||||
(define (MMform name . body)
|
||||
(list @MM{@(and name (list name "-"))Form-Start} body @MM{Form-End}))
|
||||
|
||||
(define style-header
|
||||
@style/inline{
|
||||
h1 {
|
||||
text-align: center;
|
||||
background-color: #9cf;
|
||||
padding: 0.5em;
|
||||
font-size: 150%;
|
||||
font-weight: bold;
|
||||
}
|
||||
h2 {
|
||||
text-align: left;
|
||||
padding: 0.1em 0.5em;
|
||||
background-color: #fda;
|
||||
font-size: 120%;
|
||||
font-weight: bold;
|
||||
}
|
||||
.subp {
|
||||
margin: 0.5ex 0 0.5ex 1em;
|
||||
}})
|
||||
|
||||
(define (subp . body) (apply div class: 'subp body))
|
||||
(define (graytd . body) (apply td bgcolor: "#ddd" body))
|
||||
|
||||
(define listinfo
|
||||
@page[#:title @list{Mailing lists: @MM{List-Name}}
|
||||
#:extra-headers style-header]{
|
||||
@; --------------------
|
||||
@comment{@||
|
||||
Based on the Mailman file "listinfo.html", revision: 5865
|
||||
Modified to fit the racket pages, add a mail-archive searchbox
|
||||
@||}
|
||||
@; --------------------
|
||||
@h1{@MM{List-Name}: @MM{List-Description}}
|
||||
@; --------------------
|
||||
@h2{About @MM{List-Name}
|
||||
@span[style: '("float: right; font-weight: normal; font-size: 80%;"
|
||||
" margin-top: 4px;")]{
|
||||
@MMform['Lang]{@MM{displang-box} @MM{list-langs}}}}
|
||||
@subp{@MM{List-Info}}
|
||||
@subp{To see the collection of prior postings to the list, visit the
|
||||
@MM{Archive}@MM{List-Name} Archives@MM/{Archive}.
|
||||
@MM{Restricted-List-Message}}
|
||||
@; This is the mail-archive search box
|
||||
@form[action: "http://www.mail-archive.com/search" method: 'get]{@subp{
|
||||
@input[type: 'hidden name: 'l value: @MM{Posting-Addr}]
|
||||
Archives are also available on
|
||||
@a[href: @list{http://www.mail-archive.com/@MM{Posting-Addr}/}]{
|
||||
@tt{mail-archive.com}}
|
||||
which you can use for searching:
|
||||
@input[type: 'text name: 'q value: "" size: 20]}}
|
||||
@; --------------------
|
||||
@h2{Using @MM{List-Name}}
|
||||
@subp{To post a message to all the list members, send email to
|
||||
@a[href: @list{mailto:@MM{Posting-Addr}}]{@MM{Posting-Addr}}.}
|
||||
@subp{You can subscribe to the list, or change your existing subscription,
|
||||
in the sections below.}
|
||||
@; --------------------
|
||||
@h2{Subscribing to @MM{List-Name}}
|
||||
@subp{Subscribe to @MM{List-Name} by filling out the following form.
|
||||
@MM{List-Subscription-Msg}}
|
||||
@subp{
|
||||
@MMform['Subscribe]{
|
||||
@table[cellspacing: 2 cellpadding: 2 width: "90%" align: 'center]{
|
||||
@tr{@graytd{Your email address:}
|
||||
@td{@MM{Subscribe-Box}}
|
||||
@td{@nbsp}}
|
||||
@tr{@graytd{Your name (optional):}
|
||||
@td{@MM{fullname-box}}
|
||||
@td{@nbsp}}
|
||||
@tr{@td[colspan: 3 style: "font-size: 82.5%;"]{
|
||||
@p{You may enter a privacy password below. This provides
|
||||
only mild security, but should prevent others from messing
|
||||
with your subscription. @b{Do not use a valuable password}
|
||||
as it will occasionally be emailed back to you in
|
||||
cleartext.}
|
||||
@p{If you choose not to enter a password, one will be
|
||||
automatically generated for you, and it will be sent to you
|
||||
once you've confirmed your subscription. You can always
|
||||
request a mail-back of your password when you edit your
|
||||
personal options.}
|
||||
@MM{Reminder}}}
|
||||
@tr{@graytd{Pick a password:}
|
||||
@td{@MM{New-Password-Box}}
|
||||
@td{@nbsp}}
|
||||
@tr{@graytd{Reenter password to confirm:}
|
||||
@td{@MM{Confirm-Password}}
|
||||
@td{@nbsp}}
|
||||
@tr{@graytd{Which language do you prefer to display your messages?}
|
||||
@td{@MM{list-langs}}
|
||||
@td{@nbsp}}
|
||||
@MM{digest-question-start}
|
||||
@tr{@td{Would you like to receive list mail batched in a daily
|
||||
digest?}
|
||||
@td{@MM{Undigest-Radio-Button} No
|
||||
@MM{Digest-Radio-Button} Yes}
|
||||
@td{@nbsp}}
|
||||
@MM{digest-question-end}
|
||||
@tr{@td[colspan: 3]{
|
||||
@p[style: "text-align: center;"]{
|
||||
@MM{Subscribe-Button}}}}}}}
|
||||
@; --------------------
|
||||
@h2{@a[name: 'subscribers]{@MM{List-Name} Subscribers}}
|
||||
@subp{@MMform['Options]{@MM{Editing-Options}}}
|
||||
@; not needed: @subp{@MMform['Roster]{@MM{Roster-Option}}}
|
||||
@; --------------------
|
||||
@h2{@nbsp}
|
||||
@MM{Mailman-Footer}})
|
||||
|
||||
(define subscribe
|
||||
@page[#:title @list{@MM{List-Name} Subscription results}
|
||||
#:extra-headers style-header]{
|
||||
@; --------------------
|
||||
@comment{@||
|
||||
Based on the Mailman file "subscribe.html", revision: 3550
|
||||
Modified to fit the racket pages
|
||||
@||}
|
||||
@; --------------------
|
||||
@h1{@MM{List-Name} Subscription results}
|
||||
@subp{@MM{Results}}
|
||||
@MM{Mailman-Footer}})
|
||||
|
||||
(define options
|
||||
@page[#:title @list{@MM{Presentable-User} membership configuration
|
||||
for @MM{List-Name}}
|
||||
#:extra-headers style-header]{
|
||||
@; --------------------
|
||||
@comment{@||
|
||||
Based on the Mailman file "options.html" (no revision specified)
|
||||
Modified to fit the racket pages
|
||||
@||}
|
||||
@; --------------------
|
||||
@h1{@MM{List-Name} mailing list membership configuration for
|
||||
@MM{Presentable-User}}
|
||||
@subp{@div[style: "float: right;"]{@MMform[#f]{@MM{logout-button}}}
|
||||
@b{@MM{Presentable-User}}'s subscription status, password, and options
|
||||
for the @MM{List-Name} mailing list.}
|
||||
@subp{@MM{Case-Preserved-User}
|
||||
@MM{Disabled-Notice}
|
||||
@div[style: "background-color: #faa;"]{@MM{Results}}}
|
||||
@(define (tablesec . body)
|
||||
(apply table cellspacing: 5 cellpadding: 3 width: "100%" align: 'center
|
||||
body))
|
||||
@(define (h2sub . body)
|
||||
@h2[style: "margin-bottom: 0; font-size: 100%;"]{@body})
|
||||
@(define (center . body)
|
||||
@div[style: "text-align: center; margin-top: 1ex;"]{@body})
|
||||
@(define (global-checkbox button-name)
|
||||
@div[align: 'right]{@MM{global-@|button-name|-button}@i{Set globally}})
|
||||
@MMform[#f]{
|
||||
@tablesec{
|
||||
@tr{@td[colspan: 2]{
|
||||
@h2sub{Changing your @MM{List-Name} membership information}
|
||||
@subp{You can change the address that you are subscribed to the
|
||||
mailing list with by entering the new address in the fields
|
||||
below. Note that a confirmation email will be sent to the new
|
||||
address, and the change must be confirmed before it is
|
||||
processed.
|
||||
@small{(Confirmations time out after about
|
||||
@MM{pending-days}.)}}
|
||||
@subp{You can also optionally set or change your real name
|
||||
(i.e. @em{John Smith}).}
|
||||
@subp{If you want to make the membership changes for all the
|
||||
lists that you are subscribed to at @MM{host}, turn on the
|
||||
@em{Change globally} check box.}}}
|
||||
@tr{@td[align: 'center]{
|
||||
@table[cellspacing: 2 cellpadding: 2 width: "80%"]{
|
||||
@tr{@graytd[align: 'right]{New address:}
|
||||
@td{@MM{new-address-box}}}
|
||||
@tr{@graytd[align: 'right]{Again to confirm:}
|
||||
@td{@MM{confirm-address-box}}}}}
|
||||
@td[align: 'center]{
|
||||
@table[cellspacing: 2 cellpadding: 2 width: "80%"]{
|
||||
@tr{@graytd[align: 'right]{Your name (optional):}
|
||||
@td{@MM{fullname-box}}}}}}
|
||||
@tr{@td[colspan: 2 align: 'center]{@MM{change-address-button}}}
|
||||
@tr{@td[colspan: 2 align: 'center]{
|
||||
@MM{global-change-of-address}Change globally}}}
|
||||
@tablesec{
|
||||
@tr{@td[width: "50%"]{@h2sub{Unsubscribing from @MM{List-Name}}}
|
||||
@td[width: "50%"]{@h2sub{Your other @MM{Host} subscriptions}}}
|
||||
@tr{@td{Turn on the confirmation checkbox and hit this button to
|
||||
unsubscribe from this mailing list.
|
||||
@br
|
||||
@strong{Warning:} This action will be taken immediately!
|
||||
@center{@MM{Unsubscribe-Button}}}
|
||||
@td{You can view a list of all the other mailing lists at
|
||||
@MM{host} for which you are a member. Use this if you want to
|
||||
make the same membership option changes to this other
|
||||
subscriptions.
|
||||
@center{@MM{Other-Subscriptions-Submit}}}}}
|
||||
@tablesec{
|
||||
@tr{@td[colspan: 2]{@h2sub{Your @MM{List-Name} Password}}}
|
||||
@tr[valign: 'top]{
|
||||
@td[width: "50%"]{
|
||||
@h3{@a[name: "reminder"]{Forgotten Your Password?}}
|
||||
Click this button to have your password emailed to your membership
|
||||
address.
|
||||
@br
|
||||
@MM{Umbrella-Notice}
|
||||
@center{@MM{Email-My-Pw}}}
|
||||
@td[width: "50%"]{
|
||||
@h3{@a[name: "changepw"]{Change Your Password}}
|
||||
@table[cellspacing: 2 cellpadding: 2 width: "70%" align: 'center]{
|
||||
@tr{@graytd[align: 'right]{New password:}
|
||||
@td{@MM{New-Pass-Box}}}
|
||||
@tr{@graytd[align: 'right]{Again to confirm:}
|
||||
@td{@MM{Confirm-Pass-Box}}}}
|
||||
@center{@MM{Change-Pass-Button}}
|
||||
@center{@MM{global-pw-changes-button}Change globally}}}}
|
||||
@tablesec{
|
||||
@tr{@td[colspan: 2]{@h2sub{Your @MM{List-Name} Subscription Options}}}
|
||||
@tr{@td[colspan: 2]{
|
||||
@subp{@em{Current values are checked.}}
|
||||
@subp{Note that some of the options have a @em{Set globally}
|
||||
checkbox. Checking this field will cause the changes to be
|
||||
made to every mailing list that you are a member of on
|
||||
@MM{host}. Click on @em{List my other subscriptions} above to
|
||||
see which other mailing lists you are subscribed to.}}}
|
||||
@tr{@graytd[width: "80%"]{
|
||||
@a[name: "disable"]{@strong{Mail delivery}} @br
|
||||
Set this option to @em{Enabled} to receive messages posted to
|
||||
this mailing list. Set it to @em{Disabled} if you want to stay
|
||||
subscribed, but don't want mail delivered to you for a while
|
||||
(e.g. you're reading the list elsewhere).}
|
||||
@graytd[width: "20%"]{
|
||||
@MM{delivery-enable-button}Enabled @br
|
||||
@MM{delivery-disable-button}Disabled @br
|
||||
@global-checkbox{deliver}}}
|
||||
@tr{@graytd{@strong{Set Digest Mode} @br
|
||||
If you turn digest mode on, you'll get posts bundled together
|
||||
(usually one per day but possibly more on busy lists), instead of
|
||||
singly when they're sent. If digest mode is changed from on to
|
||||
off, you may receive one last digest.}
|
||||
@graytd{
|
||||
@MM{Undigest-Radio-Button}Off @br
|
||||
@MM{Digest-Radio-Button}On}}
|
||||
@tr{@graytd{@strong{Get MIME or Plain Text Digests?} @br
|
||||
Your mail reader may or may not support MIME digests. In general
|
||||
MIME digests are preferred, but if you have a problem reading
|
||||
them, select plain text digests.}
|
||||
@graytd{
|
||||
@MM{Mime-Digests-Button}MIME @br
|
||||
@MM{Plain-Digests-Button}Plain Text @br
|
||||
@global-checkbox{mime}}}
|
||||
@tr{@graytd{@strong{Receive your own posts to the list?} @br
|
||||
Ordinarily, you will get a copy of every message you post to the
|
||||
list. If you don't want to receive this copy, set this option to
|
||||
@em{No}.}
|
||||
@graytd{@MM{dont-receive-own-mail-button}No @br
|
||||
@MM{receive-own-mail-button}Yes}}
|
||||
@tr{@graytd{@strong{Receive acknowledgement mail when you send mail to
|
||||
the list?}}
|
||||
@graytd{
|
||||
@MM{dont-ack-posts-button}No @br
|
||||
@MM{ack-posts-button}Yes}}
|
||||
@tr{@graytd{@strong{Get password reminder email for this list?} @br
|
||||
Once a month, you will get an email containing a password
|
||||
reminder for every list at this host to which you are subscribed.
|
||||
You can turn this off on a per-list basis by selecting @em{No}
|
||||
for this option. If you turn off password reminders for all the
|
||||
lists you are subscribed to, no reminder email will be sent to
|
||||
you.}
|
||||
@graytd{
|
||||
@MM{dont-get-password-reminder-button}No @br
|
||||
@MM{get-password-reminder-button}Yes @p
|
||||
@global-checkbox{remind}}}
|
||||
@tr{@graytd{@strong{Conceal yourself from subscriber list?} @br
|
||||
When someone views the list membership, your email address is
|
||||
normally shown (in an obscured fashion to thwart spam
|
||||
harvesters). If you do not want your email address to show up on
|
||||
this membership roster at all, select @em{Yes} for this option.}
|
||||
@graytd{
|
||||
@MM{Public-Subscription-Button}No @br
|
||||
@MM{Hide-Subscription-Button}Yes}}
|
||||
@tr{@graytd{@strong{What language do you prefer?}}
|
||||
@graytd{@MM{list-langs}}}
|
||||
@tr{@graytd{@strong{Which topic categories would you like to subscribe
|
||||
to?} @br
|
||||
By selecting one or more topics, you can filter the traffic on
|
||||
the mailing list, so as to receive only a subset of the messages.
|
||||
If a message matches one of your selected topics, then you will
|
||||
get the message,otherwise you will not.
|
||||
@br
|
||||
If a message does not match any topic, the delivery rule depends
|
||||
on the setting of the option below. If you do not select any
|
||||
topics of interest, you will get all the messages sent to the
|
||||
mailing list.}
|
||||
@graytd{@MM{topics}}}
|
||||
@tr{@graytd{@strong{Do you want to receive messages that do not match
|
||||
any topic filter?} @br
|
||||
This option only takes effect if you've subscribed to at least
|
||||
one topic above. It describes what the default delivery rule is
|
||||
for messages that don't match any topic filter. Selecting
|
||||
@em{No} says that if the message does not match any topic
|
||||
filters, then you won't get the message, while selecting @em{Yes}
|
||||
says to deliver such non-matching messages to you.
|
||||
@br
|
||||
If no topics of interest are selected above, then you will
|
||||
receive every message sent to the mailing list.}
|
||||
@graytd{
|
||||
@MM{suppress-nonmatching-topics}No @br
|
||||
@MM{receive-nonmatching-topics}Yes}}
|
||||
@tr{@graytd{@strong{Avoid duplicate copies of messages?} @br
|
||||
When you are listed explicitly in the @tt{To:} or @tt{Cc:}
|
||||
headers of a list message, you can opt to not receive another
|
||||
copy from the mailing list. Select @em{Yes} to avoid receiving
|
||||
copies from the mailing list; select @em{No} to receive copies.
|
||||
@br
|
||||
If the list has member personalized messages enabled, and you
|
||||
elect to receive copies, every copy will have a
|
||||
@tt{X-Mailman-Copy: yes} header added to it.}
|
||||
@graytd{
|
||||
@MM{receive-duplicates-button}No @br
|
||||
@MM{dont-receive-duplicates-button}Yes @br
|
||||
@global-checkbox{nodupes}}}
|
||||
@tr{@td[colspan: 2 align: 'center]{@MM{options-Submit-button}}}}}
|
||||
@MM{Mailman-Footer}})
|
7
collects/meta/web/stubs/main.rkt
Normal file
7
collects/meta/web/stubs/main.rkt
Normal file
|
@ -0,0 +1,7 @@
|
|||
#lang at-exp s-exp "../common.rkt"
|
||||
|
||||
(provide planet)
|
||||
|
||||
(require "planet.rkt" "blog.rkt"
|
||||
"pre.rkt" "git.rkt"
|
||||
"mailman.rkt")
|
Loading…
Reference in New Issue
Block a user