This turned out to be a bad idea. The thing is that some resources need
to be referred to in multiple ways -- for example, different texts in
links of different kinds, or using the URL directly in some cases. The
existence of `get-resource-path' is a witness for this problem, since it
was used for such cases -- this function is removed as well.
There's no point in trying to generalize this here: instead, go back to
a simpler system where a resource always returns its URL (with an
optional argument to get an absolute URL). When a `referrer'
functionality is needed, build it on top of that, in a place where it
makes more sense. (That is, in a specific code for generating content,
where there could be a decision that resources have plain links and also
a very short link for use in navbars.) Otherwise, it's usually simpler
to just define resources and referrers separately (as different
bindings, the latter uses the former).
`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.
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.)