diff options
Diffstat (limited to 'apps/plugins/puzzles/webpage.pl')
-rwxr-xr-x | apps/plugins/puzzles/webpage.pl | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/apps/plugins/puzzles/webpage.pl b/apps/plugins/puzzles/webpage.pl new file mode 100755 index 0000000000..3a0779ef0a --- /dev/null +++ b/apps/plugins/puzzles/webpage.pl | |||
@@ -0,0 +1,69 @@ | |||
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 | '<img style="margin: 0.5em" alt="" title="%s" width=150 height=150 border=0 src="%s-web.png" />'. | ||
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($description), | ||
45 | encode_entities($id), | ||
46 | encode_entities($id), | ||
47 | encode_entities($id), | ||
48 | encode_entities($id), | ||
49 | encode_entities($id), | ||
50 | encode_entities($win), | ||
51 | encode_entities($win), | ||
52 | encode_entities($summary); | ||
53 | |||
54 | if ($n > 0) { | ||
55 | if ($n % 5 == 0) { | ||
56 | print $links "<br />"; | ||
57 | } else { | ||
58 | print $links " | "; | ||
59 | } | ||
60 | } | ||
61 | printf $links '<a href="%s">%s</a>', | ||
62 | encode_entities($win), encode_entities($win); | ||
63 | |||
64 | $n++; | ||
65 | } | ||
66 | |||
67 | close $desc; | ||
68 | close $spans; | ||
69 | close $links; | ||