racket/new-racket-web/web
Eli Barzilay dd1996eefd Major simplification of site resources.
Only one resource (`make-navbar') returns a function now, the others
return just misc contents.  Dump the idea of a `head' resource which
complicated things whenever something new needed to be injected into the
head section -- and instead do the head assembly in the page layout
function.

Turn the preamble and postamble into resources too in preparation for
more contents taht is used in the postamble, mostly dealing with
resource files.  (The former doesn't need to be one since it's just
static text, but make it symmetric.)

Finally, the resources (implemented in `make-resources') have some
symbols that return things that are constructed by the code, and the
rest are files that are copied.  There are also some symbolic names that
stand for "special" resources -- these should get attention on changes,
since they are mostly there to expose some things for various pages.
For example, if more CSS is added, `style-path' should change to be a
list of CSS files and the code that uses it (in the git content that is
derived by gitweb) should also be adjusted to deal with more than one
file.
2014-03-01 19:55:56 -07:00
..
common Major simplification of site resources. 2014-03-01 19:55:56 -07:00
download Lazily load sendmail. 2014-03-01 19:55:55 -07:00
lang Copied the web directory to work on it locally. 2014-03-01 19:55:52 -07:00
minis Copied the web directory to work on it locally. 2014-03-01 19:55:52 -07:00
stubs Major simplification of site resources. 2014-03-01 19:55:56 -07:00
www Added all new images. 2014-03-01 19:55:56 -07:00
all.rkt Copied the web directory to work on it locally. 2014-03-01 19:55:52 -07:00
build.rkt Copied the web directory to work on it locally. 2014-03-01 19:55:52 -07:00
config.rkt Copied the web directory to work on it locally. 2014-03-01 19:55:52 -07:00
README Copied the web directory to work on it locally. 2014-03-01 19:55:52 -07:00

Sources:
========

* common: specific code for the racket web pages.

* www: actual content of main site.

* download: content of download site (only installer pages and such)

* */all.rkt: files that just require all the necessary modules to build
  the whole site or sub-sites

* */resources.rkt: files that define the resources for a site (icon,
  css, logo)

* minis: smaller one-source-file sites

* stubs: template "sites" that are intended to be hooked into other
  systems to get the racket look.

To build:
=========

* Run `build.rkt' as the main entry point to building the web pages.
  (Use `-h' as usual.)

* You need to choose `-w' or `-l' for a web or local mode respectively.
  The difference is that in local mode inter-site links are set up as
  relative links so you can see all sites from the resulting
  directories, and this is what you usually need to test things out.
  (You will still need to deal with an occasional addition of
  "index.html" which is not done when looking at file:// URLs.)

* Use `-o <dir>' to specify a directory where the built contents is
  placed, otherwise the content will be placed in the current directory.
  (Use `-f' in scripts to avoid answering the question about deleting
  existing files.)

* If you're not running from a git repository, you will also need to set
  a $GIT_DIR environment variable otherwise the resulting build will not
  have release information for the various builds.  (This doesn't matter
  if you're not working on download pages.)

* You can also include more files that hook additional contents with
  with `-e <some-file>'.  These files are required dynamically, and they
  set things up to add more content building.  The common example here
  is "web/all.rkt" in iplt.