Diff for /doc/build/generate_web_pages.pl between versions 1.9 and 1.65

version 1.9, 2004/07/06 19:11:08 version 1.65, 2024/08/05 23:11:58
Line 10  generate_web_pages.pl - generate the web Line 10  generate_web_pages.pl - generate the web
   
 Yeah, it does that.  Yeah, it does that.
   
 Basically, there's a few comments in shell.html that we replace with  Basically, there's a few comments in shell.hemp that we replace with
     what we really want in the files. Pretty simple.      what we really want in the files. Pretty simple.
   
 The point of this is to look like the main site.  The point of this is to look like the main site.
Line 21  The point of this is to look like the ma Line 21  The point of this is to look like the ma
 # add/subtract/etc. pages. Index is done seperately.  # add/subtract/etc. pages. Index is done seperately.
 # Title, source  # Title, source
   
 my @pages = (   my @longlifecycle = (
       ['Red Hat 7.3 Install', 'rh73'],                ['Red Hat Enterprise Linux 9 Install','RHEL9_install'], 
       ['Fedora Install', 'fedora_install'],                ['Red Hat Enterprise Linux 8 Install','RHEL8_install'],
       ['Manual Install from Tarballs', 'manual_install'],                ['Red Hat Enterprise Linux 7 Install','RHEL7_install'],
       ['Upgrading from Previous LON-CAPA install', 'upgrade'],                ['Oracle Linux 9 Install','oracle9_install'],
       ['Post-installation Configuration', 'config'],                ['Oracle Linux 8 Install','oracle8_install'],
       ['LON-CAPA License (Gnu Public License)', 'license']                ['Oracle Linux 7 Install','oracle7_install'],
                 ['AlmaLinux 9 Install','alma9_install'],
                 ['AlmaLinux 8 Install','alma8_install'],
                 ['Rocky Linux 9 Install','rocky9_install'],
                 ['Rocky Linux 8 Install','rocky8_install'],
                 ['SuSE Linux Enterprise Server 15 Install', 'sles15_install'],
                 ['SuSE Linux Enterprise Server 12 Install', 'sles12_install'],
                 ['Debian 12', 'debian12_install.frag'],
                 ['Debian 11', 'debian11_install.frag'],
                 ['Debian 10', 'debian10_install.frag'],
                 ['Ubuntu 24.04 LTS Server', 'ubuntu24LTS_install'],
                 ['Ubuntu 22.04 LTS Server', 'ubuntu22LTS_install'],
                 ['Ubuntu 20.04 LTS Server', 'ubuntu20LTS_install'],
                 ['Ubuntu 18.04 LTS Server', 'ubuntu18LTS_install'],
                 ['Ubuntu 16.04 LTS Server', 'ubuntu16LTS_install'],
                 ['CentOS Stream 9 Install','centos9-stream_install'],
                 ['CentOS Linux 7 Install','centos7_install'],
       );        );
   
   my @shortlifecycle = (
                 ['Fedora 40 Install', 'FC40_install'],
                 ['Fedora 39 Install', 'FC39_install'],
                 ['Fedora 38 Install', 'FC38_install'],
                 );
    
   my @ancillary = (
                 ['Upgrading from Previous LON-CAPA install', 'upgrade'],
                 ['LON-CAPA License (Gnu Public License)', 'license']
                 );
   
   my @other_pages = ( 
       ['Developer Information', 'dev'],
       ['Configuration Information', 'config'],
       );
   
 open SHELL, '<', "shell.html";  open SHELL, '<', "shell.html";
 my $shell = join '', <SHELL>;  my $shell = join '', <SHELL>;
 $shell =~ s/\r/\n/g;  $shell =~ s/\r/\n/g;
   
 # Call with: The title, breadcrumb, and content  # Call with: The title, breadcrumb, and content
 sub replaceText {  sub replaceText {
     my ($title, $breadcrumb, $content) = @_;      my ($title, $links, $breadcrumb, $content) = @_;
   
     my $page = $shell;      my $page = $shell;
     $page =~ s/\<!-- *title *--\>/$title/g;      $page =~ s/\<!-- *title *--\>/$title/g;
       $page =~ s/\<!-- *links *--\>/$links/g;
     $page =~ s/\<!-- *breadcrumb *--\>/$breadcrumb/g;      $page =~ s/\<!-- *breadcrumb *--\>/$breadcrumb/g;
     $page =~ s/\<!-- *content *--\>/$content/g;      $page =~ s/\<!-- *content *--\>/$content/g;
   
Line 49  sub replaceText { Line 82  sub replaceText {
 # Do the index page  # Do the index page
   
 open INDEX, '>', "index.html";  open INDEX, '>', "index.html";
 my $content = <<PRELUDE;  my $content = <<PRELUDE; 
 <p>LON-CAPA is based upon a lot of Open Source modules, so it's important  
 to have the right environment on your computer. Since it will frequently   <p>LON-CAPA is based upon a lot of Open Source modules, so it's
 be the case that LON-CAPA will be going onto a dedicated machine, we've   important to have the right environment on your computer. This is most
 included instructions for installing LON-CAPA concurrently with new  easily done by installing on a dedicated machine while installing the
 installations of some of the popular Linux distributions.</p>  operating system.</p>
   
 <p>A tarball installation is also available for those who wish to   <p>The configuring of LON-CAPA is part of the install process of the
 install on other distributions. Currently, Apache 1.x is required;  software. However, in case something needs to be altered, or isn't
 LON-CAPA does not yet run on 2.0.</p>  working, here is some <a href="config.html">information on configuring
   LON-CAPA</a>.</p>
   
 <p>For all distributions, please see how to   
 <a href="config.html">configure the server after installation</a>.</p>  
 <hr />  <hr />
   <h3>Supported Linux Distros</h3>
 PRELUDE  PRELUDE
   
 $content .= "<ul>\n";  $content .= '<p>LON-CAPA is supported on a variety of Linux distributions.</p>'."\n".
 for (@pages) {               '<p>In the list below these are divided into distros with a long
   life cycle, i.e., those for which a particular version is supported by the distributor for 5 years or more, those with a short life cycle, i.e., those for which a particular version is supported for up to 18 months, and those initially advertised with a long lifecycle, later reduced.</p>'.     
               '<div style="float: left;">'.
               '<b>Long life cycle</b><br />'.
               '<ul>'."\n";
   for (@longlifecycle) {
       $content .= "<li><a href='$_->[1].html'>$_->[0]</a></li>\n";
   }
   $content .= '</ul></div>'."\n".
               '<div style="float: left;">'.
               '<b>Short life cycle</b><br />'.
               '<ul>'."\n";
   for (@shortlifecycle) {
       $content .= "<li><a href='$_->[1].html'>$_->[0]</a></li>\n";
   }
   $content .= '</ul></div>'."\n".'<br clear="all" />'."\n".
               '<b>Additional information</b><ul>'."\n";
   for (@ancillary) {
     $content .= "<li><a href='$_->[1].html'>$_->[0]</a></li>\n";      $content .= "<li><a href='$_->[1].html'>$_->[0]</a></li>\n";
 }  }
   $content .= '</ul><br />';
   
   
   my $testing_content = '';
   if (@testing_pages) {
       $testing_content .= "<hr/><p>Installation on the following systems requires the use of a testing release of LON-CAPA.</p>\n";
       $testing_content .= "<ul>\n";
       for (@testing_pages) {
    $testing_content .= "<li><a href='$_->[1].html'>$_->[0]</a></li>\n";
       }
       $testing_content .= "</ul>\n";
   }
   
 $content .= "</ul>\n";  
   
 $content .= <<'POSTLUDE';  $content .= <<"POSTLUDE";
 <hr />  <hr />
 <a name="download" />  <a name="download" />
 <h3>Downloading LON-CAPA</h3>  <h3>Downloading LON-CAPA</h3>
   
 <p>  <p>
 <b>Current Release is Version LATESTVERSION.  <b>Current Production Release is Version LATESTVERSION.
 This version was released on LATESTDATE.</b>  This version was released on LATESTDATE.</b>
 </p>  </p>
 <p>  <p>
 You can download the <b>most current version of LON-CAPA</b> at  You can download the <b>most current production version of LON-CAPA</b> at
 <a href="http://install.lon-capa.org/versions/loncapa-current.tar.gz">  <a href="http://install.lon-capa.org/versions/loncapa-current.tar.gz">
 http://install.lon-capa.org/versions/loncapa-current.tar.gz</a>  http://install.lon-capa.org/versions/loncapa-current.tar.gz</a>
 (version LATESTVERSION).  (version LATESTVERSION).
 </p>  </p>
 TESTINGRELEASE_START  TESTINGRELEASE_START
 <p>  <p>
 <b>Current Release is Version LATESTTESTINGVERSION.  <b>Current Testing Release is Version LATESTTESTINGVERSION.
 This version was released on LATESTTESTINGDATE.</b>  This version was released on LATESTTESTINGDATE.</b>
 </p>  </p>
 <p>  <p>
Line 98  You can download the <b>testing version Line 159  You can download the <b>testing version
 http://install.lon-capa.org/versions/loncapa-testing.tar.gz</a>  http://install.lon-capa.org/versions/loncapa-testing.tar.gz</a>
 (version LATESTTESTINGVERSION).  (version LATESTTESTINGVERSION).
 </p>  </p>
   $testing_content
 TESTINGRELEASE_END  TESTINGRELEASE_END
 <p>  
 The <b>development release of LON-CAPA</b> is at:  
 <a href="http://install.lon-capa.org/versions/loncapa-unstable.tar.gz">  
 http://install.lon-capa.org/versions/loncapa-unstable.tar.gz</a>.  
 </p>  
 <p>  
 To view the code development history of LON-CAPA, you can access a <a  
 href="http://zaphod.lite.msu.edu/cgi-bin/cvsweb.cgi/">web version</a>  
 of our CVS respository. Otherwise, please contact Helen (<a  
 href="mailto:helen@lon-capa.org"> helen@lon-capa.org</a>) to request a  
 CVS USERNAME.  
 </p>  
 <p>  
 The initial CVS commands would be:  
 </p>  
 <blockquote>  
 <table bgcolor="#aaaaaa" border="1">  
 <tr><td>  
 <pre>  
 export CVSROOT=:pserver:USERNAME@zaphod.lite.msu.edu:/home/cvs   
 cvs login   
 cvs co loncapa  
 </pre>  
 </td></tr></table>  
 </blockquote>  
 <p>  
 For more information on using CVS, please visit  
 <a href="http://www.cvshome.org/">http://www.cvshome.org/</a>  
 or read <tt>loncom/build/readme.html</tt> after downloading  
 the current version of LON-CAPA as described above.  
 </p>  
   
   <hr />
 POSTLUDE  POSTLUDE
   
 my $index = replaceText("Install LON-CAPA", "Install LON-CAPA",  open(RELEASE, '<', "release.frag");
     $content);  $content .= join('',<RELEASE>);
   close(RELEASE);
   
   $content .= "<ul>\n";
   my @testing_pages = ( 
         );
   for (@other_pages) {
       $content .= "<li><a href='$_->[1].html'>$_->[0]</a></li>\n";
   }
   
   $content .= "</ul>\n";
   
   $links='<link rel="alternate" type="application/rss+xml" title="CVS RSS" href="loncapa.rss" />';
   
   my $index = replaceText("Install LON-CAPA", $links, '<font color="#006600" face="Arial, Helvetica, sans-serif">Documentation/Download</font>',
    $content);
   
 print INDEX $index;  print INDEX $index;
 close INDEX;  close INDEX;
   
 # Build the pages  # Build the pages
 for (@pages) {  for (@longlifecycle,@shortlifecycle,@otherlifecycle,@ancillary,@other_pages,@testing_pages) {
     my ($title, $source) = @$_;      my ($title, $source) = @$_;
   
     # read in content      # read in content
Line 148  for (@pages) { Line 195  for (@pages) {
     $content = join '', <SOURCE>;      $content = join '', <SOURCE>;
     close SOURCE;      close SOURCE;
   
     $content = replaceText($title, '<a href="/">Install LON-CAPA</a> &gt; ' . $title,      $content = replaceText($title, '', '<font face="Arial, Helvetica, sans-serif"><a href="/">Documentation/Download</a> &raquo; '.
                              '</font><font color="#006600" face="Arial, Helvetica, sans-serif">'.$title,
    $content);     $content);
     open DEST, '>', $source.'.html';      open DEST, '>', $source.'.html';
     print DEST $content;      print DEST $content;

Removed from v.1.9  
changed lines
  Added in v.1.65


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>