Add toplevel lists page.
Messy right now, but has all the relevant pieces.
This commit is contained in:
parent
4108685a26
commit
e406dc2504
|
@ -13,3 +13,8 @@
|
|||
(div align: 'center
|
||||
(div align: 'left style: "display: inline-block;"
|
||||
text)))
|
||||
|
||||
;; a grayish tt text
|
||||
(provide TT)
|
||||
(define (TT . xs)
|
||||
@tt[style: "background-color: #dde;"]{@xs})
|
||||
|
|
|
@ -1,7 +1,104 @@
|
|||
#lang at-exp s-exp "../common.rkt"
|
||||
|
||||
(provide mailing-lists-quick)
|
||||
|
||||
(define-context "lists")
|
||||
|
||||
(struct ML (name gmane-name google-name description))
|
||||
|
||||
(define MLs
|
||||
(list (ML "users" "user" "racket-users"
|
||||
@text{A discussion list for all things related to Racket.
|
||||
Ask your questions here!})
|
||||
(ML "announce" "announce" #f
|
||||
@text{A low-volume, moderated list for announcements, only.})
|
||||
(ML "dev" "devel" #f
|
||||
@text{A mailing list for Racket development, for people who want to
|
||||
see how the sausages are made @mdash and help make them.})))
|
||||
|
||||
(define lists
|
||||
@page[#:title "Mailing Lists" #:file ""]{
|
||||
This is the Racket mailing list server.})
|
||||
@p{This is the Racket mailing list server. We have three public mailing
|
||||
lists listed below, with several mirrors for each one.}
|
||||
@(map show-list MLs)})
|
||||
|
||||
(define (show-list ml)
|
||||
@text{
|
||||
@(define name (ML-name ml))
|
||||
@(define at-domain "@racket-lang.org")
|
||||
@(define email (list name at-domain))
|
||||
@; the mixed styles will help against some spam harvesting too
|
||||
@h1[style: '("margin-top: 2.5ex;"
|
||||
" font-family: monospace;"
|
||||
" text-decoration: underline;")]{
|
||||
@a[href: (list name "/")]{
|
||||
@span[style: "background-color: #dde; text-decoration: underline;"]{
|
||||
@name}@;
|
||||
@span[style: "font-size: 82.5%;"]{@at-domain}}}
|
||||
@p{@ML-description[ml]}
|
||||
@form[action: (list name "/subscribe") method: 'post]{
|
||||
@span[style: "white-space: nowrap;"]{
|
||||
Quick subscribe: @input[type: 'text name: 'email size: 20 value: ""]}}
|
||||
@(cond [(ML-google-name ml)
|
||||
=> (lambda (g)
|
||||
@p{Mirrord on Google Groups as the
|
||||
@a[href: @text{http://groups.google.com/group/@|g|/}]{
|
||||
@(string-titlecase (regexp-replace* #rx"-" g " "))
|
||||
group.}})])
|
||||
@(let* ([gmane @list{gmane.comp.lang.racket.@(ML-gmane-name ml)}]
|
||||
[G "gmane.org"])
|
||||
@form[action: @`{http://search.@,|G|/} method: 'get]{
|
||||
@input[type: 'hidden name: 'group value: gmane]
|
||||
@p{Mirrord as the
|
||||
@a[href: @`{http://dir.@,|G|/@,gmane}]{@TT{@gmane}}
|
||||
newsgroup on Gmane:
|
||||
Browse using
|
||||
@a[href: @`{http://news.@,|G|/@,gmane}]{a threaded interface},
|
||||
@a[href: @`{http://blog.@,|G|/@,gmane}]{a blog-like interface},
|
||||
or
|
||||
@a[href: @`{nntp://news.@,|G|/@,gmane}]{as a newsgroup};
|
||||
RSS of complete
|
||||
@a[href: @`{http://rss.@,|G|/messages/complete/@,gmane}]{messages}
|
||||
or
|
||||
@a[href: @`{http://rss.@,|G|/topics/complete/@,gmane}]{topics},
|
||||
and RSS of excerpted
|
||||
@a[href: @`{http://rss.@,|G|/messages/excerpts/@,gmane}]{messages}
|
||||
or
|
||||
@a[href: @`{http://rss.@,|G|/topics/excerpts/@,gmane}]{topics};
|
||||
@span[style: "white-space: nowrap;"]{
|
||||
Search: @input[type: 'text name: 'query value: "" size: 20].}}})
|
||||
@(let ([url @list{http://www.mail-archive.com/@|email|/}])
|
||||
@form[action: "http://www.mail-archive.com/search" method: 'get
|
||||
style: "display: inline; clear: none;"]{
|
||||
@input[type: 'hidden name: 'l value: email]
|
||||
@p{@a[href: (list url "info.html")]{Archived}
|
||||
at @tt{mail-archive.com}:
|
||||
@a[href: url]{Browse},
|
||||
@a[href: (list url "maillist.xml")]{RSS},
|
||||
@span[style: "white-space: nowrap;"]{
|
||||
Search: @input[type: 'text name: 'q value: "" size: 20].}}})})
|
||||
|
||||
;; TODO: improve this using the above, *and* link to the above
|
||||
|
||||
(define (maillist-email name)
|
||||
@TT{@big{@strong{@name}}@"@"racket-lang.org})
|
||||
(define (maillist-url name)
|
||||
(define url "http://lists.racket-lang.org/")
|
||||
@text{@a[href: `(,url ,name "/")]{Subscribe}
|
||||
or @a[href: `(,url ,name "/archive/")]{browse}})
|
||||
|
||||
(define (mailing-lists-quick)
|
||||
@parlist[@strong{Mailing Lists}
|
||||
@text{@maillist-email{users} @mdash a discussion list for all things
|
||||
related to Racket. Ask your questions here!
|
||||
(@maillist-url{users}.)
|
||||
@; These are not set up yet
|
||||
@; also via @gmane{racket} and @|google-groups|).
|
||||
}
|
||||
@text{@maillist-email{announce} @mdash a low-volume, moderated list
|
||||
for announcements, only. (@maillist-url{announce}.)}
|
||||
@text{@maillist-email{dev} @mdash a mailing list for Racket development,
|
||||
for the people who want to see how the sausages are made and help make
|
||||
them. (@maillist-url{dev}.)
|
||||
@; @";" also on @gmane{plt.dev}.)
|
||||
}])
|
||||
|
|
|
@ -1,40 +1,13 @@
|
|||
#lang at-exp s-exp "shared.rkt"
|
||||
|
||||
(require "../stubs/blog.rkt" "../stubs/git.rkt" "../stubs/pre.rkt"
|
||||
"people.rkt" "irc.rkt")
|
||||
|
||||
(define (TT . xs)
|
||||
@tt[style: "background-color: #dde;"]{@xs})
|
||||
|
||||
(define (maillist-email name)
|
||||
@TT{@big{@strong{@name}}@"@"racket-lang.org})
|
||||
(define (maillist-url name)
|
||||
(define url "http://lists.racket-lang.org/")
|
||||
@text{@a[href: `(,url ,name "/")]{Subscribe}
|
||||
or @a[href: `(,url ,name "/archive/")]{browse}})
|
||||
;; TODO: Need to finish the setup for gmane and google-groups
|
||||
;; (define (gmane name)
|
||||
;; @a[href: `("http://dir.gmane.org/gmane.lisp.scheme." ,name)]{Gmane})
|
||||
;; (define google-groups
|
||||
;; @a[href: "http://groups.google.com/group/plt-scheme"]{Google Groups})
|
||||
(require "people.rkt" "irc.rkt"
|
||||
"../minis/lists.rkt"
|
||||
"../stubs/blog.rkt" "../stubs/git.rkt" "../stubs/pre.rkt")
|
||||
|
||||
(provide community)
|
||||
(define community
|
||||
@page{
|
||||
@parlist[@strong{Mailing Lists}
|
||||
@text{@maillist-email{users} @mdash a discussion list for all things
|
||||
related to Racket. Ask your questions here!
|
||||
(@maillist-url{users}.)
|
||||
@; These are not set up yet
|
||||
@; also via @gmane{racket} and @|google-groups|).
|
||||
}
|
||||
@text{@maillist-email{announce} @mdash a low-volume, moderated list
|
||||
for announcements, only. (@maillist-url{announce}.)}
|
||||
@text{@maillist-email{dev} @mdash a mailing list for Racket development,
|
||||
for the people who want to see how the sausages are made and help make
|
||||
them. (@maillist-url{dev}.)
|
||||
@; @";" also on @gmane{plt.dev}.)
|
||||
}]
|
||||
@mailing-lists-quick
|
||||
@parlist[@strong{Discussion Channels}
|
||||
@text{@irc-chat{Chat on IRC} in the @TT{@big{@strong{#racket}}} channel
|
||||
on @a[href: "http://freenode.net"]{@tt{freenode.net}}
|
||||
|
|
Loading…
Reference in New Issue
Block a user