chiark / gitweb /
Net: reference-count the barriers array.
[sgt-puzzles.git] / webpage.pl
1 #!/usr/bin/perl
2
3 # Construct the two pieces of my main puzzle collection web page that
4 # need to vary with the set of puzzles: the big list of <span>s with
5 # puzzle pictures and links etc, and the list of Windows executable
6 # files down in the downloads section.
7
8 use strict;
9 use warnings;
10 use HTML::Entities;
11
12 open my $desc, "<", "gamedesc.txt"
13     or die "gamedesc.txt: open: $!\n";
14
15 open my $spans, ">", "wwwspans.html"
16     or die "wwwspans.html: open: $!\n";
17
18 open my $links, ">", "wwwlinks.html"
19     or die "wwwspans.html: open: $!\n";
20
21 my $n = 0;
22 while (<$desc>) {
23     chomp;
24     my ($id, $win, $displayname, $description, $summary) = split /:/, $_;
25
26     printf $spans
27         '<span class="puzzle"><table>'.
28         '<tr><th align="center">%s</th></tr>'.
29         '<tr><td align="center">'.
30         '<a href="js/%s.html"><img style="margin: 0.5em" alt="" title="%s" width=150 height=150 border=0 src="%s-web.png" /></a>'.
31         '</td></tr>'.
32         '<tr><td align="center" style="font-size: 70%%"><code>[</code>'.
33         ' <a href="java/%s.html">java</a> '.
34         '|'.
35         ' <a href="js/%s.html">js</a> '.
36         '|'.
37         ' <a href="doc/%s.html#%s">manual</a> '.
38         '<code>]</code><br><code>[</code>'.
39         ' <a href="%s"><code>%s</code></a> '.
40         '<code>]</code></td></tr>'.
41         '<tr><td align="center">%s</td></tr></table></span>'.
42         "\n",
43         encode_entities($displayname),
44         encode_entities($id),
45         encode_entities($description),
46         encode_entities($id),
47         encode_entities($id),
48         encode_entities($id),
49         encode_entities($id),
50         encode_entities($id),
51         encode_entities($win),
52         encode_entities($win),
53         encode_entities($summary);
54
55     if ($n > 0) {
56         if ($n % 5 == 0) {
57             print $links "<br />";
58         } else {
59             print $links " | ";
60         }
61     }
62     printf $links '<a href="%s">%s</a>',
63     encode_entities($win), encode_entities($win);
64
65     $n++;
66 }
67
68 close $desc;
69 close $spans;
70 close $links;