This is triggered by an environment variable that points at a file that
is used to cache polling results. If the variable is not specified just
use all mirror links as usual. This way, for random builds when people
try things out there is no problem, while the nightly builds (and my
manual builds when there are changes) do the right thing.
The file holds information about the polls, and verifies that the
download exists -- if not, the link is not shown. If it is, then it
tries to get the size of the remote file (via HEAD or via FTP), and if
it doesn't match our download information, then drop it too. If no size
informaion is available, include it, but re-poll after a few days. Even
if the size matches, a re-poll will be done after a month, so stale
mirrors will not stick.
See in-code comments for how this is just a rough feature to be used if
needed (and improved when it becomes necessary). That can just as well
go to the FIXME of using a string constant.
* Add captcha url (unused, yet)
* The second argument to `call/input-url' can be a one-argument function
since the call doesn't send it any headers.
Still needs to be done: check the HTTP response for an error status, and
make it fail as a result (currently it just assumes that any response is
fine, which can change in case of a captcha failure). Then, add a
captcha challenge if one is found, otherwise ignore.
This makes it correspond to the license page we have on downloads that
talks about the "lesser" GPL rather than the "library" one.
Also, change the file name to have a more friendly .txt suffix, and add
some more responsible properties for things in doc/release-notes.
Also get rid of the defunct "chronology" link at the bottom of the
community page. It was a very old (pre-svn/git) leftover from a time
where that was relevant for people who want to participate.
Done in two steps: first, make the list of installers have a good order
(determined by package, then OS type, then cpu, etc); make the JS code
that re-sorts the entries move only the desired options to the top but
otherwise use the original order (which is the previous thing).
it much easier. Use this to move the button before the "Start Quickly"
header, making it show better in non-CSS text browsers.
Also, set a fixed height for the `slideshowframe' class, so the text
below it doesn't jump; rename `alts-panel' to `slideshow-panel';
and use `struct'; and more improvements.
For example, instead of "Linux - Fedora 7 (x86_64)", use "Linux x86_64
(Fedora 7)". Hopefully, this will make it clearer that it's often fine
to use some linux installer on a different platform than the one it was
made on. (For example, some people wanted an AMD64 build for Ubuntu,
and eventually it turned out that the x86_64 build on Fedora worked
fine.)
This is even more relevant now since the C part is much less platform
dependent in the linux distro sense.
`scribble/html/lang' to `scribble/html'.
Since `foo:' keywords are very common in any code that uses
`scribble/html', it is much more convenient to have it provide the
custom `#%top'. It simplifies code that uses it, for example, files in
`meta/web/common' now use
#lang at-exp racket/base
(require scribble/html)
instead of the (only-in scribble/html/lang #%top) which it used before,
or instead of explicitly quoting all `foo:'s.
necessary modules are now "all.rkt"s; "shard.rkt"s turn to
"resources.rkt".
Also, "navbar.rkt" changes to "all.rkt", since it was doing the same
thing (in addition to setting the navbar).
Ie, the difference between using it as a language and as a module is now
the same in both. Also, improve `scribble/html' (and
`scribble/html/htmllang') by reproviding most of the corresponding text
modules.
Change `meta/web' accordingly, and improve code by making a new langugae
(`#lang meta/web'). This language is similar to `scribble/html' except
that it uses the plain scribble reader (not the `-inside' one), it
doesn't use the customized module-begin feature (that uses
`output-xml'), and it adds all the relevant bits of `meta/web/common'.
(Also, "meta/web/common.rkt" is gone, since it's used only as a language
now.)
This commit has lots of details and binding games, so it's tricky, and
potentially caused some problems. (Took me a while to track many
breakages, so I won't be surprised if there are more.)
`scribble/text'-like languages. Use it to define a convenient syntax
for html modules.
This is not used by the web content files since they define functions
rather than spit out html when required, but makes it convenient to make
an html markup language similar to scribble/text.
It's also possible to use this as a central place to hold the list of
plt people for other purposes, works for the bib authors now (requires
making an organized list of the people).
Fix a reference to meta/web to be symbolic -- otherwise things can get
confused when symlinks are used, ending up with two instances of a
single modeule (once for the symbolic reference and one for a relative
one). It's still best to avoid symlinks, though.
Simplify version specs in the techreports code, re-enable continue
reference, some reformatting.