--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Admin/page/HOWTO Fri Apr 22 02:03:52 2005 +0200
@@ -0,0 +1,62 @@
+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
+Distribution/doc/Contents)
+
+
+= 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
--- a/Admin/page/Makefile Fri Apr 22 01:48:08 2005 +0200
+++ b/Admin/page/Makefile Fri Apr 22 02:03:52 2005 +0200
@@ -34,6 +34,11 @@
DOC_CONTENTS_MAIN = docu-contents.main
DOC_CONTENTS_DIST = docu-contents.dist
+# --- target directories for publishing to web site
+MAIN_PUB_MIRROR_SRC=sunbroy2.informatik.tu-muenchen.de:/home/proj/isabelle-repository/www/
+MAIN_PUB_DEST=sunbroy2.informatik.tu-muenchen.de:/home/html/isabelle/html-data/
+DIST_PUB_DEST=sunbroy2.informatik.tu-muenchen.de:/home/html/isabelle/html-data/dist/
+
# ---
# --- begin rules
@@ -44,11 +49,20 @@
@env DISTNAME=`cat DISTNAME` \
$(GENPAGE) -t $(MAIN_LAYOUT)/$(TEMPLATE_NAME) -c $(MAIN_CONTENT) -o $(MAIN_TARGET)
+pub-main: main
+ @echo "Publishing main pages."
+ scp main/* $(MAIN_PUB_MIRROR_SRC)
+ scp main/* $(MAIN_PUB_DEST)
+
dist:
@$(MKCONTENT) -p `cat DISTNAME`/doc/ $(DOC_CONTENT_FILE) $(DOC_CONTENTS_DIST)
@env DISTNAME=`cat DISTNAME` \
$(GENPAGE) -t $(DIST_LAYOUT)/$(TEMPLATE_NAME) -c $(DIST_CONTENT) -o $(DIST_TARGET)
+pub-dist: dist
+ @echo "Publishing dist pages."
+ scp dist/*.html $(DIST_PUB_DEST)
+
install: main dist
@cp -R dist/. ..
@mkdir -p ../../main-`cat DISTNAME`/.