File:  [LON-CAPA] / doc / build / generate_web_pages.pl
Revision 1.29: download - view: text, annotated - select for diffs
Wed Jul 12 20:00:09 2006 UTC (17 years, 10 months ago) by albertel
Branches: MAIN
CVS tags: version_2_2_0, version_2_1_99_3, version_2_1_99_2, version_2_1_99_1, HEAD
- adding FC5 to the testing release section
- updating the release scedule
- updating the release scedule
- updating the release scedule
- updating the release scedule

    1: #!/usr/bin/perl -w
    2: 
    3: =pod
    4: 
    5: =NAME
    6: 
    7: generate_web_pages.pl - generate the web pages for the install site
    8: 
    9: =SYNOPSIS
   10: 
   11: Yeah, it does that.
   12: 
   13: Basically, there's a few comments in shell.hemp that we replace with
   14:     what we really want in the files. Pretty simple.
   15: 
   16: The point of this is to look like the main site.
   17: 
   18: =cut
   19: 
   20: # This is the list of pages to generate: Change this to
   21: # add/subtract/etc. pages. Index is done seperately.
   22: # Title, source
   23: 
   24: my @pages = ( 
   25: #	      ['Red Hat 7.3 Install', 'rh73'],
   26: #	      ['Fedora Install', 'fedora_install'],
   27:               ['Fedora Core 3 Install', 'FC3_install'],
   28:               ['Fedora Core 4 Install', 'FC4_install'],
   29:               ['Red Hat Enterprise Linux 4 Install','RHEL4_install'],
   30:               ['SuSE Linux Professional 9.2 Install', 'suse9.2_install'],
   31:               ['SuSE Linux Professional 9.3 Install', 'suse9.3_install'],
   32:               ['SuSE Linux Enterprise Server 9 Install', 'sles9_install'],
   33: #	      ['Manual Install from Tarballs', 'manual_install'],
   34: 	      ['Upgrading from Previous LON-CAPA install', 'upgrade'],
   35: 	      ['LON-CAPA License (Gnu Public License)', 'license']
   36: 	      );
   37: 
   38: my @testing_pages = ( 
   39: 		      ['Fedora Core 5 Install', 'FC5_install'],
   40: 		      );
   41: my @other_pages = ( 
   42: 		    ['Developer Information', 'dev'],
   43: 		    ['Configuration Information', 'config'],
   44: 		    );
   45: 
   46: open SHELL, '<', "shell.html";
   47: my $shell = join '', <SHELL>;
   48: $shell =~ s/\r/\n/g;
   49: 
   50: # Call with: The title, breadcrumb, and content
   51: sub replaceText {
   52:     my ($title, $links, $breadcrumb, $content) = @_;
   53: 
   54:     my $page = $shell;
   55:     $page =~ s/\<!-- *title *--\>/$title/g;
   56:     $page =~ s/\<!-- *links *--\>/$links/g;
   57:     $page =~ s/\<!-- *breadcrumb *--\>/$breadcrumb/g;
   58:     $page =~ s/\<!-- *content *--\>/$content/g;
   59: 
   60:     return $page;
   61: }
   62: 
   63: # Do the index page
   64: 
   65: open INDEX, '>', "index.html";
   66: my $content = <<PRELUDE; 
   67: 
   68: <p>LON-CAPA is based upon a lot of Open Source modules, so it's
   69: important to have the right environment on your computer. This is most
   70: easily done by installing on a dedicated machine while installing the
   71: operating system.</p>
   72: 
   73: <p>The configuring of LON-CAPA is part of the install process of the
   74: software. However, In case something needs to be altered, or isn't
   75: working, here is some <a href="config.html">information on configuring
   76: LON-CAPA</a>.</p>
   77: 
   78: <hr />
   79: PRELUDE
   80: 
   81: $content .= "<ul>\n";
   82: for (@pages) {
   83:     $content .= "<li><a href='$_->[1].html'>$_->[0]</a></li>\n";
   84: }
   85: 
   86: $content .= "</ul>\n";
   87: 
   88: my $testing_content;
   89: if (@testing_pages) {
   90:     $testing_content .= "<hr/><p>Installation on the following systems requires the use of a testing release of LON-CAPA.</p>\n";
   91:     $testing_content .= "<ul>\n";
   92:     for (@testing_pages) {
   93: 	$testing_content .= "<li><a href='$_->[1].html'>$_->[0]</a></li>\n";
   94:     }
   95:     $testing_content .= "</ul>\n";
   96: }
   97: 
   98: 
   99: open(RELEASE, '<', "release.frag");
  100: $content .= join('',<RELEASE>);
  101: close(RELEASE);
  102: 
  103: $content .= <<"POSTLUDE";
  104: <hr />
  105: <a name="download" />
  106: <h3>Downloading LON-CAPA</h3>
  107: 
  108: <p>
  109: <b>Current Production Release is Version LATESTVERSION.
  110: This version was released on LATESTDATE.</b>
  111: </p>
  112: <p>
  113: You can download the <b>most current production version of LON-CAPA</b> at
  114: <a href="http://install.lon-capa.org/versions/loncapa-current.tar.gz">
  115: http://install.lon-capa.org/versions/loncapa-current.tar.gz</a>
  116: (version LATESTVERSION).
  117: </p>
  118: TESTINGRELEASE_START
  119: <p>
  120: <b>Current Testing Release is Version LATESTTESTINGVERSION.
  121: This version was released on LATESTTESTINGDATE.</b>
  122: </p>
  123: <p>
  124: You can download the <b>testing version of the upcoming LON-CAPA</b> at
  125: <a href="http://install.lon-capa.org/versions/loncapa-testing.tar.gz">
  126: http://install.lon-capa.org/versions/loncapa-testing.tar.gz</a>
  127: (version LATESTTESTINGVERSION).
  128: </p>
  129: $testing_content
  130: TESTINGRELEASE_END
  131: 
  132: <hr />
  133: POSTLUDE
  134: 
  135: $content .= "<ul>\n";
  136: for (@other_pages) {
  137:     $content .= "<li><a href='$_->[1].html'>$_->[0]</a></li>\n";
  138: }
  139: 
  140: $content .= "</ul>\n";
  141: 
  142: $links='<link rel="alternate" type="application/rss+xml" title="CVS RSS" href="loncapa.rss" />';
  143: 
  144: my $index = replaceText("Install LON-CAPA", $links, "Install LON-CAPA",
  145: 			$content);
  146: 
  147: print INDEX $index;
  148: close INDEX;
  149: 
  150: # Build the pages
  151: for (@pages,@other_pages,@testing_pages) {
  152:     my ($title, $source) = @$_;
  153: 
  154:     # read in content
  155:     open SOURCE, '<', $source.'.frag';
  156:     $content = join '', <SOURCE>;
  157:     close SOURCE;
  158: 
  159:     $content = replaceText($title, '', '<a href="/">Install LON-CAPA</a> &gt; ' . $title,
  160: 			   $content);
  161:     open DEST, '>', $source.'.html';
  162:     print DEST $content;
  163:     close DEST;
  164: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.