Skip to content

Commit 5b28b13

Browse files
mfelleisenrfindler
authored andcommitted
squash the entire development of the new web page into a small number of commits to help rebasing
1 parent d77faf8 commit 5b28b13

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+12647
-301
lines changed

README.md

+18
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,24 @@ To build:
2727

2828
[See "upload" and `--dry-run` for an alternative]
2929

30+
* The simplest way to build the whole site is with
31+
32+
racket -l- racket-lang-org/sync --save-temps --render-locally Web ; open Web/www/index.html
33+
34+
This renders the site in some temp directory and then moves the directory
35+
to 'Web` here. It will also open the front-page index file in your
36+
default browser on the Mac.
37+
38+
* `pollen` problems
39+
40+
`pollen` occasionally fails with really strange "deep in the guts"
41+
error messages. `pollen` changes and doesn't work right with its old
42+
files. After double-checking that you have everything in a new
43+
commit, does **DANGER!** `git clean -d -x -f`.
44+
45+
**DANGER!** Really make sure that you don't have any files you want
46+
to keep that aren't committed! This command also rm's uncommitted files.
47+
3048
* Run "racket all.rkt -o <dir>" to build all pages to subdirectories of
3149
<dir>. As a safety measure, the target directory must not overlap
3250
with any installed directory. (Use `-f' in scripts to avoid

feedback-from-dev.md

+157
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
## Arrangement/Content
2+
3+
- "With a Vibrant Community" could be just "Vibrant Community".
4+
5+
- "Strong" is kind of a strange word to describe safety and reasoning
6+
features. Why not "safe"? I don't like that either, but I think it's
7+
better.
8+
9+
Use "Robust"
10+
11+
- If I could change one thing, I would edit the first paragraph of the “Any
12+
Syntax” section. Instead of “Real Racket programmers love parentheses”,
13+
14+
Real
15+
16+
maybe something like “Racket programmers usually love parentheses”, and
17+
instead of “is almost as easy as building beautiful languages”, perhaps
18+
“is almost as easy as building parenthesized languages”.
19+
20+
??
21+
22+
- ? For "Little Macros", can we have a different example? It takes me more
23+
than a minute to figure out what's going on in that example, even though
24+
I think I know macros and Racket syntax at some level. People who are new
25+
to Racket are going to just skip that example with confusion.
26+
27+
```
28+
#lang racket
29+
30+
(require syntax/parse/define)
31+
32+
(define-simple-macro (where* ((~literal define) h b) clauses)
33+
(define h (let () (begin . clauses) b)))
34+
35+
(where* (define is-5-odd (odd? 5))
36+
[(define (odd? n) (if (= n 1) #t (even? (- n 1))))
37+
(define (even? n) (if (= n 0) #t (odd? (- n 1))))])
38+
39+
(if is-5-odd "five is odd" "five is not odd")
40+
```
41+
42+
## Mechanics
43+
44+
- add tabs to browser HISTORY (pushState)
45+
46+
## Code Examples
47+
48+
- in initial web page, message-box
49+
50+
- Gettybsburg's address with @As-scores[87]
51+
52+
## Looks
53+
54+
- screen size problems (MF yes someone should figure this out)
55+
56+
fixed by Robby and Jesse
57+
58+
- Can we make the headers ("Racket, the Language-Oriented Programming
59+
Language", "Racket, the Ecosystem") change color on hovering to indicate
60+
that it can be clicked?
61+
62+
- Robby: "Sierpinski" plus 2htdp/image code
63+
64+
- Robby: It would be easier on the eyes if the text color was slightly darker blue
65+
66+
## Probably Useless
67+
68+
69+
## No
70+
71+
- There should probably be a description of what language oriented programming is.
72+
- "little macros" and "big macros" should be adjacent.
73+
- "general purpose" and "DSLs" should be adjacent.
74+
- ? It would be cool if the typed Racket example contains a type error, and
75+
we show how typed Racket catches the error.
76+
77+
78+
- When trying to get the #lang examples to display again after clicking a tab
79+
under "the language-oriented programming language" section, my instinct was to
80+
click some of the whitespace off to the side to "deselect" the current tab.
81+
This did not work, and I had to instead click on the section heading.
82+
83+
- The very first thing I see is news. If I'm a regular Racket user I would
84+
know where to get news from. If I'm a new user, I wouldn't care about
85+
news. Either way, I think it should have a place in homepage but not at
86+
the top.
87+
88+
- ... trying to get all 3 ideas into view without scrolling (MF: remove news
89+
and get there?)
90+
91+
- What's the difference between `new frame%`, `message-box`, and
92+
`make-object button%`. ("Why aren't they `frame`, `message-box`, and
93+
`button`?").
94+
95+
- A Scribble example could be more free text, with only one or two `@(`.
96+
It would be nice if the Scribble example is mainly proses. Otherwise,
97+
users could (for example) assume that this is yet another Racket program
98+
will a nice string literal syntax.
99+
100+
- Maybe leave out the comments in the code samples ... try to read the code and guess what it does
101+
102+
- don't use JS for tabs (MF: I don't even know what this means)
103+
104+
- The big blue headings look like another header, they are more prominent than the main top page header, which looks weird
105+
106+
- The giant racket logo next to the code looks misplaced, the racket logo is already in the top left.
107+
108+
- why isn't there a publications page?
109+
110+
- show output of programs? -- For "General Purpose", again, users want to
111+
see an output. A GUI window (like the "Big Macros" example) would
112+
suffice.
113+
114+
- The JavaScript driving a change of "tabs" doesn't use the history APIs
115+
(e.g. history.pushState, window.onpopstate), so it doesn't work as (I)
116+
expected with browser-based control operators like "back" and "duplicate
117+
tab." Mumble about our web server and continuations
118+
119+
120+
- Regarding the second row again, I think that we should not expect users
121+
to click on those tabs to explore. Instead it should be presented
122+
statically, maybe as grid of little boxes. Web pages are much more
123+
pleasant when I could just scroll through it.
124+
125+
### Greg's Response
126+
127+
Many good ideas here! A couple suggestions:
128+
129+
1. I recommend not assuming screen sizes.
130+
131+
Right-click, choose Inspect Element, and click the little mobile icon.
132+
Try various sizes, from a little mobile phone on up to an iPad. (This
133+
sort of tool is available in Firefox and Chrome.)
134+
135+
The current experience is not good. It should be: Someone might be on a
136+
train or plane, following a link from social media or the orange site.
137+
Sometimes commuting or traveling is their main opportunity to learn
138+
about new things and form first impressions.
139+
140+
141+
2. I recommend not using JavaScript to implement "tabs".
142+
143+
This isn't a "single page web app". It is text and images. It could
144+
simply flow through whatever size screen is available, small, medium, or
145+
large. Let the web browser do its job. (And let the page download
146+
faster, probably get higher search rank, etc.)
147+
148+
149+
TL;DR: The current tabby thing is not helping on small screens; on large
150+
screens it is (in my opinion) a frustrating Advent calendar.
151+
152+
## Future Work
153+
154+
- The code snippets, e.g. under "little macros", are in too small of a font to
155+
read. Reminds me of talks where they just display tons of code to bamboozle
156+
the audience, which always annoys me.
157+

feedback-sam.txt

+101
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
2+
DISAGREE, NOT WILLING TO DISCUSS
3+
4+
- I prefer the line-separator style to the gray/white background style for the lower boxes.
5+
- would moving [the slogan] to the top be better?
6+
7+
DISAGREE, WILLING TO DISCUSS
8+
9+
- I don't think the text in the new top box is very helpful. What is a
10+
"real problem"? And hopefully, for most people their problems are
11+
well-solved in an _existing_ Racket language -- writing a new language
12+
is not a first-day Racket program. The "Got ..." phrasing feels off to
13+
me as well. The slogan on the current home page is more compelling
14+
15+
I am willing to brainstorm.
16+
17+
- I like combining boxes as you did, and getting rid of the
18+
Scheme/Lisp one. However, I think some of the links that went away
19+
would be good to keep: the documentation, the repository, the style
20+
guide, for example. I'm not sure what the best place to put them would
21+
be -- maybe a new box that's a "quick start" box?
22+
23+
It is really hard to bring across that our documentation is special and
24+
how special Scribble is in the chosen format. I am okay with the format
25+
mostly. Is the Style guide special? The repo has a button at the top.
26+
27+
I could add a pair of boxes?
28+
29+
- I miss the examples of languages. A language home page without any
30+
programs seems like a mistake to me, and our programs should show off
31+
the language-oriented nature of Racket.
32+
33+
The Julia language page comes w/o sample programs on the home page.
34+
I think that's fine. But I am willing to listen to counter-arguments.
35+
36+
DON'T KNOW HOW TO DO
37+
38+
- If the text is now there the whole time, I think the links should be
39+
clickable all the time.
40+
41+
- I think the IDE box now says too little about docs and too much
42+
about details (like the Vim mode).
43+
44+
- Many of the languages listed on the "Languages" page (in the intro
45+
paragraphs) could be hyperlinks, as could the link to the
46+
documentation.
47+
48+
- I think the new "Languages" page is too single-column. Could we put
49+
some of these boxes next to each other horizontally (as on the home
50+
page)?
51+
52+
The new Languages page isn't mine. Someone contributed it as a PR, and I
53+
pulled it in. But yes, I think we can modify it anyway but for now I'll
54+
leave it alone. I'd like to discuss it first.
55+
56+
DON'T UNDERSTAND
57+
58+
- The new boxes on the front page don't all seem to line up.
59+
I think I fixed this.
60+
61+
- I like moving to having the text on the page initially.
62+
- If we aren't showing them in detail, I don't know that the fractals
63+
make things better. It mostly seems to make things harder to read
64+
right now.
65+
I know how to remove the links, but I kind of like the background.
66+
67+
DONE, I THINK
68+
69+
70+
- The new "sample languages" page has some visual issues -- text is
71+
cut off below the language snippets.
72+
73+
Done.
74+
75+
- If there's now a Donate button on the top line, should that be in the
76+
other places on the web page where those three boxes appeared before?
77+
78+
Pollen doesn't seem to allow abstraction, so I made these pages look
79+
alike manually. All of them list four buttons now at the top:
80+
download, docs, packages, donate.
81+
82+
I could not figure out how to add these buttons to blog, download, and
83+
snapshots. Sadly, they are written in Racket, so I should have been able to
84+
figure out something :) ~~~ But having said this, I am not sure that these
85+
pages should look like the front page. ~~~ We already have many page
86+
styles.
87+
88+
DONE, SOMEWHAT
89+
90+
- I think the claims made for Typed Racket are too strong. My
91+
suggestion would be to combine the Contracts and Types boxes into one,
92+
and not say things like "done right".
93+
94+
You're right. The "done right" was over the top. But at the same time, we
95+
are the only ones who support full-fledged soundness in the old sense and
96+
"soundness and completeness" in the new one.
97+
98+
So I compromised a bit and changed the title for "Typed" and some of the
99+
prose in both. I also disagree with the idea of combining the two. They are
100+
separate ideas, and Racket supports each in the cleanest way of any
101+
language around. We should proudly advertise both.

info.rkt

+28-22
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,34 @@
22

33
(define collection "racket-lang-org")
44

5-
(define deps '("graph"
6-
"gui-lib"
7-
"base"
8-
("plt-web-lib" #:version "1.3")
9-
"at-exp-lib"
10-
"net-lib"
11-
"racket-index"
12-
("scribble-lib" #:version "1.28")
13-
"syntax-color-lib"
14-
"plot-gui-lib"
15-
"plot-lib"
16-
"math-lib"
17-
"pollen"
18-
"css-tools"
19-
"sugar"
20-
"txexpr"
21-
"gregor-lib"
22-
"frog"
23-
"rackunit-lib"
24-
"pict-lib"
25-
"draw-lib"
26-
("s3-sync" #:version "1.10")))
5+
(define deps
6+
'("slideshow-lib"
7+
"csv-reading"
8+
"typed-racket-lib"
9+
"datalog"
10+
"graph"
11+
"gui-lib"
12+
"base"
13+
("plt-web-lib" #:version "1.3")
14+
"at-exp-lib"
15+
"net-lib"
16+
"racket-index"
17+
("scribble-lib" #:version "1.28")
18+
"syntax-color-lib"
19+
"plot-gui-lib"
20+
"plot-lib"
21+
"math-lib"
22+
"pollen"
23+
"css-tools"
24+
"sugar"
25+
"txexpr"
26+
"gregor-lib"
27+
"frog"
28+
"rackunit-lib"
29+
"pict-lib"
30+
"ppict"
31+
"draw-lib"
32+
("s3-sync" #:version "1.10")))
2733

2834
(define pkg-desc "Sources for http://racket-lang.org")
2935

school/2019/index.html.pm

+8-2
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
◊h2{◊xlink{Schedule}}
2020
◊h2{◊xlink{Accommodation}}
2121
◊h2{◊xlink{Tickets}}
22+
◊h2{◊xlink{Housing}}
2223
◊h2{◊xlink["previous"]{Previous Racket Schools}}
2324

2425
◊h3{◊xtarget["overview"]{Domain-Specific Languages from Racket}}
@@ -57,11 +58,11 @@ This track will be taught by ◊link["https://www.ccs.neu.edu/home/matthias/"]{M
5758
5859
◊ul[
5960
60-
◊li{academic researchers at all levels who wish to understand LOP research,}
61+
◊li{academic researchers who wish to understand LOP research,}
6162
6263
◊li{professionals who wish to learn in depth how to rapidly build DSLs,}
6364
64-
◊li{students who wish to explore a potential area of research for a PhD, and}
65+
◊li{students who wish to explore a potential area of research for a PhD,}
6566
6667
◊li{faculty at all levels who wish to explore an approach to teaching LOP.}
6768
@@ -198,6 +199,11 @@ border-radius: 0.5rem;
198199
199200
Eventbrite fees are added during checkout.
200201
202+
◊h3{◊xtarget{Housing}}
203+
204+
Subsidized housing is available in the University of Utah campus dorms. The cost is $40/night. ◊link["https://forms.gle/spaMYg1LL4CK3J8p9"]{Register here.}
205+
206+
201207
202208
◊h3{◊xtarget["previous"]{Previous Racket Schools}}
203209

0 commit comments

Comments
 (0)