Admin/page/HOWTO
changeset 15811 ef719c524227
parent 15810 2c119fed01f0
equal deleted inserted replaced
15810:2c119fed01f0 15811:ef719c524227
     1 This file describes how to change and regenerate the Isabelle web pages.
     1 This file describes how to change and regenerate the Isabelle web pages.
       
     2 See the bottom of the file for a short overview of the setup.
     2 
     3 
     3 = Overview =
     4 == Changes to main ==
       
     5 
       
     6 To make changes to the content of the main pages:
       
     7 
       
     8  * Edit or add the appropriate Admin/page/main-content/*.content files
       
     9  * Run "make clean main" in Admin/page/
       
    10  * Check generated html in Admin/page/main/
       
    11  * Check changes in main-content into cvs
       
    12  * Run "make pub-main" to publish to the Munich web site
       
    13  * Run "mirror-main" in Cambridge to synchronize
       
    14 
       
    15 
       
    16 == Changes to dist ==
       
    17 
       
    18 These should be rare and are a bit more involved at the moment. The
       
    19 principle is the same as for the main pages, but the script needs
       
    20 access to the distribution files to calculate sizes etc:
       
    21 
       
    22  * Edit or add the appropriate Admin/page/dist-content/*.content files
       
    23  * Make sure the Isabelle package files are available in directory Admin/page.
       
    24    On sunbroy2, the following does the trick (in directory Admin/page):
       
    25    
       
    26    ln -s /home/html/isabelle/html-data/dist/contrib
       
    27    for f in /home/html/isabelle/html-data/dist/*.tar.gz; do ln -s $f; done
       
    28  
       
    29  * Run "make clean dist" in Admin/page/
       
    30  * Check generated html in Admin/page/dist/
       
    31  * Check changes in dist-content into cvs
       
    32  * Run "make pub-dist" to publish to the Munich web site 
       
    33    (will only copy *.html files, will not update other distribution files)
       
    34  * Run "mirror-dist" in Cambridge and notify other mirrors to synchronize
       
    35 
       
    36 
       
    37 == Overview ==
     4 
    38 
     5 The pages are separated into two sets:
    39 The pages are separated into two sets:
     6  * main, for the main home page in Munich and Cambridge, and 
    40  * main, for the main home page in Munich and Cambridge, and 
     7  * dist, for the current Isabelle distribution more widely mirrored.
    41  * dist, for the current Isabelle distribution more widely mirrored.
     8 
    42 
     9 Both are generated by a script (genpage) that takes *.content files and
    43 Both are generated by a script (genpage) that takes *.content files and
    10 puts them into a common template.
    44 puts them into a common template.
    11 
    45 
    12 This is supposed to achieve the following:
    46 This is supposed to achieve the following:
    13  * separation of layout and content
    47  * separation of layout and content
    14  * automtic consistency between contents of distribution and web page,
    48  * automatic consistency between contents of distribution and web
    15    including name of the distribution, file sizes of download packages, 
    49    page, including name of the distribution, file sizes of download
    16    and documentation generated from isabelle/Doc
    50    packages, and documentation generated from isabelle/Doc
    17 
    51 
    18 For this the web page generation script needs access to the following
    52 For this the web page generation script needs access to the following
    19 support files:
    53 support files:
    20 
    54 
    21 Admin/page/DISTNAME   (name of the distribution, e.g. Isabelle2004)
    55 Admin/page/DISTNAME   (name of the distribution, e.g. Isabelle2004)
    25 Both files are set to the right values automatically by makedist when
    59 Both files are set to the right values automatically by makedist when
    26 the Isabelle distribution is generated and maintained manually in
    60 the Isabelle distribution is generated and maintained manually in
    27 between releases by the release manager in Admin/page in CVS. (In
    61 between releases by the release manager in Admin/page in CVS. (In
    28 between releases Admin/page/Contents can be different from
    62 between releases Admin/page/Contents can be different from
    29 Distribution/doc/Contents)
    63 Distribution/doc/Contents)
    30 
       
    31 
       
    32 = Changes to main =
       
    33 
       
    34 To make changes to the content of the main pages:
       
    35 
       
    36  * Edit or add the appropriate Admin/page/main-content/*.content files
       
    37  * Run "make clean main"
       
    38  * Check generated html in Admin/page/main/
       
    39  * Check into cvs
       
    40  * Run "make pub-main" to publish to the Munich web site
       
    41  * Run "mirror-main" in Cambridge to synchronize
       
    42 
       
    43 
       
    44 = Changes to dist =
       
    45 
       
    46 These should be rare and is a bit more involved at the moment. The
       
    47 principle is the same as for the main pages, but the script needs
       
    48 access to the distribution files to calculate sizes etc:
       
    49 
       
    50  * Edit or add the appropriate Admin/page/dist-content/*.content files
       
    51  * Make sure the Isabelle package files are available in directory Admin/page.
       
    52    On sunbroy2, the following does the trick:
       
    53    
       
    54    ln -s /home/html/isabelle/html-data/dist/contrib
       
    55    for f in /home/html/isabelle/html-data/dist/*.tar.gz; do ln -s $f; done
       
    56  
       
    57  * Run "make clean dist"
       
    58  * Check generated html in Admin/page/dist/
       
    59  * Check into cvs
       
    60  * Run "make pub-dist" to publish to the Munich web site 
       
    61    (will only copy *.html files, will not update other distribution files)
       
    62  * Run "mirror-dist" in Cambridge and notify other mirrors to synchronize