wah!
This commit is contained in:
parent
001b52b222
commit
173d5d7cf0
8 changed files with 443 additions and 170 deletions
|
@ -145,6 +145,7 @@ table.mx-datatable {
|
||||||
border: var(--border);
|
border: var(--border);
|
||||||
filter: var(--shadow-small);
|
filter: var(--shadow-small);
|
||||||
background-color: var(--background);
|
background-color: var(--background);
|
||||||
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.mx-datatable th {
|
table.mx-datatable th {
|
||||||
|
|
31
gauges/index.php
Normal file
31
gauges/index.php
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<?php include("../includes/head.inc.php"); ?>
|
||||||
|
<script>
|
||||||
|
window.onload = () => {
|
||||||
|
$('#moonImg').attr('src', '/images/moon.png?' + Date.now());
|
||||||
|
// update the moon image every 20 minutes if the page is left open
|
||||||
|
setInterval(() => {
|
||||||
|
$('#moonImg').attr('src', '/images/moon.png?' + Date.now());
|
||||||
|
}, 1200000);
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="page-container">
|
||||||
|
<?php include("../includes/header.inc.php"); ?>
|
||||||
|
<div id="content">
|
||||||
|
<canvas id="canvas_status" width="200" height="25"></canvas>
|
||||||
|
<canvas id="canvas_timer" width="60" height="25"></canvas>
|
||||||
|
Status: <canvas id="canvas_led" width="25" height="25"></canvas>
|
||||||
|
|
||||||
|
<small>Page data updated <span data-cmxdata="update"></span></small>
|
||||||
|
</div>
|
||||||
|
<?php include("../includes/footer.inc.php"); ?>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -1,9 +1,8 @@
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<meta name="description" content="weather data">
|
|
||||||
<meta name="keywords" content="Cumulus, weather, data, weather station">
|
<meta name="keywords" content="Cumulus, weather, data, weather station">
|
||||||
<title>Cumulus MX</title>
|
<title>wah's the weather?</title>
|
||||||
<link rel="icon" type="image/png" href="/images/favicon.png">
|
<link rel="icon" type="image/png" href="/images/logo.png">
|
||||||
|
|
||||||
<script src="/lib/jquery/jquery-latest.min.js"></script>
|
<script src="/lib/jquery/jquery-latest.min.js"></script>
|
||||||
|
|
||||||
|
@ -11,4 +10,4 @@
|
||||||
<link href="/css/wah.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
<link href="/css/wah.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
||||||
|
|
||||||
<!-- Scripts -->
|
<!-- Scripts -->
|
||||||
<script src="/js/setpagedata.js"></script> <!-- Utility javascripts for all pages. -->
|
<script src="/js/setpagedata.js"></script> <!-- Utility javascripts for all pages. -->
|
|
@ -9,7 +9,7 @@
|
||||||
<a href="/">now</a> |
|
<a href="/">now</a> |
|
||||||
<a href="/today">today</a> |
|
<a href="/today">today</a> |
|
||||||
<a href="/yesterday">yesterday</a> |
|
<a href="/yesterday">yesterday</a> |
|
||||||
<a href="/todayyest">today-yest</a> |
|
<a href="/today-yest">today-yest</a> |
|
||||||
<a href="/gauges">gauges</a> |
|
<a href="/gauges">gauges</a> |
|
||||||
<a href="/records">records</a> |
|
<a href="/records">records</a> |
|
||||||
<a href="/charts">charts</a> |
|
<a href="/charts">charts</a> |
|
||||||
|
|
|
@ -24,214 +24,214 @@ let menu = mobileMenu = "";
|
||||||
let initialLoad = true;
|
let initialLoad = true;
|
||||||
|
|
||||||
window.onresize = function () {
|
window.onresize = function () {
|
||||||
borderpatrol();
|
borderpatrol();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
let borderpatrol = function () {
|
let borderpatrol = function () {
|
||||||
var contentMargin = $("#Header").outerHeight(true);
|
var contentMargin = $("#Header").outerHeight(true);
|
||||||
if ($('#Header').hasClass('w3-top')) {
|
if ($('#Header').hasClass('w3-top')) {
|
||||||
$('#Content').css('margin-top', headerMargin + contentMargin + 'px');
|
$('#Content').css('margin-top', headerMargin + contentMargin + 'px');
|
||||||
} else {
|
} else {
|
||||||
$('#Content').css('margin-top', headerMargin + 'px');
|
$('#Content').css('margin-top', headerMargin + 'px');
|
||||||
}
|
}
|
||||||
contentMargin = $('#Footer').outerHeight(true);
|
contentMargin = $('#Footer').outerHeight(true);
|
||||||
if ($('#Footer').hasClass('w3-bottom')) {
|
if ($('#Footer').hasClass('w3-bottom')) {
|
||||||
$('#Content').css('margin-bottom', footerMargin + contentMargin + 'px');
|
$('#Content').css('margin-bottom', footerMargin + contentMargin + 'px');
|
||||||
} else {
|
} else {
|
||||||
$('#Content').css('margin-bottom', footerMargin + 'px');
|
$('#Content').css('margin-bottom', footerMargin + 'px');
|
||||||
}
|
}
|
||||||
}; // end function
|
}; // end function
|
||||||
|
|
||||||
let createMainMenu = function (src, submenu) {
|
let createMainMenu = function (src, submenu) {
|
||||||
let classMain = 'w3-bar-item w3-btn w3-theme-hvr at-slim w3-hide-small w3-hide-medium';
|
let classMain = 'w3-bar-item w3-btn w3-theme-hvr at-slim w3-hide-small w3-hide-medium';
|
||||||
let classMainSub = 'w3-bar-item w3-btn w3-theme-d5-hvr at-slim';
|
let classMainSub = 'w3-bar-item w3-btn w3-theme-d5-hvr at-slim';
|
||||||
|
|
||||||
src.forEach(function (itm) {
|
src.forEach(function (itm) {
|
||||||
if (itm.menu !== 'n') { // wanted in main menu
|
if (itm.menu !== 'n') { // wanted in main menu
|
||||||
if (itm.submenu) { // drop down
|
if (itm.submenu) { // drop down
|
||||||
menu += '<div class="w3-dropdown-hover">\n';
|
menu += '<div class="w3-dropdown-hover">\n';
|
||||||
menu += '\t<button id="' + itm.title.replace(/ /g, "_") + '" type="button" class="w3-btn w3-theme-hvr at-slim w3-hide-medium w3-hide-small" onclick="dropDown(this)" aria-expanded="false">' + itm.title + '…</button>\n';
|
menu += '\t<button id="' + itm.title.replace(/ /g, "_") + '" type="button" class="w3-btn w3-theme-hvr at-slim w3-hide-medium w3-hide-small" onclick="dropDown(this)" aria-expanded="false">' + itm.title + '…</button>\n';
|
||||||
menu += '\t<div id="sub_' + itm.title.replace(/ /g, "_") + '" class="w3-dropdown-content w3-bar-block w3-theme">\n';
|
menu += '\t<div id="sub_' + itm.title.replace(/ /g, "_") + '" class="w3-dropdown-content w3-bar-block w3-theme">\n';
|
||||||
// add the sub-menu items
|
// add the sub-menu items
|
||||||
createMainMenu(itm.items, true);
|
createMainMenu(itm.items, true);
|
||||||
menu += '\t\n</div></div>\n';
|
menu += '\t\n</div></div>\n';
|
||||||
} else {
|
} else {
|
||||||
infill = (itm.new_window ? ' target="_blank"' : '');
|
infill = (itm.new_window ? ' target="_blank"' : '');
|
||||||
|
|
||||||
if (itm.forum) {
|
if (itm.forum) {
|
||||||
if (cmx_data.forumurl != '') {
|
if (cmx_data.forumurl != '') {
|
||||||
menu += '<a href="' + cmx_data.forumurl + '"' + infill + ' class="' + (submenu ? classMainSub : classMain) + '">' + itm.title + '</a>\n';
|
menu += '<a href="' + cmx_data.forumurl + '"' + infill + ' class="' + (submenu ? classMainSub : classMain) + '">' + itm.title + '</a>\n';
|
||||||
}
|
}
|
||||||
} else if (itm.webcam) {
|
} else if (itm.webcam) {
|
||||||
if (cmx_data.webcamurl != '') {
|
if (cmx_data.webcamurl != '') {
|
||||||
menu += '<a href="' + cmx_data.webcamurl + '"' + infill + ' class="' + (submenu ? classMainSub : classMain) + '">' + itm.title + '</a>\n';
|
menu += '<a href="' + cmx_data.webcamurl + '"' + infill + ' class="' + (submenu ? classMainSub : classMain) + '">' + itm.title + '</a>\n';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
menu += '<a href="' + itm.url + '"' + infill + ' class="' + (submenu ? classMainSub : classMain) + '">' + itm.title + '</a>\n';
|
menu += '<a href="' + itm.url + '"' + infill + ' class="' + (submenu ? classMainSub : classMain) + '">' + itm.title + '</a>\n';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// if we are processing a sub menu, return to the main loop
|
// if we are processing a sub menu, return to the main loop
|
||||||
if (submenu)
|
if (submenu)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
menu += '<button class="w3-bar-item w3-btn w3-theme-hvr at-slim w3-hide-large w3-right" onClick="toggleMenu(\'Main_Menu_Mobile\')">Menu ☰</button>';
|
menu += '<button class="w3-bar-item w3-btn w3-theme-hvr at-slim w3-hide-large w3-right" onClick="toggleMenu(\'Main_Menu_Mobile\')">Menu ☰</button>';
|
||||||
|
|
||||||
// stick the menus into the page
|
// stick the menus into the page
|
||||||
$('#Main_Menu').html(menu);
|
$('#Main_Menu').html(menu);
|
||||||
};
|
};
|
||||||
|
|
||||||
let createMobileMenu = function (src, submenu) {
|
let createMobileMenu = function (src, submenu) {
|
||||||
let classMobile = 'w3-bar-item w3-btn w3-theme-hvr at-slim';
|
let classMobile = 'w3-bar-item w3-btn w3-theme-hvr at-slim';
|
||||||
let styleMobile = submenu ? 'padding-left: 30px !important;' : '';
|
let styleMobile = submenu ? 'padding-left: 30px !important;' : '';
|
||||||
|
|
||||||
src.forEach(function (itm) {
|
src.forEach(function (itm) {
|
||||||
if (itm.menu !== 'w') { // wanted in narrow menu
|
if (itm.menu !== 'w') { // wanted in narrow menu
|
||||||
// mobile menu
|
// mobile menu
|
||||||
if (itm.submenu) {
|
if (itm.submenu) {
|
||||||
mobileMenu += '\t<button class="w3-btn at-slim" style="cursor: default;">' + itm.title + '…</button>\n';
|
mobileMenu += '\t<button class="w3-btn at-slim" style="cursor: default;">' + itm.title + '…</button>\n';
|
||||||
createMobileMenu(itm.items, true);
|
createMobileMenu(itm.items, true);
|
||||||
} else {
|
} else {
|
||||||
infill = (itm.new_window ? " target='_blank'" : "");
|
infill = (itm.new_window ? " target='_blank'" : "");
|
||||||
if (itm.forum && cmx_data.forumurl != '') {
|
if (itm.forum && cmx_data.forumurl != '') {
|
||||||
mobileMenu += '<a href="' + cmx_data.forumurl + '"' + infill + ' class="' + classMobile + '" style= "' + styleMobile + '">' + itm.title + '</a>\n';
|
mobileMenu += '<a href="' + cmx_data.forumurl + '"' + infill + ' class="' + classMobile + '" style= "' + styleMobile + '">' + itm.title + '</a>\n';
|
||||||
} else if (itm.webcam && cmx_data.webcamurl != '') {
|
} else if (itm.webcam && cmx_data.webcamurl != '') {
|
||||||
mobileMenu += '<a href="' + cmx_data.webcamurl + '"' + infill + ' class="' + classMobile + '" style= "' + styleMobile + '">' + itm.title + '</a>\n';
|
mobileMenu += '<a href="' + cmx_data.webcamurl + '"' + infill + ' class="' + classMobile + '" style= "' + styleMobile + '">' + itm.title + '</a>\n';
|
||||||
} else {
|
} else {
|
||||||
mobileMenu += '<a href="' + itm.url + '"' + infill + ' class="' + classMobile + '" style= "' + styleMobile + '">' + itm.title + '</a>\n';
|
mobileMenu += '<a href="' + itm.url + '"' + infill + ' class="' + classMobile + '" style= "' + styleMobile + '">' + itm.title + '</a>\n';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// if we are processing a sub menu, return to the main loop
|
// if we are processing a sub menu, return to the main loop
|
||||||
if (submenu)
|
if (submenu)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// stick the menus into the page
|
// stick the menus into the page
|
||||||
$('#Main_Menu_Mobile').html(mobileMenu);
|
$('#Main_Menu_Mobile').html(mobileMenu);
|
||||||
};
|
};
|
||||||
|
|
||||||
let setupPage = function () {
|
let setupPage = function () {
|
||||||
|
|
||||||
// static header & footer
|
// static header & footer
|
||||||
if (fixedHeader) {
|
if (fixedHeader) {
|
||||||
$('#Header').addClass('w3-top');
|
$('#Header').addClass('w3-top');
|
||||||
} else {
|
} else {
|
||||||
$('#Header').removeClass('w3-top');
|
$('#Header').removeClass('w3-top');
|
||||||
}
|
}
|
||||||
if (fixedFooter) {
|
if (fixedFooter) {
|
||||||
$('#Footer').addClass('w3-bottom');
|
$('#Footer').addClass('w3-bottom');
|
||||||
} else {
|
} else {
|
||||||
$('#Footer').removeClass('w3-bottom');
|
$('#Footer').removeClass('w3-bottom');
|
||||||
}
|
}
|
||||||
// Page content top and bottom margins
|
// Page content top and bottom margins
|
||||||
borderpatrol();
|
borderpatrol();
|
||||||
};
|
};
|
||||||
|
|
||||||
let toggleMenu = function (menuid) {
|
let toggleMenu = function (menuid) {
|
||||||
$('#' + menuid).toggleClass('w3-show');
|
$('#' + menuid).toggleClass('w3-show');
|
||||||
};
|
};
|
||||||
|
|
||||||
let dropDown = function (panel) {
|
let dropDown = function (panel) {
|
||||||
var btn = $('#' + panel.id);
|
var btn = $('#' + panel.id);
|
||||||
var sub = $('#sub_' + panel.id);
|
var sub = $('#sub_' + panel.id);
|
||||||
if (sub.hasClass('w3-show')) {
|
if (sub.hasClass('w3-show')) {
|
||||||
sub.removeClass('w3-show');
|
sub.removeClass('w3-show');
|
||||||
btn.attr('aria-expanded', false);
|
btn.attr('aria-expanded', false);
|
||||||
} else {
|
} else {
|
||||||
// Close other dropdowns first
|
// Close other dropdowns first
|
||||||
$('.w3-dropdown-content').removeClass('w3-show');
|
$('.w3-dropdown-content').removeClass('w3-show');
|
||||||
sub.addClass('w3-show');
|
sub.addClass('w3-show');
|
||||||
btn.attr('aria-expanded', true);
|
btn.attr('aria-expanded', true);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
let getPageData = function (resolve, reject) {
|
let getPageData = function (resolve, reject) {
|
||||||
$.getJSON('data/websitedata.json?_=' + Date.now(), function (json) {
|
$.getJSON('data/websitedata.json?_=' + Date.now(), function (json) {
|
||||||
console.log('Data success');
|
console.log('Data success');
|
||||||
// auto update every 60 seconds, only the index and today pages
|
// auto update every 60 seconds, only the index and today pages
|
||||||
// Some sites may have index.htm as the default page, and thus not have a page name
|
// Some sites may have index.htm as the default page, and thus not have a page name
|
||||||
let pageName = window.location.href.split('/').pop().split('.')[0];
|
let pageName = window.location.href.split('/').pop().split('.')[0];
|
||||||
if (pageName == 'index' || pageName == 'today' || pageName == 'todayYest' || pageName == '') {
|
if (pageName == 'index' || pageName == 'today' || pageName == 'todayYest' || pageName == '') {
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
getPageData(null, null);
|
getPageData(null, null);
|
||||||
}, 60 * 1000);
|
}, 60 * 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
cmx_data = json;
|
cmx_data = json;
|
||||||
|
|
||||||
// Set some header stuff
|
// Set some header stuff
|
||||||
$(document).prop('title', cmx_data.location + ' weather');
|
// $(document).prop('title', cmx_data.location + ' weather');
|
||||||
$('meta[name=description]').attr('content', cmx_data.location + ' weather data');
|
// $('meta[name=description]').attr('content', cmx_data.location + ' weather data');
|
||||||
$('meta[name=keywords]').attr('content', $('meta[name=keywords]').attr('content') + ', ' + cmx_data.location);
|
$('meta[name=keywords]').attr('content', $('meta[name=keywords]').attr('content') + ', ' + cmx_data.location);
|
||||||
|
|
||||||
// do the menus
|
// do the menus
|
||||||
if (initialLoad) {
|
if (initialLoad) {
|
||||||
$.getScript(load_menu, function () { // path is relative to the page - allows for multiple vars to be available and ignores comments ;-)
|
$.getScript(load_menu, function () { // path is relative to the page - allows for multiple vars to be available and ignores comments ;-)
|
||||||
createMainMenu(menuSrc, false);
|
createMainMenu(menuSrc, false);
|
||||||
createMobileMenu(menuSrc, false);
|
createMobileMenu(menuSrc, false);
|
||||||
borderpatrol(); // duplicated here to ensure things OK if initial menu wrapped
|
borderpatrol(); // duplicated here to ensure things OK if initial menu wrapped
|
||||||
});
|
});
|
||||||
initialLoad = false;
|
initialLoad = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show/hide Apparent/Feels Like
|
// Show/hide Apparent/Feels Like
|
||||||
if (cmx_data.options.useApparent === "1") {
|
if (cmx_data.options.useApparent === "1") {
|
||||||
$('[data-cmx-apparent]').removeClass('w3-hide');
|
$('[data-cmx-apparent]').removeClass('w3-hide');
|
||||||
$('[data-cmx-feels]').addClass('w3-hide');
|
$('[data-cmx-feels]').addClass('w3-hide');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cmx_data.options.showSolar === "1") {
|
if (cmx_data.options.showSolar === "1") {
|
||||||
$('[data-cmx-solar]').removeClass('w3-hide');
|
$('[data-cmx-solar]').removeClass('w3-hide');
|
||||||
} else {
|
} else {
|
||||||
$('[data-cmx-solar-gauge]').addClass('w3-hide'); // Gauges do not draw correctly if hidden from the start
|
$('[data-cmx-solar-gauge]').addClass('w3-hide'); // Gauges do not draw correctly if hidden from the start
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cmx_data.options.showUV === "1") {
|
if (cmx_data.options.showUV === "1") {
|
||||||
$('[data-cmx-uv]').removeClass('w3-hide');
|
$('[data-cmx-uv]').removeClass('w3-hide');
|
||||||
} else {
|
} else {
|
||||||
$('[data-cmx-uv-gauge]').addClass('w3-hide'); // Gauges do not draw correctly if hidden from the start
|
$('[data-cmx-uv-gauge]').addClass('w3-hide'); // Gauges do not draw correctly if hidden from the start
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update all spans having data-cmxdata with data values
|
// Update all spans having data-cmxdata with data values
|
||||||
$('[data-cmxdata]').each(function () {
|
$('[data-cmxdata]').each(function () {
|
||||||
this.innerHTML = cmx_data[this.dataset.cmxdata];
|
this.innerHTML = cmx_data[this.dataset.cmxdata];
|
||||||
});
|
});
|
||||||
|
|
||||||
if (cmx_data.currcond != '') {
|
if (cmx_data.currcond != '') {
|
||||||
$('#currCond').removeClass('w3-hide');
|
$('#currCond').removeClass('w3-hide');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Use this to trigger other scripts on the page
|
// Use this to trigger other scripts on the page
|
||||||
if (null !== resolve) {
|
if (null !== resolve) {
|
||||||
resolve();
|
resolve();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.fail(function (jqxhr, textStatus, error) {
|
.fail(function (jqxhr, textStatus, error) {
|
||||||
let err = textStatus + ', ' + error;
|
let err = textStatus + ', ' + error;
|
||||||
console.log('Data Request Failed: ' + err);
|
console.log('Data Request Failed: ' + err);
|
||||||
|
|
||||||
if (null !== reject) {
|
if (null !== reject) {
|
||||||
reject();
|
reject();
|
||||||
}
|
}
|
||||||
|
|
||||||
// lets try that again
|
// lets try that again
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
getPageData(resolve, reject);
|
getPageData(resolve, reject);
|
||||||
}, 5000);
|
}, 5000);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Get the main page data
|
// Get the main page data
|
||||||
let dataLoadedPromise = new Promise((myResolve, myReject) => {
|
let dataLoadedPromise = new Promise((myResolve, myReject) => {
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
setupPage();
|
setupPage();
|
||||||
getPageData(myResolve, myReject);
|
getPageData(myResolve, myReject);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
242
today-yest/index.php
Normal file
242
today-yest/index.php
Normal file
|
@ -0,0 +1,242 @@
|
||||||
|
<!DOCYYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<?php include("../includes/head.inc.php"); ?>
|
||||||
|
<script>
|
||||||
|
window.onload = () => {
|
||||||
|
$('#moonImg').attr('src', '/images/moon.png?' + Date.now());
|
||||||
|
// update the moon image every 20 minutes if the page is left open
|
||||||
|
setInterval(() => {
|
||||||
|
$('#moonImg').attr('src', '/images/moon.png?' + Date.now());
|
||||||
|
}, 1200000);
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="page-container">
|
||||||
|
<?php include("../includes/header.inc.php"); ?>
|
||||||
|
<div id="content">
|
||||||
|
<h2>Today vs Yesterday (<span data-cmxdata="yesterday"></span>)</h2>
|
||||||
|
<table class="mx-datatable today-yest" style="width:100%">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th style="width:50%">Temperature and Humidity</th>
|
||||||
|
<th style="width:10%">Today</th>
|
||||||
|
<th style="width:15%"></th>
|
||||||
|
<th style="width:10%">Yesterday</th>
|
||||||
|
<th style="width:15%"></th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>High Temperature</td>
|
||||||
|
<td><span data-cmxdata="tempTH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TtempTH"></span></td>
|
||||||
|
<td><span data-cmxdata="tempYH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TtempYH"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Low Temperature</td>
|
||||||
|
<td><span data-cmxdata="tempTL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TtempTL"></span></td>
|
||||||
|
<td><span data-cmxdata="tempYL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TtempYL"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Temperature Range</td>
|
||||||
|
<td><span data-cmxdata="temprange"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td></td>
|
||||||
|
<td><span data-cmxdata="temprangeY"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
<tr data-cmx-apparent class="w3-theme-l2 w3-hide">
|
||||||
|
<td>High Apparent<span class="w3-hide-medium w3-hide-small"> Temperature</span></td>
|
||||||
|
<td><span data-cmxdata="apptempTH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TapptempTH"></span></td>
|
||||||
|
<td><span data-cmxdata="apptempYH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TapptempYH"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr data-cmx-apparent class="w3-theme-l2 w3-hide">
|
||||||
|
<td>Low Apparent<span class="w3-hide-medium w3-hide-small"> Temperature</span></td>
|
||||||
|
<td><span data-cmxdata="apptempTL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TapptempTL"></span></td>
|
||||||
|
<td><span data-cmxdata="apptempYL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TapptempYL"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr data-cmx-feels>
|
||||||
|
<td>High Feels Like</td>
|
||||||
|
<td><span data-cmxdata="feelslikeTH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TfeelslikeTH"></span></td>
|
||||||
|
<td><span data-cmxdata="feelslikeYH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TfeelslikeYH"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr data-cmx-feels>
|
||||||
|
<td>Low Feels Like</td>
|
||||||
|
<td><span data-cmxdata="feelslikeTL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TfeelslikeTL"></span></td>
|
||||||
|
<td><span data-cmxdata="feelslikeYL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TfeelslikeYL"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Low Wind Chill</td>
|
||||||
|
<td><span data-cmxdata="wchillTL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TwchillTL"></span></td>
|
||||||
|
<td><span data-cmxdata="wchillYL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TwchillYL"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>High Heat Index</td>
|
||||||
|
<td><span data-cmxdata="heatindexTH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TheatindexTH"></span></td>
|
||||||
|
<td><span data-cmxdata="heatindexYH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TheatindexYH"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>High Humidity</td>
|
||||||
|
<td><span data-cmxdata="humTH"></span> %</td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </spaw3-hide-medium w3-hide-smalln><span
|
||||||
|
data-cmxdata="ThumTH"></span></td>
|
||||||
|
<td><span data-cmxdata="humYH"></span> %</td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span data-cmxdata="ThumYH"></span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Low Humidity</td>
|
||||||
|
<td><span data-cmxdata="humTL"></span> %</td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span data-cmxdata="ThumTL"></span>
|
||||||
|
</td>
|
||||||
|
<td><span data-cmxdata="humYL"></span> %</td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span data-cmxdata="ThumYL"></span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>Rainfall</th>
|
||||||
|
<th colspan="2">Today</th>
|
||||||
|
<th colspan="2">Yesterday</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Rainfall</td>
|
||||||
|
<td><span data-cmxdata="rfall"></span> <span data-cmxdata="rainunit"></span></td>
|
||||||
|
<td></td>
|
||||||
|
<td><span data-cmxdata="rfallY"></span> <span data-cmxdata="rainunit"></span></td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Rainfall Rate<span class="w3-hide-medium w3-hide-small"> Max</span></td>
|
||||||
|
<td><span data-cmxdata="rrateTM"></span> <span data-cmxdata="rainunit"></span>/hr</td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TrrateTM"></span></td>
|
||||||
|
<td><span data-cmxdata="rrateYM"></span> <span data-cmxdata="rainunit"></span>/hr</td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TrrateYM"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">High </span>Hourly Rainfall</td>
|
||||||
|
<td><span data-cmxdata="hourlyrainTH"></span> <span data-cmxdata="rainunit"></span>
|
||||||
|
</td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="ThourlyrainTH"></span></td>
|
||||||
|
<td><span data-cmxdata="hourlyrainYH"></span> <span data-cmxdata="rainunit"></span>
|
||||||
|
</td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="ThourlyrainYH"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">High </span>24 Hour Rainfall</td>
|
||||||
|
<td><span data-cmxdata="rain24hourTH"></span> <span data-cmxdata="rainunit"></span>
|
||||||
|
</td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="Train24hourTH"></span></td>
|
||||||
|
<td><span data-cmxdata="rain24hourYH"></span> <span data-cmxdata="rainunit"></span>
|
||||||
|
</td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="Train24hourYH"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>Wind</th>
|
||||||
|
<th colspan="2">Today</th>
|
||||||
|
<th colspan="2">Yesterday</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Highest Gust</td>
|
||||||
|
<td><span data-cmxdata="wgustTM"></span> <span data-cmxdata="windunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TwgustTM"></span></td>
|
||||||
|
<td><span data-cmxdata="wgustYM"></span> <span data-cmxdata="windunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TwgustYM"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Highest Avg Speed</td>
|
||||||
|
<td><span data-cmxdata="windTM"></span> <span data-cmxdata="windunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TwindTM"></span></td>
|
||||||
|
<td><span data-cmxdata="windYM"></span> <span data-cmxdata="windunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TwindYM"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Wind Run</td>
|
||||||
|
<td><span data-cmxdata="windrun"></span> <span data-cmxdata="windrununit"></span></td>
|
||||||
|
<td></td>
|
||||||
|
<td><span data-cmxdata="windrunY"></span> <span data-cmxdata="windrununit"></span></td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Dominant Direction</td>
|
||||||
|
<td><span data-cmxdata="domwindbearing"></span>° <span data-cmxdata="domwinddir"></span>
|
||||||
|
</td>
|
||||||
|
<td></td>
|
||||||
|
<td><span data-cmxdata="domwindbearingY"></span>° <span
|
||||||
|
data-cmxdata="domwinddirY"></span></td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>Pressure (sea level)</th>
|
||||||
|
<th colspan="2">Today</th>
|
||||||
|
<th colspan="2">Yesterday</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>High Pressure</td>
|
||||||
|
<td><span data-cmxdata="pressTH"></span> <span data-cmxdata="pressunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TpressTH"></span></td>
|
||||||
|
<td><span data-cmxdata="pressYH"></span> <span data-cmxdata="pressunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TpressYH"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Low Pressure</td>
|
||||||
|
<td><span data-cmxdata="pressTL"></span> <span data-cmxdata="pressunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TpressTL"></span></td>
|
||||||
|
<td><span data-cmxdata="pressYL"></span> <span data-cmxdata="pressunit"></span></td>
|
||||||
|
<td><span class="w3-hide-medium w3-hide-small">at </span><span
|
||||||
|
data-cmxdata="TpressYL"></span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<small>Page data updated <span data-cmxdata="update"></span></small>
|
||||||
|
</div>
|
||||||
|
<?php include("../includes/footer.inc.php"); ?>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -18,7 +18,7 @@
|
||||||
<div class="page-container">
|
<div class="page-container">
|
||||||
<?php include("../includes/header.inc.php"); ?>
|
<?php include("../includes/header.inc.php"); ?>
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<h3>Data for today (<span data-cmxdata="date"></span>)</h3>
|
<h2>Data for today (<span data-cmxdata="date"></span>)</h2>
|
||||||
<table class="mx-datatable">
|
<table class="mx-datatable">
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="4">Temperature and Humidity</th>
|
<th colspan="4">Temperature and Humidity</th>
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
<div class="page-container">
|
<div class="page-container">
|
||||||
<?php include("../includes/header.inc.php"); ?>
|
<?php include("../includes/header.inc.php"); ?>
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<h3>Data for yesterday (<span data-cmxdata="yesterday"></span>)</h3>
|
<h2>Data for yesterday (<span data-cmxdata="yesterday"></span>)</h2>
|
||||||
<table class="mx-datatable">
|
<table class="mx-datatable">
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="4">Temperature and Humidity</th>
|
<th colspan="4">Temperature and Humidity</th>
|
||||||
|
@ -146,4 +146,4 @@
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
Loading…
Reference in a new issue