author kleing
Fri, 22 Apr 2005 02:03:52 +0200
changeset 15810 2c119fed01f0
child 15811 ef719c524227
permissions -rw-r--r--
howto for changing web pages, simplified makefile access

This file describes how to change and regenerate the Isabelle web pages.

= Overview =

The pages are separated into two sets:
 * main, for the main home page in Munich and Cambridge, and 
 * dist, for the current Isabelle distribution more widely mirrored.

Both are generated by a script (genpage) that takes *.content files and
puts them into a common template.

This is supposed to achieve the following:
 * separation of layout and content
 * automtic consistency between contents of distribution and web page,
   including name of the distribution, file sizes of download packages, 
   and documentation generated from isabelle/Doc

For this the web page generation script needs access to the following
support files:

Admin/page/DISTNAME   (name of the distribution, e.g. Isabelle2004)
Admin/page/Contents   (same as Distribution/doc/Contents at the time 
                       of the Isabelle release)

Both files are set to the right values automatically by makedist when
the Isabelle distribution is generated and maintained manually in
between releases by the release manager in Admin/page in CVS. (In
between releases Admin/page/Contents can be different from

= Changes to main =

To make changes to the content of the main pages:

 * Edit or add the appropriate Admin/page/main-content/*.content files
 * Run "make clean main"
 * Check generated html in Admin/page/main/
 * Check into cvs
 * Run "make pub-main" to publish to the Munich web site
 * Run "mirror-main" in Cambridge to synchronize

= Changes to dist =

These should be rare and is a bit more involved at the moment. The
principle is the same as for the main pages, but the script needs
access to the distribution files to calculate sizes etc:

 * Edit or add the appropriate Admin/page/dist-content/*.content files
 * Make sure the Isabelle package files are available in directory Admin/page.
   On sunbroy2, the following does the trick:
   ln -s /home/html/isabelle/html-data/dist/contrib
   for f in /home/html/isabelle/html-data/dist/*.tar.gz; do ln -s $f; done
 * Run "make clean dist"
 * Check generated html in Admin/page/dist/
 * Check into cvs
 * Run "make pub-dist" to publish to the Munich web site 
   (will only copy *.html files, will not update other distribution files)
 * Run "mirror-dist" in Cambridge and notify other mirrors to synchronize