]> Pileus Git - ~andy/aweather-web/blob - html.ct
Version 0.7
[~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
81                 Currently AWeather only displays data provided by the United
82                 States National Weather Service.
83         </p>
84         <hr />
85
86         <h2>Features</h2>
87         <div class="col">
88                 <h3>Working</h3>
89                 <ul>
90                         <li>High quality data sources<ul>
91                                 <li>Level-II archives</li>
92                                 <li>Conus NEXRAD imagery</li>
93                                 <li>Volume display of dBZ iso surfaces</li>
94                                 <li>Storm based and county based<br/>
95                                     warning/watch/advisory displays</li>
96                         </ul></li>
97                         <li>Virtual Globe base rendering<ul>
98                                 <li>Including terrain, satellite, and map imagery</li>
99                         </ul></li>
100                         <li>Real-time and offline mode</li>
101                         <li>Auto-updating</li>
102                         <li>Fullscreen mode</li>
103                 </ul>
104         </div>
105         <div class="col">
106                 <h3>Planned</h3>
107                 <ul>
108                         <li>Additional data sources<ul>
109                                 <li>Watch/warning/advisory boxes</li>
110                                 <li>Surface data (temp., humidity, etc)</li>
111                         </ul></li>
112                         <li>Derived NEXRAD data<ul>
113                                 <li>Storm relative motion</li>
114                                 <li>Compost reflective</li>
115                                 <li>Echo tops</li>
116                         </ul></li>
117                         <li>Vertical cross sections</li>
118                         <li>Animation</li>
119                 </ul>
120         </div>
121
122         <div style="clear:both;"></div>
123         <h2>Licencing</h2>
124         <p>AWeather is free software licensed under the terms of the
125            <a href="http://www.gnu.org/licenses/gpl.html">GNU GPL</a>.
126            As such, it can be used by any individuals or organizations
127            without any license fees or royalties.</p>
128 <% } %>
129
130 <% void print_news(void) { %>
131         <!-- It's not really spring anymore :/ -->
132         <!-- <p class="quote">Now that it's spring again, progress on AWeather is continuing.</p> -->
133         <dl class="news">
134                 <dt>2012-02-16</dt>
135                 <dd>
136                         AWeather 0.7 released: <ul>
137                                 <li>Added a GPS plugin that using
138                                     <a href="http://www.catb.org/gpsd/">GPSd</a><ul>
139                                     <li>Written by Adam Boggs and based on the
140                                         <a href="http://www.aircrafter.org/boggs/stormchasing/BrainStorm/">BrainStorm</a>
141                                         storm chasing tool</li>
142                                     <li>Linux only, or maybe Mac or Windows
143                                         if you're very very brave</li>
144                                 </ul></li>
145                                 <li>Automaticlaly save window size and position</li>
146                                 <li>Add toggle buttons for county-based and storm-based alerts</li>
147                                 <li>Miscellaneous bug fixes, including some long-standing rendering artifacts</li>
148                         </ul>
149                 </dd>
150
151                 <dt>2012-01-10</dt>
152                 <dd>
153                         AWeather 0.6.3 released: <ul>
154                                 <li>Added support for Mac OS X</li>
155                                 <li>Added an much improved <a href="manual">User Guide</a>,
156                                     written by Jason Holmes</li>
157                                 <li>Miscellaneous bug fixes</li>
158                         </ul>
159                         <span style="font-size: smaller; font-style: italic;">
160                                 (p.s. AWeather 0.6.2 doesn't exist, you never
161                                 heard of it, and neither have I)</span>
162                 </dd>
163
164                 <dt>2011-11-25</dt>
165                 <dd>
166                         AWeather 0.6.1 released: <ul>
167                                 <li>Added a Radar menu to quickly jump to a NEXRAD/WSR-88D site</li>
168                                 <li>Fixed a bunch of 64-bit bugs</li>
169                         </ul>
170                 </dd>
171
172                 <dt>2011-11-03</dt>
173                 <dd>
174                         AWeather 0.6 released: <ul>
175                                 <li>Added "Alerts" plugin using the 
176                                     <a href="http://alerts.weather.gov/">NWS CAP</a> feed</li>
177                                 <li>Updated GTK+ libraries for Windows</li>
178                                 <li>Behind the scenes, mouse support in Grits
179                                     has been much improved</li>
180                         </ul>
181                         This release was a little bit faster than previous releases.
182                         Hopefully additional improvements to the alerts plugin
183                         can be made incrementally during the 0.x.x releases.
184                 </dd>
185
186                 <dt>2011-09-12</dt>
187                 <dd>
188                         AWeather 0.5.2 released: <ul>
189                                 <li>Added new desktop icons</li>
190                                 <li>Miscellaneous bug fixes</li>
191                         </ul>
192                         Improved organization of the <a href="<%= WIKI_INDEX %>">Wiki</a>
193                 </dd>
194
195                 <dt>2011-08-25</dt>
196                 <dd>
197                         AWeather 0.5.1 released: <ul>
198                                 <li>Bugfix release</li>
199                                 <li>Updated sat/map/elev to provide better data</li>
200                                 <li>First release with <a href="<%= DEBIAN_HOME %>">Debian</a>, 
201                                                    and <a href="<%= UBUNTU_HOME %>">Ubuntu</a> packages</li>
202                         </ul>
203                 </dd>
204         </dl>
205         <p class="note">See also: <a href="oldnews">Older news</a>,
206                                   <a href="<%= GW_AWEATHER %>">gitweb</a></p>
207 <% } %>
208
209 <% void print_oldnews(void) { %>
210         &lt; <a href="news">News</a>
211         <dl class="news">
212                 <dt>2011-06-19</dt>
213                 <dd>
214                         AWeather 0.5 released: <ul>
215                                 <li>Support for volume rendering (isosurfaces)</li>
216                                 <li>Automatic updating</li>
217                                 <li>Fullscreen mode</li>
218                                 <li>Dropped GtkGLExt</li>
219                         </ul>
220                         Forked RSL:<ul>
221                                 <li>Added additional radars</li>
222                                 <li>Fixed lots of bugs</li>
223                                 <li>General code cleanup</li>
224                                 <li>Available from <a href="files/">files</a> directory
225                                     and <a href="<%= GW_RSL %>">git</a></li>
226                         </ul>
227                         <b>Update:</b> AWeather 0.5 is also compatible with the
228                         newly released RSL v1.41
229                 </dd>
230
231                 <dt>2011-06-13</dt>
232                 <dd>Started work on this new website. Lots of progress in AWeather as well:<ul>
233                         <li>Merged support for isosurfaces to the main branch (Finally!)</li>
234                         <li>Added an option to automatically refresh after a timeout</li>
235                         <li>New fullscreen mode</li>
236                 </ul></dd>
237
238                 <dt>2010-05-17</dt>
239                 <dd>AWeather 0.4.1:<ul>
240                         <li>Win32 fixes and improved debug support</li>
241                         <li>Fix bug with daylight savings time</li>
242                         <li>Function to clear old cache entries</li>
243                 </ul></dd>
244
245                 <dt>2010-05-14</dt>
246                 <dd>AWeather 0.4:<ul>
247                         <li>Conus radar images</li>
248                         <li>Multiple radars support</li>
249                         <li>Gentoo, Ubuntu, MS Windows and source packages are available</li>
250                 </ul></dd>
251
252                 <dt>2009-11-09</dt>
253                 <dd>AWeather 0.3.0 released, based on libgis but still rather
254                     buggy.</dd>
255
256                 <dt>2009-10-24</dt>
257                 <dd>AWeather 0.2.3 (maintenance release).<br/>
258                     Added a Application menu entry and a few build/runtime fixes.</dd>
259
260                 <dt>2009-09-02</dt>
261                 <dd>The source repository has been migrated to Git. A lot of
262                     progress is being made on libgis, which is now able to display
263                     a virtual globe using data from NASA servers.</dd>
264         </dl>
265 <% } %>
266
267 <% void print_manual(void) { %>
268         <div class="asciidoc">
269                 <% print_file("manual.inc"); %>
270         </div>
271 <% } %>
272
273 <% void print_screenshots(void) { %>
274         <p>
275                 AWeather provides a consistent user interface that allows the
276                 user to zoom in from a high level view of the entire Earth down
277                 to regional and mesoscale views.
278         </p>
279
280         <ul class="gallery">
281                 <li>
282                         <% print_screen("synop"); %>
283                         High level view using Grits
284                 </li>
285                 <li>
286                         <% print_screen("region"); %>
287                         Regional view over the midwest
288                 </li>
289                 <li>
290                         <% print_screen("meso"); %>
291                         Mesoscale view of a tornadic system
292                 </li>
293                 <li>
294                         <% print_screen("iso"); %>
295                         Close up showing a 52.5 dBZ isosurface
296                 </li>
297                 <li>
298                         <% print_screen("alert"); %>
299                         Current severe weather alerts for the CONUS
300                 </li>
301         </ul>
302 <% } %>
303
304 <% void print_download(void) { %>
305         <h2>Stable releases</h2>
306         <p class="note">
307                 While AWeather won't be considered stable until version 1.0,
308                 these are as close to stable as you can get until then
309         </p>
310         <ul>
311                 <li class="linux"><dl class="inline">
312                         <dt>Source code</dt>
313                         <dd>
314                         <a href="files/aweather-<%= VERSION %>.tar.gz">aweather-<%= VERSION %>.tar.gz</a>,
315                         <a href="../grits/grits-<%= VERSION_GRITS %>.tar.gz">grits-<%= VERSION_GRITS %>.tar.gz</a>,
316                         <a href="files/rsl-1.40.tar.gz">rsl-1.40.tar.gz</a>
317                         </dd>
318
319                         <dt>Gentoo</dt>
320                         <dd><span class="code">emerge sci-geosciences/aweather</span> from the sunrise overlay</dd>
321
322                         <dt>Debian</dt>
323                         <dd><span class="code">apt-get install aweather</span> from Debian sid</dd>
324
325                         <dt>Ubuntu</dt>
326                         <dd><span class="code">apt-get install aweather</span> from Ubuntu Oneiric,
327                             or the <a href="<%= UBUNTU_PPA %>">AWeather PPA</a></dd>
328                         <!--
329                                 (Arch packages still have bugs)
330                                 <dt>Arch</dt>
331                                 <dd>Available from the AUR</dd>
332                         -->
333                         <!--
334                                 <dt>Slackware</dt>
335                                 <dd>Available in Slacky 13.37</dd>
336                         -->
337                         <!--
338                                 <dt>Mandriva</dt>
339                                 <dd>Available from contrib/cooker?</dd>
340                         -->
341                 </dl></li>
342                 <li class="windows"><dl class="inline">
343                         <dt>Windows</dt>
344                         <dd><a href="files/aweather-<%= VERSION_WIN %>-gtk.exe">aweather-<%= VERSION_WIN %>-gtk.exe</a>
345                                 (Use this unless you know what you're doing)</dd>
346
347                         <dt>Without GTK</dt>
348                         <dd><a href="files/aweather-<%= VERSION_WIN %>.exe">aweather-<%= VERSION_WIN %>.exe</a></dd>
349                 </dl></li>
350                 <li class="macos" style="padding-top: .8em; padding-bottom: .8em"><dl class="inline">
351                         <dt>Mac OS X</dt>
352                         <dd><a href="files/aweather-<%= VERSION_MAC %>.dmg">aweather-<%= VERSION_MAC %>.dmg</a></dd>
353                 </dl></li>
354         </ul>
355
356         <h2>Unstable releases</h2>
357         <p class="note">Pre-releases, betas, and other hazardous software</p>
358         <div style="margin-left: 30px;">
359                 <p>Check out the <a href="files">files</a> directory for any potential updates</p>
360                 <p>Pre-releases are labeled with a -p0 and are mainly built for testing the Windows and Mac packages</p>
361         </div>
362
363         <h2>Development code</h2>
364         <p class="note">
365                 Development code is available from Git
366                 (and gitweb:
367                  <a href="<%= GW_AWEATHER %>">AWeather</a>,
368                  <a href="<%= GW_GRITS    %>">Grits</a>,
369                  <a href="<%= GW_RSL      %>">RSL</a>)
370         </p>
371         <div style="margin-left: 30px;">
372                 <div class="code">git clone <%= GIT_AWEATHER %></div>
373                 <div class="code">git clone <%= GIT_GRITS    %></div>
374                 <div class="code">git clone <%= GIT_RSL      %></div>
375         </div>
376 <% } %>
377
378 <% void print_development(void) { %>
379         <!-- Open source mumbo jumbo.. -->
380
381         <p class="note" style="clear: both;">
382                 The AWeather <a href="<%= WIKI_INDEX %>">development wiki</a>
383                 is the main resource for development material.
384         </p>
385
386         <h2>Bug report and feature requests</h2>
387         <div style="margin-left: 30px;">
388                 <p><a href="<%= BUG_LIST %>">List of current issues</a></p>
389                 <p><a href="<%= BUG_NEW  %>">Add a new issue</a></p>
390         </div>
391
392         <h2>How to contribute?</h2>
393         <ul>
394                 <li>Locate or host Meteorological and Geospatial data feeds</li>
395                 <li>Maintain a Mac OS, Windows, or Linux installer</li>
396                 <li>Test AWeather and submit bug reports</li>
397                 <li>Make better logo!</li>
398         </ul>
399
400         <h2>Architecture Overview</h2>
401         <ul>
402                 <li>Built on top of GObject and GTK+</li>
403                 <li>Uses the <a href="grits">Grits</a> "Virtual Globe" library<ul>
404                         <li>Handles most of the graphics work using OpenGL for rendering</li>
405                         <li>Provides some other generic functionality, such as data access</li>
406                         <li>Also provides the plugins API used by AWeather</li>
407                 </ul></li>
408                 <li>AWeather itself is a front-end for Grits along with a
409                     bundle of weather related plugins</li>
410         </ul>
411
412         <h2>Building AWeather</h2>
413         <p class="note">See the <a href="<%= WIKI_INSTALL %>">install</a>
414                 wiki page for more details</p>
415         <ul>
416                 <li>AWeather has direct dependencies on Grits, RSL, among other things</li>
417                 <li>Currently building and running AWeather requires the
418                     exact same version of Grits to be installed<br />
419                     (This may change in the near future as the software stabilizes)</li>
420         </ul>
421 <% } %>
422
423 <% void print_grits(void) { %>
424         <p>
425                 Grits is a Virtual Globe library developed along side AWeather,
426                 but desigend to be usable by other program as well.
427
428                 It is differentiated from other Virtual Globes such as Google
429                 Earth, NASA World Wind, and KDE Marble in that it is developed
430                 primairily as a library that is used by other programs, such as
431                 AWeather, rather than providing it's own user interface.
432         </p>
433
434         <ul class="gallery">
435                 <li>
436                         <% print_screen("grits"); %>
437                         Grits without any plugins
438
439                 </li>
440                 <li>
441                         <% print_screen("plugins"); %>
442                         Satellite and Environment plugins
443                 </li>
444                 <li>
445                         <% print_screen("terrain"); %>
446                         Elevation plugin showing a mountain
447                 </li>
448         </ul>
449 <% } %>
450
451 <% void print_rsl(void) { %>
452         <h2>Radar Software Library</h2>
453         AWeather has at times needed a custom version of the
454         <a href="<%= RSL_WEB %>">TRMM Radar Software Library</a>
455         for accessing Level-II radar files. However, most of the changes have
456         since been incorporated into RSL Version 1.41, which can also be used
457         with AWeather. Some remaining changes exist though and are mostly
458         related to code organization and compiler warnings.
459
460         <h2>Download</h2>
461         <div class="col">
462                 <h3>NASA/TRMM version</h3>
463                 <ul>
464                         <li><a href="<%= RSL_WEB %>">TRMM RSL Website</a></li>
465                         <li><a href="<%= RSL_FTP RSL_TAR %>"><%= RSL_TAR %></a></li>
466                 </ul>
467         </div>
468         <div class="col">
469                 <h3>AWeather's version</h3>
470                 <ul>
471                         <li><a href="files/rsl-1.40.tar.gz">rsl-1.40.tar.gz</a></li>
472                         <li><a href="<%= GW_RSL %>">Gitweb</a></li>
473                         <li><div class="code">git clone <%= GIT_RSL %></div></li>
474                 </ul>
475         </div>
476 <% } %>
477
478 <% /* Footer Pages */ %>
479 <% void print_contact(void) { %>
480         <h1>Contact</h1>
481         <p class="note">Questions? Comments? Trouble compiling AWeather?</p>
482         <dl class="inline small">
483                 <dt>Bugs</dt> <dd><a href="<%= BUG_LIST %>">Issue Tracker</a> (sign in to add a new issue)</dd>
484                 <dt>Email</dt><dd><a href="mailto:andy753421@gmail.com">Andy Spencer</a></dd>
485                 <dt>IRC</dt>  <dd>#rhlug@irc.freenode.net</dd>
486         </dl>
487 <% } %>
488
489 <% /* Special Pages */ %>
490 <% void print_index(void) { %>
491         <p class="intro">
492                 AWeather is a free real-time weather data viewer designed for weather enthusiasts.
493                 AWeather is not a weather widget/dockapp that displays a pre-computed forecast.
494                 It is designed to be an easy to use program that integrates a
495                 variety of meteorological data in simple unified interface;
496                 see the <a href="about">about</a> page for more details.
497         </p>
498         <hr />
499         <ul style="float: left;">
500                 <li>Detailed Level-II NEXRAD radar<ul>
501                         <li>3D volume rendering</li>
502                         <li>Dual-pole support</li>
503                 </ul></li>
504                 <li>Online and offline modes<ul>
505                         <li>Data caching</li>
506                         <li>Automatic updating</li>
507                 </ul></li>
508                 <li>Warning/Watch/Advisory display</li>
509                 <li>GPS tracking and logging</li>
510                 <li>Surface and map overlays</li>
511                 <li>Terrain rendering</li>
512         </ul>
513         <div style="float: left; margin-left: 20px;">
514                 <% print_screen("stormbased"); %>
515                 <div style="text-align: center; margin-right: 25px;">
516                         AWeather showing storm based warnings<br />
517                         on top of Level-II radar imagery
518                 </div>
519         </div>
520         <a href="download" class="download" style="float: right;">
521                 <span>Download</span>
522                 <span>AWeather <%= VERSION %></span>
523                 <img src="images/dl-arrow.png" alt="Download" />
524         </a>
525         <p style="text-align: center;"><%= VERSION_DESC %></p>
526 <% } %>
527
528 <% void print_notfound(void) { %>
529         <h1>Error 404 - Page Not found!</h1>
530         <br />
531         <p>This page does not exist!
532         <p>If Andy screwed up, feel free to <a href="contact">tell him</a>,
533            otherwise, go away</p>
534 <% } %>
535
536 <% void print_sitemap(const page_t **pages) { %>
537 <?xml version='1.0' encoding='UTF-8'?>
538 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
539         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
540         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
541                             http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
542         <% for (int i = 0; pages[i];         i++) { %>
543         <% for (int j = 0; pages[i][j].link; j++) { %>
544         <% if  (pages[i][j].prio >= 0) { %>
545         <url>
546                 <loc><%% "%s%s", PREFIX, pages[i][j].link %></loc>
547                 <priority><%% "%3.1f", pages[i][j].prio %></priority>
548         </url>
549         <% } } } %>
550 </urlset>
551 <% } %>