howto for changing web pages, simplified makefile access
authorkleing
Fri, 22 Apr 2005 02:03:52 +0200
changeset 15810 2c119fed01f0
parent 15809 3355abbeced1
child 15811 ef719c524227
howto for changing web pages, simplified makefile access
Admin/page/HOWTO
Admin/page/Makefile
--- /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`/.