diff --git a/content/screen.sass b/content/screen.sass
index ddc3f78..c6e2bfe 100644
--- a/content/screen.sass
+++ b/content/screen.sass
@@ -419,11 +419,32 @@ table
// Weather
-body.weather .current
- line-height: 24px
+body.weather
- .temperature
- font-family: "Helvetica Neue", Helvetica, "Liberation Sans", "Bitstream Vera Sans", Tahoma, Geneva, Arial, sans-serif
- font-weight: 200
- font-size: 36px
+ #current > .temperature
+ //margin-left: 1em
+
+ .temperature
+ font-family: "Helvetica Neue", Helvetica, "Liberation Sans", "Bitstream Vera Sans", Tahoma, Geneva, Arial, sans-serif
+ font-weight: 200
+
+ .current
+ font-size: 36px
+ figure.forecast
+ margin: 0 1em 1em 0
+ width: 48px
+ float: left
+
+ .chart
+ clear: both
+
+ .canvas
+ width: 100%
+ height: 320px
+
+ small
+ display: block
+ font-size: smaller
+ margin-top: 1em
+ color: #999
diff --git a/content/weather.html b/content/weather.html
index 458c473..1d75d3c 100644
--- a/content/weather.html
+++ b/content/weather.html
@@ -1,8 +1,15 @@
+
\n\
-
\n\
-
' + (Mojo.escape(Mojo.normalize(o.temperature_out))) + '°C \n\
+ return '
\n\
+
\n\
+ \n\
+ Forecast \n\
+ \n\
+ \n\
+
\n\
+
' + (Mojo.escape(Mojo.normalize(o, "temperature"))) + '°C
\n\
+
\n\
+ Minimum ' + (Mojo.escape(Mojo.normalize(o, "min_temp"))) + '°C at\n\
+ ' + (Mojo.escape(Mojo.normalize(o, "minDateString"))) + ' \n\
+ Maximum ' + (Mojo.escape(Mojo.normalize(o, "max_temp"))) + '°C at\n\
+ ' + (Mojo.escape(Mojo.normalize(o, "maxDateString"))) + ' \n\
+
\n\
+
\n\
';
};
// {"wind_angle":270,"rel_humidity_in":51,"rain_1h":0,"temperature_out":9.9,"forecast":"Sunny","rain_24h":0,"dewpoint":7.11,"wind_chill":9.9,"temperature_in":20.8,"rel_humidity_out":83,"tendency":"Rising","wind_speed":0,"rel_pressure":970.7,"rain_total":1.55,"datetime":"2010-09-20 11:30:13","wind_direction":"W"}
+// forecaset is Rainy, Cloudy or Sunny
+
+// Return a string of a number padded with leading zeros
+function padNumber(n, count) {
+ if(count === undefined) count = 2;
+
+ var string = n.toString();
+ var padding = [];
+ for(var i = count - string.length; i > 0; i--) {
+ padding.push('0');
+ }
+ return padding.join('') + string;
+}
+
+function isoString(date) {
+ // YYYY-MM-DDTHH:MM:SS
+ if(!date) return '';
+
+ return [
+ [
+ date.getUTCFullYear(),
+ padNumber(date.getUTCMonth() + 1),
+ padNumber(date.getUTCDate())
+ ].join('-'),
+ 'T',
+ [
+ padNumber(date.getUTCHours()),
+ padNumber(date.getUTCMinutes()),
+ padNumber(date.getUTCSeconds())
+ ].join(':')
+ ].join('')
+}
+
+function datetimeString(date) {
+ var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
+ return [
+ date.getUTCDate(),
+ months[date.getUTCMonth()],
+ timeString(date)
+ ].join(' ')
+}
+
+function timeString(date) {
+ return [
+ padNumber(date.getUTCHours()),
+ padNumber(date.getUTCMinutes())
+ ].join(':')
+}
+
jQuery(function() {
jQuery.getJSON("/weather.json", function(data, status) {
var count = data.history.length;
@@ -15,18 +76,39 @@ jQuery(function() {
}
// Populate the current conditions
- var current_div = render_current(data.current);
+ var current = {
+ temperature: data.current.temperature_out,
+ timestamp: function() {
+ var d = new Date(data.current.timestamp);
+ return datetimeString(d);
+ },
+ min_temp: data.current.min.temperature,
+ min_date: new Date(data.current.min.timestamp),
+ min_datetime: function() {
+ return isoString(this.min_date)
+ },
+ minDateString: function() {
+ return timeString(current.min_date)
+ },
+ max_temp: data.current.max.temperature,
+ max_date: new Date(data.current.max.timestamp),
+ max_datetime: function() {
+ return isoString(this.max_date)
+ },
+ maxDateString: function() {
+ return timeString(current.max_date)
+ },
+ forecast: data.current.forecast
+ };
+
+ var current_div = render_current(current);
$('.loading').replaceWith(current_div)
// Populate the charts
- $('.temperature.chart').each(function() {
+ $('.temperature.chart .canvas').each(function() {
var self = this;
var options = {
- // series: {
- // lines: { show: true },
- // points: { show: true }
- // }
xaxis: {
mode: "time"
}
@@ -34,7 +116,7 @@ jQuery(function() {
jQuery.plot(self, data.history, options);
-
+ /*
$("#year").click(function () {
$.plot(self, data.history, {
xaxis: {
@@ -43,7 +125,7 @@ jQuery(function() {
// min: (new Date("1990/01/01")).getTime(),
// max: (new Date()).getTime()
}
-
+
});
});
@@ -66,8 +148,7 @@ jQuery(function() {
}
});
});
-
+ */
});
-
});
});