]> Pileus Git - ~andy/aweather-web/blob - html.ct
Add sitemap, per-page descriptions, misc updates
[~andy/aweather-web] / html.ct
1 <% #include "html.h" %>
2
3 <% /* Global functions */ %>
4 <% void print_header(void) { %>
5 Content-Type: text/html; charset=UTF-8
6
7 <% } %>
8
9 <% void print_nav(const page_t *page, const page_t *cur) { %>
10         <% const char *class = page == cur ? " class=\"cur\"" : ""; %>
11         <a href="<%= page->link %>"<%= class %>><%= page->name %></a>
12 <% } %>
13
14 <% void print_screen(char *name) { %>
15         <a href="screens/<%= name %>.png">
16                 <img src="screens/<%= name %>_s.jpg" alt="<%= name %>" class="screen" />
17         </a>
18 <% } %>
19
20 <% void print_page(const page_t *page) { %>
21 <?xml version="1.0" encoding="UTF-8"?>
22 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
23 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
24         <head>
25                 <title>AWeather<% if (page->name) printf(" - %s", page->name); %></title>
26                 <link rel="shortcut icon" href="images/aweather.ico" />
27                 <link href="data/global.css" rel="stylesheet" type="text/css" />
28                 <meta http-equiv="X-UA-Compatible" content="IE=9" />
29                 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
30                 <meta name="keywords" content="weather, radar, nexrad, level-ii, virtual globe, grits, rsl" />
31                 <% if (page->desc) { %>
32                 <meta name="description" content="<%= page->desc %>" />
33                 <% } %>
34                 <meta name="google-site-verification" content="-SZkTpNRWHrpESTGNZ8Pshnz4zKbwfKv54NoavUKK_Y" />
35                 <meta name="y_key" content="abe8287921b25151" />
36         </head>
37         <body>
38                 <div class="top">
39                         <a href="."><img class="logo" src="images/logo.png" alt="AWeather" /></a>
40                         <h1 class="title"><a href=".">AWeather</a></h1>
41                         <h2 class="nav">
42                                 <% for (int i = 0; header[i].link; i++) print_nav(&header[i], page); %>
43                                 <span class="sep"></span>
44                                 <% for (int i = 0; other[i].link;  i++) print_nav(&other[i],  page); %>
45                         </h2>
46                 </div>
47                 <div class="content">
48                         <!--
49                                 <p class="msg">This site is currently under construction.</p>
50                                 <p class="msg" style="font-size:8pt; font-weight:normal;">
51                                   If I had an animated GIF of a guy with a shovel, I would put it here.</p>
52                         -->
53                         <% page->print(); %>
54                         <div style="clear:both;"></div>
55                 </div>
56                 <p class="footer">
57                         Copyright © 2011 Andy Spencer
58                         <% for (int i = 0; footer[i].link; i++) { %>
59                                 | <% print_nav(&footer[i], page); %>
60                         <% } %>
61                 </p>
62         </body>
63 </html>
64 <% } %>
65
66 <% /* Normal Pages */ %>
67 <% void print_about(void) { %>
68         <p class="intro">
69                 AWeather is a free/open source application which has been
70                 designed to integrate and visualize high-quality meteorological
71                 data using an interactive Virtual Globe interface suitable for
72                 a wide range of users including weather enthusiasts, academics,
73                 and professionals.
74
75                 It is designed to provide more information than is typically
76                 available from weather widgets and simple desktop applications.
77                 At the same time, it strives to be simpler and easier to use
78                 than existing meteorological software packages such as GEMPAK
79                 and IDV.
80         </p>
81         <hr />
82
83         <h2>Features</h2>
84         <div class="col">
85                 <h3>Working</h3>
86                 <ul>
87                         <li>High quality data sources<ul>
88                                 <li>Level-II archives</li>
89                                 <li>Conus NEXRAD imagery</li>
90                                 <li>Volume display of dBZ iso surfaces</li>
91                         </ul></li>
92                         <li>Virtual Globe base rendering<ul>
93                                 <li>Including terrain, satellite, and map imagery</li>
94                         </ul></li>
95                         <li>Real-time and offline mode</li>
96                         <li>Auto-updating</li>
97                         <li>Fullscreen mode</li>
98                 </ul>
99         </div>
100         <div class="col">
101                 <h3>Planned</h3>
102                 <ul>
103                         <li>Additional data sources<ul>
104                                 <li>Watch/warning/advisory boxes</li>
105                                 <li>Surface data (temp., humidity, etc)</li>
106                         </ul></li>
107                         <li>Derived NEXRAD data<ul>
108                                 <li>Storm relative motion</li>
109                                 <li>Compost reflective</li>
110                                 <li>Echo tops</li>
111                         </ul></li>
112                         <li>Vertical cross sections</li>
113                         <li>Animation</li>
114                 </ul>
115         </div>
116
117         <div style="clear:both;"></div>
118         <h2>Licencing</h2>
119         <p>AWeather is free software licensed under the terms of the
120            <a href="http://www.gnu.org/licenses/gpl.html">GNU GPL</a>.
121            As such, it can be used by any individuals or organizations
122            without any license fees or royalties.</p>
123 <% } %>
124
125 <% void print_news(void) { %>
126         <p class="quote">Now that it's spring again, progress on AWeather is continuing.</p>
127         <dl class="news">
128                 <dt>2011-06-19</dt>
129                 <dd>
130                         AWeather 0.5 released: <ul>
131                                 <li>Support for volume rendering (isosurfaces)</li>
132                                 <li>Automatic updating</li>
133                                 <li>Fullscreen mode</li>
134                                 <li>Dropped GtkGLExt</li>
135                         </ul>
136                         Forked RSL:<ul>
137                                 <li>Added additional radars</li>
138                                 <li>Fixed lots of bugs</li>
139                                 <li>General code cleanup</li>
140                                 <li>Available from <a href="files/">files</a> directory
141                                     and <a href="<%= GW_RSL %>">git</a></li>
142                         </ul>
143                         <b>Update:</b> AWeather 0.5 is also compatible with the
144                         newly released RSL v1.41
145                 </dd>
146
147                 <dt>2011-06-13</dt>
148                 <dd>Started work on this new website. Lots of progress in AWeather as well:<ul>
149                         <li>Merged support for isosurfaces to the main branch (Finally!)</li>
150                         <li>Added an option to automatically refresh after a timeout</li>
151                         <li>New fullscreen mode</li>
152                 </ul></dd>
153
154                 <dt>2010-05-17</dt>
155                 <dd>AWeather 0.4.1:<ul>
156                         <li>Win32 fixes and improved debug support</li>
157                         <li>Fix bug with daylight savings time</li>
158                         <li>Function to clear old cache entries</li>
159                 </ul></dd>
160
161                 <dt>2010-05-14</dt>
162                 <dd>AWeather 0.4:<ul>
163                         <li>Conus radar images</li>
164                         <li>Multiple radars support</li>
165                         <li>Gentoo, Ubuntu, MS Windows and source packages are available</li>
166                 </ul></dd>
167
168                 <dt>2009-11-09</dt>
169                 <dd>AWeather 0.3.0 released, based on libgis but still rather
170                     buggy.</dd>
171
172                 <dt>2009-10-24</dt>
173                 <dd>AWeather 0.2.3 (maintenance release).<br/>
174                     Added a Application menu entry and a few build/runtime fixes.</dd>
175
176                 <dt>2009-09-02</dt>
177                 <dd>The source repository has been migrated to Git. A lot of
178                     progress is being made on libgis, which is now able to display
179                     a virtual globe using data from NASA servers.</dd>
180         </dl>
181         <p class="note">See also: AWeather's <a href="<%= GW_AWEATHER %>">gitweb</a></p>
182 <% } %>
183
184 <% void print_screenshots(void) { %>
185         <p>
186                 AWeather provides a consistent user interface that allows the
187                 user to zoom in from a high level view of the entire Earth down
188                 to regional and mesoscale views.
189         </p>
190
191         <ul class="gallery">
192                 <li>
193                         <% print_screen("synop"); %>
194                         High level view using Grits
195                 </li>
196                 <li>
197                         <% print_screen("region"); %>
198                         Regional view over the midwest
199                 </li>
200                 <li>
201                         <% print_screen("meso"); %>
202                         Mesoscale view of a tornadic system
203                 </li>
204                 <li>
205                         <% print_screen("iso"); %>
206                         Close up showing a 52.5 dBZ isosurface
207                 </li>
208         </ul>
209 <% } %>
210
211 <% void print_download(void) { %>
212         <h2>Stable releases</h2>
213         <p class="note">
214                 While AWeather won't be considered stable until version 1.0,
215                 these are as close to stable as you can get until then
216         </p>
217         <ul>
218                 <li class="linux"><dl class="inline">
219                         <dt>Source code</dt>
220                         <dd>
221                         <a href="files/aweather-<%= VERSION %>.tar.gz">aweather-<%= VERSION %>.tar.gz</a>,
222                         <a href="../grits/grits-<%= VERSION %>.tar.gz">grits-<%= VERSION %>.tar.gz</a>,
223                         <a href="files/rsl-1.40.tar.gz">rsl-1.40.tar.gz</a>
224                         </dd>
225
226                         <dt>Gentoo</dt>
227                         <dd>Emerge <span class="code">sci-geosciences/aweather</span> from the sunrise overlay</dd>
228
229                         <dt>Debian</dt>
230                         <dd><a href="debian/<%= VERSION_DEBIAN %>/">.deb files</a>, further packaging in progress</dd>
231                 </dl></li>
232                 <li class="windows"><dl class="inline">
233                         <dt>Windows</dt>
234                         <dd><a href="files/aweather-<%= VERSION_WIN32 %>-gtk.exe">aweather-<%= VERSION_WIN32 %>-gtk.exe</a>
235                                 (Use this if you know what you're doing)</dd>
236
237                         <dt>Without GTK</dt>
238                         <dd><a href="files/aweather-<%= VERSION_WIN32 %>.exe">aweather-<%= VERSION_WIN32 %>.exe</a></dd>
239                 </dl></li>
240                 <li class="macos" style="padding-top: .8em; padding-bottom: .8em"><dl class="inline">
241                         <dt>Mac OS X</dt>
242                         <dd>Coming soon (Mac OS developer? <a href="/code/issues/1">Help out</a>)</dd>
243                 </dl></li>
244         </ul>
245
246         <h2>Unstable releases</h2>
247         <p class="note">Pre-releases, betas, and other hazardous software</p>
248         <div style="margin-left: 30px;">
249                 <p>Check out the <a href="files">files</a> directory for any potential updates</p>
250                 <p>Pre-releases are labeled with a -p0 and are mainly built for testing the Windows packages</p>
251         </div>
252
253         <h2>Development code</h2>
254         <p class="note">
255                 Development code is available from Git
256                 (and gitweb:
257                  <a href="<%= GW_AWEATHER %>">AWeather</a>,
258                  <a href="<%= GW_GRITS    %>">Grits</a>,
259                  <a href="<%= GW_RSL      %>">RSL</a>)
260         </p>
261         <div style="margin-left: 30px;">
262                 <div class="code">git clone <%= GIT_AWEATHER %></div>
263                 <div class="code">git clone <%= GIT_GRITS    %></div>
264                 <div class="code">git clone <%= GIT_RSL      %></div>
265         </div>
266 <% } %>
267
268 <% void print_development(void) { %>
269         <!-- Open source mumbo jumbo.. -->
270
271         <p class="note" style="clear: both;">
272                 The AWeather <a href="<%= WIKI_INDEX %>">development wiki</a>
273                 is the main resource for development material.
274         </p>
275
276         <h2>Bug report and feature requests</h2>
277         <div style="margin-left: 30px;">
278                 <p><a href="<%= BUG_LIST %>">List of current issues</a></p>
279                 <p><a href="<%= BUG_NEW  %>">Add a new issue</a></p>
280         </div>
281
282         <h2>How to contribute?</h2>
283         <ul>
284                 <li>Locate or host Meteorological and Geospatial data feeds</li>
285                 <li>Maintain a Mac OS, Windows, or Linux installer</li>
286                 <li>Test AWeather and submit bug reports</li>
287                 <li>Make better logo!</li>
288         </ul>
289
290         <h2>Architecture Overview</h2>
291         <ul>
292                 <li>Built on top of GObject and GTK+</li>
293                 <li>Uses the <a href="grits">Grits</a> "Virtual Globe" library<ul>
294                         <li>Handles most of the graphics work using OpenGL for rendering</li>
295                         <li>Provides some other generic functionality, such as data access</li>
296                         <li>Also provides the plugins API used by AWeather</li>
297                 </ul></li>
298                 <li>AWeather itself is a front-end for Grits along with a
299                     bundle of weather related plugins</li>
300         </ul>
301
302         <h2>Building AWeather</h2>
303         <p class="note">See the <a href="<%= WIKI_INSTALL %>">install</a>
304                 wiki page for more details</p>
305         <ul>
306                 <li>AWeather has direct dependencies on Grits, RSL, among other things</li>
307                 <li>Currently building and running AWeather requires the
308                     exact same version of Grits to be installed<br />
309                     (This may change in the near future as the software stabilizes)</li>
310         </ul>
311 <% } %>
312
313 <% void print_grits(void) { %>
314         <p>
315                 Grits is a Virtual Globe library developed along side AWeather,
316                 but desigend to be usable by other program as well.
317
318                 It is differentiated from other Virtual Globes such as Google
319                 Earth, NASA World Wind, and KDE Marble in that it is developed
320                 primairily as a library that is used by other programs, such as
321                 AWeather, rather than providing it's own user interface.
322         </p>
323
324         <ul class="gallery">
325                 <li>
326                         <% print_screen("grits"); %>
327                         Grits without any plugins
328
329                 </li>
330                 <li>
331                         <% print_screen("plugins"); %>
332                         Satellite and Environment plugins
333                 </li>
334                 <li>
335                         <% print_screen("terrain"); %>
336                         Elevation plugin showing a mountain
337                 </li>
338         </ul>
339 <% } %>
340
341 <% void print_rsl(void) { %>
342         <h2>Radar Software Library</h2>
343         AWeather has at times needed a custom version of the
344         <a href="<%= RSL_WEB %>">TRMM Radar Software Library</a>
345         for accessing Level-II radar files. However, most of the changes have
346         since been incorporated into RSL Version 1.41, which can also be used
347         with AWeather. Some remaining changes exist though and are mostly
348         related to code organization and compiler warnings.
349
350         <h2>Download</h2>
351         <div class="col">
352                 <h3>NASA/TRMM version</h3>
353                 <ul>
354                         <li><a href="<%= RSL_WEB %>">TRMM RSL Website</a></li>
355                         <li><a href="<%= RSL_FTP %>">rsl-v1.41.tar.gz</a></li>
356                 </ul>
357         </div>
358         <div class="col">
359                 <h3>AWeather's version</h3>
360                 <ul>
361                         <li><a href="files/rsl-1.40.tar.gz">rsl-1.40.tar.gz</a></li>
362                         <li><a href="<%= GW_RSL %>">Gitweb</a></li>
363                         <li><div class="code">git clone <%= GIT_RSL %></div></li>
364                 </ul>
365         </div>
366 <% } %>
367
368 <% /* Footer Pages */ %>
369 <% void print_contact(void) { %>
370         <h1>Contact</h1>
371         <p class="note">Questions? Comments? Trouble compiling AWeather?</p>
372         <dl class="inline small">
373                 <dt>Bugs</dt> <dd><a href="<%= BUG_LIST %>">Issue Tracker</a> (sign in to add a new issue)</dd>
374                 <dt>Email</dt><dd><a href="mailto:andy753421@gmail.com">Andy Spencer</a></dd>
375                 <dt>IRC</dt>  <dd>#rhlug@irc.freenode.net</dd>
376         </dl>
377 <% } %>
378
379 <% /* Special Pages */ %>
380 <% void print_index(void) { %>
381         <p class="intro">
382                 AWeather is a free real-time weather data viewer designed for weather enthusiasts.
383                 AWeather is not a weather widget/dockapp that displays a pre-computed forecast.
384                 It is designed to be an easy to use program that integrates a
385                 variety of meteorological data in simple unified interface;
386                 see the <a href="about">about</a> page for more details.
387         </p>
388         <hr />
389         <ul style="float: left;">
390                 <li>Detailed Level-II NEXRAD radar<ul>
391                         <li>3D volume rendering</li>
392                         <li>Dual-pole support</li>
393                 </ul></li>
394                 <li>Online and offline modes<ul>
395                         <li>Data caching</li>
396                         <li>Automatic updating</li>
397                 </ul></li>
398                 <li>Surface and map overlays</li>
399                 <li>Terrain rendering</li>
400         </ul>
401         <div style="float: left; margin-left: 20px;">
402                 <% print_screen("meso"); %>
403         </div>
404         <a href="download" class="download" style="float: right;">
405                 <span>Download</span>
406                 <span>AWeather <%= VERSION %></span>
407                 <img src="images/dl-arrow.png" alt="Download" />
408         </a>
409 <% } %>
410
411 <% void print_notfound(void) { %>
412         <h1>Error 404 - Page Not found!</h1>
413         <br />
414         <p>This page does not exist!
415         <p>If Andy screwed up, feel free to <a href="contact">tell him</a>,
416            otherwise, go away</p>
417 <% } %>
418
419 <% void print_sitemap(const page_t **pages) { %>
420 <?xml version='1.0' encoding='UTF-8'?>
421 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
422         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
423         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
424                             http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
425         <% for (int i = 0; pages[i];         i++) { %>
426         <% for (int j = 0; pages[i][j].link; j++) { %>
427         <% if  (pages[i][j].prio >= 0) { %>
428         <url>
429                 <loc><%% "%s%s", PREFIX, pages[i][j].link %></loc>
430                 <priority><%% "%3.1f", pages[i][j].prio %></priority>
431         </url>
432         <% } } } %>
433 </urlset>
434 <% } %>