[llvm-commits] CVS: llvm-www/developers.cgi developers.txt

Jim Laskey jlaskey at apple.com
Mon Oct 24 18:03:48 PDT 2005



Changes in directory llvm-www:

developers.cgi added (r1.1)
developers.txt added (r1.1)
---
Log message:

First attempt to automate the developers page.



---
Diffs of the changes:  (+194 -0)

 developers.cgi |  177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 developers.txt |   17 +++++
 2 files changed, 194 insertions(+)


Index: llvm-www/developers.cgi
diff -c /dev/null llvm-www/developers.cgi:1.1
*** /dev/null	Mon Oct 24 20:03:46 2005
--- llvm-www/developers.cgi	Mon Oct 24 20:03:36 2005
***************
*** 0 ****
--- 1,177 ----
+ #!/usr/bin/perl -w
+ 
+ 
+ my $Folder = "/Volumes/Big2/llvm/llvm-www/";
+ 
+ #
+ # CopyInclude - Copy the contents of an include file to page.
+ #
+ sub CopyInclude {
+   (my $file_name) = @_;
+ 
+   if (open(INCLUDE, "<".$file_name)) {
+     while ($include = <INCLUDE>) {
+       print $include;
+     }
+     close INCLUDE;
+   } else {
+     print "Could not open file '$file_name' for reading!\n";
+     exit;
+   }
+ }
+ 
+ #
+ # Prolog - Issue all text prior to table.
+ #
+ sub Prolog {
+   # Issue the include prolog
+   CopyInclude($Folder."header.incl");
+   
+   # Issue the table prolog
+   print <<EOD
+ <div class="www_sectiontitle">Meet The LLVM Developers</div>
+ 
+ <p>The developers of LLVM have a variety of backgrounds and interests. This page
+ provides links to each developer's home page (or LLVM page if they have one).
+ If you'd like to get a link added to this page, email or contact us!</p>
+ 
+ <center>
+ <table cellpadding=2 cellspacing=3 border=0>
+   <tr align=center>
+     <td><b>Name</b></td>
+     <td><b>Picture</b></td>
+     <td rowspan=9> </td>
+     <td><b>Name</b></td>
+     <td><b>Picture</b></td>
+   </tr>
+ EOD
+ ;
+ }
+ 
+ #
+ # Epilog - Issue all text after table.
+ #
+ sub Epilog {
+   # Issue the table epilog
+   print <<EOD
+ </table>
+ </center>
+ EOD
+ ;
+ 
+   # Issue the include epilog
+   CopyInclude($Folder."footer.incl");
+ }
+ 
+ # Start the html page
+ print "Content-type: text/html\n\n";
+ 
+ # Issue the page prolog
+ Prolog;
+ 
+ # Open the developer data file
+ if (!open(DEVELOPERS, "<".$Folder."developers.txt")) {
+    print "Could not open file 'developers.txt' for reading!\n";
+    exit;
+ }
+ 
+ # Iterate though all developer data
+ my %Developers = ();
+ my @Fullnames = ();
+ my %Person = ();
+ 
+ while (my $Line = <DEVELOPERS>) {
+   # Clean up line
+   chomp $Line;
+   # Skip blank lines
+   next if $Line =~ /^\s*$/;
+   
+   # Split out firstname surname and parameters
+   if ($Line =~ /\s*(\w+)\s+(\w+)\s+(.*)$/) {
+     my ($Name, $Surname,$Rest) = ($1, $2, $3);
+     # Create sorting name
+     my $Fullname = $Name.", ".$Surname;
+     # Construct developer record
+     my %Developer = ( name => $Name, surname => $Surname );
+     # Break down parameters
+     my @Params = split(/\s+/, $Rest);
+     
+     # For each parameter
+     for my $Param (@Params) {
+       # Break out key and value
+       if ($Param =~ /^\s*(\w+)\s*=\s*(\S*)\s*/) {
+         my ($Key, $Value) = ($1, $2);
+         # Add parameter to developer record
+         $Developer{$Key} = $Value;
+       } else {
+         # Error
+         print "Unrecognized developer parameter: $Param\n";
+         exit;
+       }
+     }
+     
+     # Add developer to database
+     $Developers{$Fullname} = {%Developer};
+     # Add sort name to sort array
+     push @Fullnames, $Fullname;
+   } else {
+     # Error
+     print "Unrecognized developer record\n";
+     print $Line."\n";
+     exit;
+   }
+ }
+ 
+ # Close the developer data file
+ close DEVELOPERS;
+ 
+ # Sort names
+ @Fullnames = sort @Fullnames;
+ 
+ # Track column
+ my $Column = 0;
+ 
+ # For each developer in sorted order
+ for my $Fullname (@Fullnames) {
+   # Extract fields
+   my $Name = $Developers{$Fullname}{name};
+   my $Surname = $Developers{$Fullname}{surname};
+   my $HRef = $Developers{$Fullname}{href};
+   my $Image = $Developers{$Fullname}{img};
+   my $Width = $Developers{$Fullname}{width};
+   my $Height = $Developers{$Fullname}{height};
+   my $Alt = $Developers{$Fullname}{alt};
+   
+   print "  <tr align=center>\n" if $Column == 0;
+   print "    <td>\n";
+   print "      <a href=\"$HRef\">\n" if (defined $HRef);
+   print "         $Name $Surname\n";
+   print "      </a>\n" if (defined $HRef);
+   print "    </td>\n";
+   
+   print "    <td>\n";
+   print "      <a href=\"$HRef\">\n" if (defined $HRef);
+   print "        <img src=\"img/$Image\"";
+                       print " width=\"$Width\"" if defined $Width;
+                       print " height=\"$Height\"" if defined $Height;
+                       print " alt=\"$Alt\"" if defined $Alt;
+                       print " title=\"$Alt\"" if defined $Alt;
+                       print ">\n";
+   print "      </a>\n" if (defined $HRef);
+   print "    </td>\n";
+   
+   print "  </tr>\n" if $Column == 1;
+   $Column = $Column ^ 1;
+ }
+ 
+ # Clean up if odd number of developers
+ if ($Column == 1) {
+   print "    <td>\n";
+   print "    </td>\n";
+   print "  </tr>\n";
+ }
+ 
+ # Issue the table epilog
+ Epilog;
+ 
+ exit;


Index: llvm-www/developers.txt
diff -c /dev/null llvm-www/developers.txt:1.1
*** /dev/null	Mon Oct 24 20:03:48 2005
--- llvm-www/developers.txt	Mon Oct 24 20:03:36 2005
***************
*** 0 ****
--- 1,17 ----
+ Vikram	Adve	href=http://www-sal.cs.uiuc.edu/~vadve/	img=PhotoVikram.jpg	width=120	height=120	alt=vadve
+ Henrik	Bach	href=mailto:henrik_bach_llvm at hotmail.com	img=PhotoHenrik.jpg	width=172	height=219	alt=Henrik
+ Nate	Begeman	href=http://sampo.lasthome.net/	img=PhotoNate.jpg	width=160	height=130	alt=Sampo
+ Rob	Bocchino	img=PhotoRob.jpg	width=140	height=187	alt=Rob
+ Misha	Brukman	href=http://misha.brukman.net/code/llvm/	img=PhotoMisha.png	width=175	height=198	alt=Misha
+ Jeff	Cohen	href=http://jolt-lang.org/	img=PhotoJeffCohen.jpg	width=165	height=134	alt=jeffc
+ John	Criswell	href=http://www.bigw.org/~jcriswel/	img=PhotoJohn.gif	width=76	height=76	alt=Dogbert
+ Alkis	Evlogimenos	href=http://alkis.evlogimenos.com	img=PhotoAlkis.jpg	width=200	height=170	alt=alkis
+ Brian	Gaeke	href=http://netfiles.uiuc.edu/gaeke/www/	img=PhotoBrian.png	width=155	height=163	alt=brg
+ Brad	Jones	href=http://www.nondot.org/~kungfoomaster/	img=PhotoBrad.jpg	width=200	height=171	alt=KungFooMaster
+ Jim	Laskey	href=mailto:jlaskey at apple.com	img=PhotoJim.jpg	width=128	height=128	alt=Wickund
+ Chris	Lattner	href=http://nondot.org/sabre/LLVMNotes/	img=PhotoChris.jpg	width=150	height=152	alt=Sabre
+ Tanya	Lattner	href=http://nondot.org/tonic/	img=PhotoTanya.jpg	width=200	height=217	alt=tonic
+ Andrew	Lenharth	href=http://www.lenharth.org/~andrewl/	img=PhotoAndrew.jpg	width=140	height=177	alt=Andrew
+ Duraid	Madina	href=http://kinoko.c.u-tokyo.ac.jp/~duraid/llvm.html	img=PhotoDuraid.jpg	width=138	height=195	alt=camel_
+ Reid	Spencer	href=http://illuvium.net/rspencer/	img=PhotoReid.jpg	width=145	height=172	alt=Reid
+ Bill	Wendling	href=http://www.isanbard.org/~wendling/	img=PhotoBill.jpg	width=173	height=240	alt=Bill






More information about the llvm-commits mailing list