add sauce
This commit is contained in:
commit
b856cb894f
48 changed files with 28950 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
data/
|
||||
.vscode/
|
40
css/colours.css
Normal file
40
css/colours.css
Normal file
|
@ -0,0 +1,40 @@
|
|||
/* -------------------------------------------------------------------
|
||||
* Colours for the CumulusMX Alternative Interface
|
||||
* Produced using w3Schools colour generator
|
||||
*
|
||||
* Key Colour: #4e5b31
|
||||
*
|
||||
* Theme modified to change font 'color's to either lightest or darkest
|
||||
* theme colour. Also modified names for text, borders & hover colours.
|
||||
* I have added a few extras. Not all are used.
|
||||
* Neil Thomas
|
||||
------------------------------------------------------------------*/
|
||||
|
||||
/* Check that your theme is named as shown below */
|
||||
|
||||
.w3-theme-white {color:#2e5473; background-color:#FFFFFF;}
|
||||
.w3-theme-l5 {color:#2e5473; background-color:#f7fafc;}
|
||||
.w3-theme-l4 {color:#2e5473; background-color:#e4edf4;}
|
||||
.w3-theme-l3 {color:#2e5473 ; background-color:#c9dbe9;}
|
||||
.w3-theme-l2 {color:#2e5473 ; background-color:#aec9df;}
|
||||
.w3-theme-l1 {color:#2e5473 ; background-color:#93b7d4;}
|
||||
.w3-theme-d1 {color:#f7fafc ; background-color:#6195c0;}
|
||||
.w3-theme-d2 {color:#f7fafc ; background-color:#4a86b7;}
|
||||
.w3-theme-d3 {color:#f7fafc ; background-color:#4075a1;}
|
||||
.w3-theme-d4 {color:#f7fafc ; background-color:#37658a;}
|
||||
.w3-theme-d5 {color:#f7fafc ; background-color:#2e5473;}
|
||||
|
||||
.w3-theme-light {color:#2e5473 ; background-color:#f7fafc;}
|
||||
.w3-theme-dark {color:#f7fafc ; background-color:#2e5473;}
|
||||
.w3-theme-action {color:#f7fafc ; background-color:#2e5473;}
|
||||
|
||||
.w3-theme {color:#f7fafc ; background-color:#78a5c9;}
|
||||
.w3-theme-txt {color:#78a5c9;}
|
||||
.w3-theme-bdr {border-color:#78a5c9;}
|
||||
.w3-theme-d5-bdr {border-color:#2e5473;}
|
||||
.w3-theme-l1-bdr {border-color:#f7fafc;}
|
||||
|
||||
.w3-theme-hvr:hover {color:#f7fafc; background-color:#78a5c9;}
|
||||
.w3-theme-d5-hvr:hover {color:#f7fafc; background-color:#2e5473;}
|
||||
.w3-theme-txt-hvr:hover {color:#78a5c9;}
|
||||
.w3-theme-bdr-hvr:hover {border-color:#78a5c9;}
|
101
css/gauges.css
Normal file
101
css/gauges.css
Normal file
File diff suppressed because one or more lines are too long
249
css/mx-templates.css
Normal file
249
css/mx-templates.css
Normal file
|
@ -0,0 +1,249 @@
|
|||
/* -----------------------------------
|
||||
* Styles for CumulusMX Templates
|
||||
Last modified: 2021/03/19 09:23:15
|
||||
* ----------------------------------*/
|
||||
|
||||
html,
|
||||
body,
|
||||
p,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
li,
|
||||
td,
|
||||
th {
|
||||
font-family: "Rosario", sans-serif;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
#Header {
|
||||
border-style: solid;
|
||||
border-width: 0 0 10px 0;
|
||||
}
|
||||
|
||||
.site-width {
|
||||
max-width: 1140px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.graph-width {
|
||||
max-width: 1250px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
#Footer {
|
||||
border-width: 5px 0 0 0;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
.logo {
|
||||
max-width: 250px;
|
||||
margin: 5px 0 5px 16px;
|
||||
}
|
||||
|
||||
.subText {
|
||||
font-size: 80% !important;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
body {
|
||||
background-image: url("../images/picture.jpg");
|
||||
background-position: bottom left;
|
||||
background-repeat: no-repeat;
|
||||
background-attachment: fixed;
|
||||
}
|
||||
|
||||
.statusPanel h5 {
|
||||
margin-bottom: -5px;
|
||||
}
|
||||
/* -------------------------------------
|
||||
* Flex boxes
|
||||
* -------------------------------------*/
|
||||
.at-flex-start {
|
||||
display: flex;
|
||||
}
|
||||
.at-flex-end {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.at-flex-justify {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.at-flex-between {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.at-flex-bottom,
|
||||
.at-flex-items-bottom {
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
.at-flex-items-center {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* --------------------------------------------------
|
||||
* Menu enhancements
|
||||
* --------------------------------------------------*/
|
||||
#Main_Menu {
|
||||
margin-bottom: 4px;
|
||||
border-width: 2px 0 0 0;
|
||||
border-style: solid;
|
||||
min-height: 32px;
|
||||
}
|
||||
|
||||
.at-slim {
|
||||
padding: 4px 14px !important;
|
||||
}
|
||||
|
||||
.at-divider {
|
||||
margin: 0 5px;
|
||||
color: #f80;
|
||||
}
|
||||
|
||||
.at-spacer {
|
||||
min-height: 2em;
|
||||
}
|
||||
|
||||
.at-menu-lable {
|
||||
display: block;
|
||||
width: 100%;
|
||||
font-size: 13px;
|
||||
font-style: italic;
|
||||
padding-bottom: 2px !important;
|
||||
padding-top: 4px !important;
|
||||
border-bottom: 1px dotted #c2cfa5 !important;
|
||||
}
|
||||
|
||||
.at-menu-bar {
|
||||
display: block;
|
||||
height: 2px;
|
||||
padding: 0 2px !important;
|
||||
}
|
||||
|
||||
.at-indent {
|
||||
padding-left: 40px !important;
|
||||
}
|
||||
|
||||
/* -------------------------------
|
||||
* Model enhancements
|
||||
* ------------------------------*/
|
||||
|
||||
.w3-modal-content {
|
||||
margin-top: 10%;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.w3-modal header {
|
||||
border-radius: 8px 8px 0 0;
|
||||
}
|
||||
.w3-modal footer {
|
||||
border-radius: 0 0 8px 8px;
|
||||
}
|
||||
.w3-modal .w3-btn {
|
||||
border-radius: 0 8px;
|
||||
}
|
||||
|
||||
/* ----------------------------------------
|
||||
* Media enhancements
|
||||
* ---------------------------------------*/
|
||||
@media screen and (max-width: 780px) {
|
||||
#Footer {
|
||||
position: unset;
|
||||
}
|
||||
#Content {
|
||||
/*margin-top: 170px!important;*/
|
||||
margin-bottom: 5px !important;
|
||||
}
|
||||
|
||||
.statusPanel {
|
||||
text-align: center !important;
|
||||
margin: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-height: 768px) {
|
||||
#Footer {
|
||||
position: unset;
|
||||
item: center;
|
||||
}
|
||||
#Content {
|
||||
margin-bottom: 5px !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* --------------------------------------
|
||||
* LED enhancements
|
||||
* -------------------------------------*/
|
||||
.at-led-round {
|
||||
display: inline-block;
|
||||
height: 1.2em;
|
||||
width: 1.2em;
|
||||
margin: 0 0.5em -3px 0.5em;
|
||||
border-radius: 50%;
|
||||
background-color: #888;
|
||||
box-shadow: inset 3px 3px 2px rgba(220, 220, 220, 0.6),
|
||||
inset -2px -2px 2px rgba(32, 32, 32, 0.6);
|
||||
}
|
||||
|
||||
.at-led-block {
|
||||
display: inline-block;
|
||||
height: 1.2em;
|
||||
width: 1.2em;
|
||||
margin: 0 0.5em -3px 0.5em;
|
||||
background-color: #888;
|
||||
box-shadow: inset 3px 3px 2px rgba(220, 220, 220, 0.6),
|
||||
inset -2px -2px 2px rgba(32, 32, 32, 0.6);
|
||||
}
|
||||
|
||||
.at-led-brick {
|
||||
display: inline-block;
|
||||
height: 0.8em;
|
||||
width: 1.6em;
|
||||
margin: 0 0.5em -3px 0.5em;
|
||||
background-color: #888;
|
||||
box-shadow: inset 3px 3px 2px rgba(220, 220, 220, 0.6),
|
||||
inset -2px -2px 2px rgba(32, 32, 32, 0.6);
|
||||
}
|
||||
.at-led-oval {
|
||||
display: inline-block;
|
||||
height: 1em;
|
||||
width: 2em;
|
||||
margin: 0 0.5em -3px 0.5em;
|
||||
border-radius: 50%;
|
||||
background-color: #888;
|
||||
box-shadow: inset 3px 3px 2px rgba(220, 220, 220, 0.6),
|
||||
inset -2px -2px 2px rgba(32, 32, 32, 0.6);
|
||||
}
|
||||
|
||||
.at-led-green {
|
||||
background-color: #0b0;
|
||||
}
|
||||
|
||||
.at-led-flash-red {
|
||||
animation: flashR 1s infinite;
|
||||
}
|
||||
|
||||
@keyframes flashR {
|
||||
0%,
|
||||
60% {
|
||||
background-color: #f00;
|
||||
}
|
||||
61%,
|
||||
100% {
|
||||
background-color: #800;
|
||||
}
|
||||
}
|
247
css/w3Pro.css
Normal file
247
css/w3Pro.css
Normal file
|
@ -0,0 +1,247 @@
|
|||
/* W3PRO.CSS 4.15 December 2020 by Jan Egil and Borge Refsnes */
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
*,
|
||||
*:before,
|
||||
*:after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */
|
||||
html {
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
main,
|
||||
menu,
|
||||
nav,
|
||||
section {
|
||||
display: block;
|
||||
}
|
||||
summary {
|
||||
display: list-item;
|
||||
}
|
||||
audio,
|
||||
canvas,
|
||||
progress,
|
||||
video {
|
||||
display: inline-block;
|
||||
}
|
||||
progress {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0;
|
||||
}
|
||||
[hidden],
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
a {
|
||||
background-color: transparent;
|
||||
}
|
||||
a:active,
|
||||
a:hover {
|
||||
outline-width: 0;
|
||||
}
|
||||
abbr[title] {
|
||||
border-bottom: none;
|
||||
text-decoration: underline;
|
||||
text-decoration: underline dotted;
|
||||
}
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
mark {
|
||||
background: #ff0;
|
||||
color: #000;
|
||||
}
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
figure {
|
||||
margin: 1em 40px;
|
||||
}
|
||||
img {
|
||||
border-style: none;
|
||||
}
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
button,
|
||||
input,
|
||||
select,
|
||||
textarea,
|
||||
optgroup {
|
||||
font: inherit;
|
||||
margin: 0;
|
||||
}
|
||||
optgroup {
|
||||
font-weight: bold;
|
||||
}
|
||||
button,
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
button,
|
||||
[type="button"],
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
button::-moz-focus-inner,
|
||||
[type="button"]::-moz-focus-inner,
|
||||
[type="reset"]::-moz-focus-inner,
|
||||
[type="submit"]::-moz-focus-inner {
|
||||
border-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
button:-moz-focusring,
|
||||
[type="button"]:-moz-focusring,
|
||||
[type="reset"]:-moz-focusring,
|
||||
[type="submit"]:-moz-focusring {
|
||||
outline: 1px dotted ButtonText;
|
||||
}
|
||||
fieldset {
|
||||
border: 1px solid #c0c0c0;
|
||||
margin: 0 2px;
|
||||
padding: 0.35em 0.625em 0.75em;
|
||||
}
|
||||
legend {
|
||||
color: inherit;
|
||||
display: table;
|
||||
max-width: 100%;
|
||||
padding: 0;
|
||||
white-space: normal;
|
||||
}
|
||||
textarea {
|
||||
overflow: auto;
|
||||
}
|
||||
[type="checkbox"],
|
||||
[type="radio"] {
|
||||
padding: 0;
|
||||
}
|
||||
[type="number"]::-webkit-inner-spin-button,
|
||||
[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
[type="search"] {
|
||||
-webkit-appearance: textfield;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
::-webkit-file-upload-button {
|
||||
-webkit-appearance: button;
|
||||
font: inherit;
|
||||
}
|
||||
/* End extract */
|
||||
html,
|
||||
body {
|
||||
font-family: Verdana, sans-serif;
|
||||
font-size: 15px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
html {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
h1 {
|
||||
font-size: 36px;
|
||||
}
|
||||
h2 {
|
||||
font-size: 30px;
|
||||
}
|
||||
h3 {
|
||||
font-size: 24px;
|
||||
}
|
||||
h4 {
|
||||
font-size: 20px;
|
||||
}
|
||||
h5 {
|
||||
font-size: 18px;
|
||||
}
|
||||
h6 {
|
||||
font-size: 16px;
|
||||
}
|
||||
.w3-serif {
|
||||
font-family: serif;
|
||||
}
|
||||
.w3-sans-serif {
|
||||
font-family: sans-serif;
|
||||
}
|
||||
.w3-cursive {
|
||||
font-family: cursive;
|
||||
}
|
||||
.w3-monospace {
|
||||
font-family: monospace;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: "Segoe UI", Arial, sans-serif;
|
||||
font-weight: 400;
|
||||
margin: 10px 0;
|
||||
}
|
||||
.w3-wide {
|
||||
letter-spacing: 4px;
|
||||
}
|
||||
hr {
|
||||
border: 0;
|
||||
border-top: 1px solid #eee;
|
||||
margin: 20px 0;
|
||||
}
|
||||
.w3-image {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
img {
|
||||
vertical-align: middle;
|
||||
}
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
184
css/wah.css
Normal file
184
css/wah.css
Normal file
|
@ -0,0 +1,184 @@
|
|||
:root {
|
||||
--background: #f2efbd;
|
||||
--background-dim: #d2d0a4;
|
||||
--foreground: #2a271c;
|
||||
--border-color: #f27405;
|
||||
--border: var(--border-color) 2px solid;
|
||||
--shadow-color: hsla(11, 96%, 43%, 0.4);
|
||||
--shadow: drop-shadow(8px 8px var(--shadow-color));
|
||||
--shadow-small: drop-shadow(3px 3px var(--shadow-color));
|
||||
--links: hsl(183, 93%, 27%);
|
||||
--links-hover: hsl(183, 93%, 15%);
|
||||
--table-header: hsla(11, 96%, 43%, 0.2);
|
||||
}
|
||||
|
||||
html {
|
||||
height: 100%;
|
||||
color-scheme: light;
|
||||
}
|
||||
|
||||
body {
|
||||
color: var(--foreground);
|
||||
min-height: 100%;
|
||||
background-color: hsla(0, 0%, 0%, 0);
|
||||
padding: 10px;
|
||||
font-family: serif;
|
||||
}
|
||||
|
||||
/*noinspection CssUnknownTarget*/
|
||||
body::before {
|
||||
content: "";
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-image: url("/images/background.jpg");
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: -1;
|
||||
opacity: 0.8;
|
||||
background-size: cover;
|
||||
background-attachment: fixed;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
p,
|
||||
ul,
|
||||
ol,
|
||||
dl,
|
||||
menu,
|
||||
dir {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: none;
|
||||
border-top: var(--border);
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--links);
|
||||
text-decoration: underline dotted;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: var(--links-hover);
|
||||
text-decoration: underline solid;
|
||||
}
|
||||
|
||||
div.page-container {
|
||||
/* width: 1000px; */
|
||||
width: 800px;
|
||||
margin: 5px auto;
|
||||
}
|
||||
|
||||
div.page-container > div {
|
||||
background-color: var(--background);
|
||||
filter: var(--shadow);
|
||||
padding: 10px;
|
||||
border: var(--border);
|
||||
margin-bottom: 20px;
|
||||
/* temporary */
|
||||
/* height: 600px; */
|
||||
}
|
||||
|
||||
div.page-container > div:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
div#header h1 {
|
||||
margin: 0;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div#header h1,
|
||||
div#header p {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
div#content {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
div#content::after {
|
||||
display: block;
|
||||
content: "";
|
||||
clear: both;
|
||||
}
|
||||
|
||||
div#footer {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr;
|
||||
grid-template-rows: 1fr;
|
||||
grid-column-gap: 0px;
|
||||
grid-row-gap: 0px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
div#footer div:last-child {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div#footer div:last-child img {
|
||||
image-rendering: pixelated;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 88px;
|
||||
height: 31px;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
table.almanac td:nth-child(odd) {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.almanac td {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
table.almanac td:nth-child(even) {
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
table.almanac {
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
table.conditions-now {
|
||||
border-collapse: collapse;
|
||||
border: var(--border);
|
||||
filter: var(--shadow-small);
|
||||
background-color: var(--background);
|
||||
}
|
||||
|
||||
table.conditions-now th {
|
||||
text-align: left;
|
||||
background-color: var(--background-dim);
|
||||
border-top: var(--border);
|
||||
}
|
||||
|
||||
table.conditions-now tr td,
|
||||
table.conditions-now tr th {
|
||||
padding: 5px 10px 5px 5px;
|
||||
}
|
||||
table.conditions-now tr td:nth-child(2) {
|
||||
padding-right: 40px;
|
||||
}
|
||||
|
||||
table.conditions-now tr td:nth-child(odd) {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.conditions-now tr:last-child td:nth-child(3) {
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
328
gauges.htm
Normal file
328
gauges.htm
Normal file
|
@ -0,0 +1,328 @@
|
|||
<!--
|
||||
gauges.htm v:0.0.2 a:Neil Thomas
|
||||
Last modified: 2022/07/18 15:17:24
|
||||
CMX Template page: Gauges, No sidebar
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<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">
|
||||
<title>Cumulus MX</title>
|
||||
<link rel="icon" type="image/png" href="images/favicon.png">
|
||||
|
||||
<!-- jQuery Local -->
|
||||
<script src="lib/jquery/jquery-latest.min.js"></script>
|
||||
|
||||
<!-- Fonts System will default to a sans-serif font if no Internet connection -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Rosario:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap"
|
||||
rel="stylesheet">
|
||||
|
||||
<!-- All Styles -->
|
||||
<link href="css/w3Pro.css" rel="stylesheet"> <!-- Basic w3shools responsive styles -->
|
||||
<link href="css/colours.css" rel="stylesheet"> <!-- Slightly enhanced w3schools colours -->
|
||||
<link href="css/mx-templates.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
||||
<link href="css/gauges.css" rel="stylesheet"> <!-- Stylesheet specifically for the gauges -->
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="js/setpagedata.js"></script> <!-- Utility javascripts for all pages. -->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Page Header -->
|
||||
<div id="Header" class="w3-row w3-top w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<div class="at-flex-between at-flex-items-center">
|
||||
<img src="images/CumulusMX-Logo.png" alt="Cumulus Logo" class="w3-image logo">
|
||||
<div class="w3-right-align" style="max-width:600px;">
|
||||
<h5>Lat<span class="w3-hide-small">itude</span>: <span data-cmxdata="latitude"></span><span
|
||||
class="at-divider">|<wbr></span>Long<span class="w3-hide-small">itude</span>: <span
|
||||
data-cmxdata="longitude"></span><span class="at-divider">|<wbr></span>Alt<span
|
||||
class="w3-hide-small">itude</span>: <span data-cmxdata="altitude"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Main Menu -->
|
||||
<div id="Main_Menu" class="w3-bar w3-theme-d4 w3-theme-bdr" style="min-height:32px;">
|
||||
</div>
|
||||
<!-- Mobile Mneu -->
|
||||
<div id="Main_Menu_Mobile" class="w3-bar-block w3-hide-large w3-hide">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of page content -->
|
||||
<div id="Content" class="site-width w3-theme-light">
|
||||
<div class="w3-row-padding">
|
||||
<div class="w3-col s12">
|
||||
<div class="w3-container">
|
||||
<div class="at-flex-between at-flex-items-center">
|
||||
<h1>Gauges <span class="subText"></span></h1>
|
||||
<div class="container" style="max-width: 450px;">
|
||||
<div style="width:200px;height:25px;display:inline-block;"><canvas id="canvas_status"
|
||||
width="200" height="25"></canvas></div>
|
||||
<div style="width:60px; display:inline-block"><canvas id="canvas_timer" width="60"
|
||||
height="25"></canvas></div>
|
||||
<div style="display:inline-block;margin-bottom:3px;">Status: <canvas id="canvas_led"
|
||||
style="width:25px;height:25px;margin-bottom:-7px;" width="25" height="25"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-bar" style="max-width:200px;">
|
||||
<button class="w3-bar-item w3-btn w3-theme-hvr w3-right at-slim"
|
||||
onClick="showModal('MXmodal');">Units</button>
|
||||
<div class="w3-dropdown-hover w3-right">
|
||||
<button class="w3-btn w3-theme-hvr at-slim">Gauge Options</button>
|
||||
<div id="Options" class="w3-dropdown-content w3-bar-block w3-theme-l1">
|
||||
<div class="w3-bar-item at-slim at-menu-label w3-small w3-theme-l3 w3-center">
|
||||
Temperature</div>
|
||||
<div class="w3-bar-item at-slim"><input id="rad_temp1" type="radio" class="w3-radio"
|
||||
name="rad_temp" value="out" checked onclick="gauges.doTemp(this);"><label
|
||||
id="lab_temp1" for="rad_temp1">Outside</label></div>
|
||||
<div class="w3-bar-item at-slim"><input id="rad_temp2" type="radio" class="w3-radio"
|
||||
name="rad_temp" value="in" onclick="gauges.doTemp(this);"><label
|
||||
id="lab_temp2" for="rad_temp2">Inside</label></div>
|
||||
<div class="w3-bar-item at-slim at-menu-label w3-small w3-theme-l3 w3-center">Other
|
||||
Temps</div>
|
||||
<div class="w3-bar-item at-slim"><input id="rad_dew1" type="radio" name="rad_dew"
|
||||
class="w3-radio" value="dew" checked onclick="gauges.doDew(this);"><label
|
||||
id="lab_dew1" for="rad_dew1">Dew Point</label></div>
|
||||
<div class="w3-bar-item at-slim w3-hide" data-cmx-apparent><input id="rad_dew2"
|
||||
type="radio" name="rad_dew" class="w3-radio" value="app"
|
||||
onclick="gauges.doDew(this);"><label id="lab_dew2"
|
||||
for="rad_dew2">Apparent</label></div>
|
||||
<div class="w3-bar-item at-slim" data-cmx-feels><input id="rad_dew6" type="radio"
|
||||
name="rad_dew" class="w3-radio" value="feel"
|
||||
onclick="gauges.doDew(this);"><label id="lab_dew6" for="rad_dew6">Feels
|
||||
Like</label></div>
|
||||
<div class="w3-bar-item at-slim"><input id="rad_dew3" type="radio" name="rad_dew"
|
||||
class="w3-radio" value="wnd" onclick="gauges.doDew(this);"><label
|
||||
id="lab_dew3" for="rad_dew3">Wind Chill</label></div>
|
||||
<div class="w3-bar-item at-slim"><input id="rad_dew4" type="radio" name="rad_dew"
|
||||
class="w3-radio" value="hea" onclick="gauges.doDew(this);"><label
|
||||
id="lab_dew4" for="rad_dew4">Heat Index</label></div>
|
||||
<div class="w3-bar-item at-slim"><input id="rad_dew5" type="radio" name="rad_dew"
|
||||
class="w3-radio" value="hum" onclick="gauges.doDew(this);"><label
|
||||
id="lab_dew5" for="rad_dew5">Humidex</label></div>
|
||||
<div class="w3-bar-item at-slim at-menu-label w3-small w3-theme-l3 w3-center">
|
||||
Humidity</div>
|
||||
<div class="w3-bar-item at-slim"><input id="rad_hum1" type="radio" name="rad_hum"
|
||||
class="w3-radio" value="out" checked onclick="gauges.doHum(this);"><label
|
||||
id="lab_hum1" for="rad_hum1">Outside</label></div>
|
||||
<div class="w3-bar-item at-slim"><input id="rad_hum2" type="radio" name="rad_hum"
|
||||
class="w3-radio" value="in" onclick="gauges.doHum(this);"><label
|
||||
id="lab_hum2" for="rad_hum2">Inside</label></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Row Two - All Gauges -->
|
||||
<div class="w3-row-padding">
|
||||
<div class="w3-col s12">
|
||||
<div class="w3-panel w3-card w3-theme-white">
|
||||
<!-- The following html can be copied into ANY single panel page - template -->
|
||||
<div style="display:flex; flex-flow: row wrap; justify-content:space-evenly">
|
||||
<div class="w3-panel w3-theme-l5 at-gaugeSmall" style="order:0;">
|
||||
<!-- dial -->
|
||||
<h5 class="">Temperature</h5>
|
||||
<div class="gauge w3-center">
|
||||
<div id="tip_0">
|
||||
<canvas id="canvas_temp" class="gaugeSmall"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-panel w3-theme-l5 at-gaugeSmall" style="order:0;">
|
||||
<!-- dial -->
|
||||
<h5 class="">Other Temps</h5>
|
||||
<div class="gauge w3-center">
|
||||
<div id="tip_1">
|
||||
<canvas id="canvas_dew" class="gaugeSmall"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-panel w3-theme-l5 at-gaugeSmall" style="order:0;">
|
||||
<!-- dial -->
|
||||
<h5 class="">Humidity</h5>
|
||||
<div class="gauge w3-center">
|
||||
<div id="tip_4">
|
||||
<canvas id="canvas_hum" class="gaugeSmall"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-panel w3-theme-l5 at-gaugeSmall" style="order:0;">
|
||||
<!-- dial -->
|
||||
<h5 class="">Wind</h5>
|
||||
<div id="tip_6" class="gauge w3-center">
|
||||
<canvas id="canvas_wind" class="gaugeSmall"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-panel w3-theme-l5 at-gaugeSmall" style="order:0;">
|
||||
<!-- dial -->
|
||||
<h5 class="">Wind Direction</h5>
|
||||
<div id="tip_7" class="gauge w3-center">
|
||||
<canvas id="canvas_dir" class="gaugeSmall"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-panel w3-theme-l5 at-gaugeSmall" style="order:0;">
|
||||
<!-- dial -->
|
||||
<h5 class="">Wind Rose</h5>
|
||||
<div id="tip_10" class="gauge w3-center">
|
||||
<canvas id="canvas_rose" class="gaugeSmall"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-panel w3-theme-l5 at-gaugeSmall" style="order:0;">
|
||||
<!-- dial -->
|
||||
<h5 class="">Pressure</h5>
|
||||
<div id="tip_5" class="gauge w3-center">
|
||||
<canvas id="canvas_baro" class="gaugeSmall"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-panel w3-theme-l5 at-gaugeSmall" style="order:0;">
|
||||
<!-- dial -->
|
||||
<h5 class="">Rainfall</h5>
|
||||
<div id="tip_2" class="gauge w3-center">
|
||||
<canvas id="canvas_rain" class="gaugeSmall"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-panel w3-theme-l5 at-gaugeSmall" style="order:0;">
|
||||
<!-- dial -->
|
||||
<h5 class="">Rainfall Rate</h5>
|
||||
<div id="tip_3" class="gauge w3-center">
|
||||
<canvas id="canvas_rrate" class="gaugeSmall"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div data-cmx-uv-gauge class="w3-panel w3-theme-l5 at-gaugeSmall" style="order:0;">
|
||||
<!-- dial -->
|
||||
<h5>UV Radiation</h5>
|
||||
<div id="tip_8" class="gauge w3-center">
|
||||
<canvas id="canvas_uv" class="gaugeSmall"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div data-cmx-solar-gauge class="w3-panel w3-theme-l5 at-gaugeSmall" style="order:0;">
|
||||
<!-- dial -->
|
||||
<h5>Solar</h5>
|
||||
<div id="tip_9" class="gauge w3-center">
|
||||
<canvas id="canvas_solar" class="gaugeSmall"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-panel w3-theme-l5 at-gaugeSmall" style="order:0;">
|
||||
<!-- dial -->
|
||||
<h5>Cloudbase</h5>
|
||||
<div id="tip_11" class="gauge w3-center">
|
||||
<canvas id="canvas_cloud" class="gaugeSmall"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End of Gauges HTML -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of footer -->
|
||||
<div id="Footer" class="w3-row w3-bottom w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<div class="at-flex-between at-flex-bottom" style="flex-wrap:nowrap;">
|
||||
<p class="w3-small"><em>Cumulus MX Templates by Neil Thomas
|
||||
<script>document.write(new Date().getFullYear());</script>
|
||||
</em></p>
|
||||
<p class="w3-small w3-center" style="max-width:500px;">
|
||||
<em>scripts by mark crossley - version <span id="scriptVer"></span> gauges drawn using gerrit
|
||||
grunwald's steelseries javascript library, wind rose drawn using rgraph</em>
|
||||
</p>
|
||||
<p class="w3-right">Powered by <span class="w3-theme-txt">CumulusMX</span> v:<span
|
||||
data-cmxdata="version">---</span>, b:<span data-cmxdata="build">---</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal -->
|
||||
<div id="MXmodal" class="w3-modal w3-hide at-theme-modal">
|
||||
<div class="w3-modal-content w3-round-large" style="margin-top:10%; max-width:500px;">
|
||||
<header class="w3-container w3-theme-dark" style="border-radius:8px 8px 0 0;">
|
||||
<span onclick="showModal('MXmodal')" class="w3-btn w3-theme-hvr w3-display-topright"
|
||||
style="border-radius: 0 8px 0 8px;">×</span>
|
||||
<h3>Gauge Units</h3>
|
||||
</header>
|
||||
<div class="w3-row-padding w3-theme-white">
|
||||
<div class="w3-panel">
|
||||
<div class="w3-col l3 m3 s5"><span class="lang_temparature">Temperature</span>:</div>
|
||||
<div class="w3-col l2 m3 s3"><input id="rad_unitsTemp1" type="radio" class="w3-radio"
|
||||
name="rad_unitsTemp" value="C" checked onclick="gauges.setUnits(this);"><label
|
||||
id="lab_unitsTemp1" for="rad_unitsTemp1">°C</label></div>
|
||||
<div class="w3-rest"><input id="rad_unitsTemp2" type="radio" class="w3-radio" name="rad_unitsTemp"
|
||||
value="F" onclick="gauges.setUnits(this);"><label id="lab_unitsTemp2"
|
||||
for="rad_unitsTemp2">°F</label></div>
|
||||
|
||||
<div class="w3-col l3 m3 s5"><span id="lang_rainfall">Rainfall</span></div>
|
||||
<div class="w3-col l2 m3 s3"><input id="rad_unitsRain1" type="radio" class="w3-radio"
|
||||
name="rad_unitsRain" value="mm" checked onclick="gauges.setUnits(this);"><label
|
||||
id="lab_unitsRain1" for="rad_unitsRain1">mm</label></div>
|
||||
<div class="w3-rest"><input id="rad_unitsRain2" type="radio" class="w3-radio" name="rad_unitsRain"
|
||||
value="in" onclick="gauges.setUnits(this);"><label id="lab_unitsRain2"
|
||||
for="rad_unitsRain2">Inch</label></div>
|
||||
|
||||
<div class="w3-col l3 m3 s5"><span id="lang_pressure">Pressure</span></div>
|
||||
<div class="w3-col l2 m2 s3"><input id="rad_unitsPress1" type="radio" class="w3-radio"
|
||||
name="rad_unitsPress" value="hPa" checked onclick="gauges.setUnits(this);"><label
|
||||
id="lab_unitsPress1" for="rad_unitsPress1">hPa</label></div>
|
||||
<div class="w3-col l2 m2 s4"><input id="rad_unitsPress2" type="radio" class="w3-radio"
|
||||
name="rad_unitsPress" value="inHg" onclick="gauges.setUnits(this);"><label
|
||||
id="lab_unitsPress2" for="rad_unitsPress2">inHg</label></div>
|
||||
<div class="w3-col s5 w3-hide-large w3-hide-medium"> </div>
|
||||
<div class="w3-col l2 m2 s3"><input id="rad_unitsPress3" type="radio" class="w3-radio"
|
||||
name="rad_unitsPress" value="mb" onclick="gauges.setUnits(this);"><label
|
||||
id="lab_unitsPress3" for="rad_unitsPress3">mb</label></div>
|
||||
<div class="w3-col l2 m3 s4"><input id="rad_unitsPress4" type="radio" class="w3-radio"
|
||||
name="rad_unitsPress" value="kPa" onclick="gauges.setUnits(this);"><label
|
||||
id="lab_unitsPress4" for="rad_unitsPress4">kPa</label></div>
|
||||
|
||||
<div class="w3-col l3 m3 s5"><span id="lang_windSpeed">Wind Speed</span></div>
|
||||
<div class="w3-col l2 m2 s3"><input id="rad_unitsWind4" type="radio" class="w3-radio"
|
||||
name="rad_unitsWind" value="km/h" checked onclick="gauges.setUnits(this);"><label
|
||||
id="lab_unitsWind4" for="rad_unitsWind4">km/h</label></div>
|
||||
<div class="w3-col l2 m2 s4"><input id="rad_unitsWind3" type="radio" class="w3-radio"
|
||||
name="rad_unitsWind" value="m/s" onclick="gauges.setUnits(this);"><label id="lab_unitsWind3"
|
||||
for="rad_unitsWind3">m/s</label></div>
|
||||
<div class="w3-col s5 w3-hide-medium w3-hide-large"> </div>
|
||||
<div class="w3-col l2 m2 s3"><input id="rad_unitsWind1" type="radio" class="w3-radio"
|
||||
name="rad_unitsWind" value="mph" onclick="gauges.setUnits(this);"><label id="lab_unitsWind1"
|
||||
for="rad_unitsWind1">mph</label></div>
|
||||
<div class="w3-col l3 m3 s4"><input id="rad_unitsWind2" type="radio" class="w3-radio"
|
||||
name="rad_unitsWind" value="kts" onclick="gauges.setUnits(this);"><label id="lab_unitsWind2"
|
||||
for="rad_unitsWind2">knots</label></div>
|
||||
|
||||
<div class="w3-col l3 m3 s5"><span id="lang_cloudbase">Cloud Base</span></div>
|
||||
<div class="w3-col l2 m2 s3"><input id="rad_unitsCloudBase1" type="radio" class="w3-radio"
|
||||
name="rad_unitsCloud" value="m" checked onclick="gauges.setUnits(this);"><label
|
||||
id="lab_unitsCloudBase1" for="rad_unitsCloudBase1">m</label></div>
|
||||
<div class="w3-col l7 m7 s4"><input id="rad_unitsCloudBase2" type="radio" class="w3-radio"
|
||||
name="rad_unitsCloud" value="ft" onclick="gauges.setUnits(this);"><label
|
||||
id="lab_unitsCloudBase2" for="rad_unitsCloudBase2">ft</label></div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="w3-container w3-theme-dark" style="border-radius: 0 0 8px 8px;">
|
||||
<p class="w3-right">Powered by <span class="w3-theme-txt">Cumulus MX</span></p>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var showModal = function (modalID) {
|
||||
$('#' + modalID).toggleClass('w3-show', 'w3-hide');
|
||||
};
|
||||
</script>
|
||||
<!-- Combined steelseries.js & tween.js -->
|
||||
<script src="lib/steelseries/scripts/steelseries_tween.min.js"></script>
|
||||
<!-- Once you have customised this scripts to your requirements you should minimise
|
||||
and concatenate them into a single file in the same order as below -->
|
||||
<script src="lib/steelseries/scripts/language.min.js"></script>
|
||||
<script src="lib/steelseries/scripts/gauges.js"></script>
|
||||
<!--Optional Wind Rose scripts -->
|
||||
<script src="lib/steelseries/scripts/RGraph.common.core.min.js"></script>
|
||||
<script src="lib/steelseries/scripts/RGraph.rose.min.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
112
historic.htm
Normal file
112
historic.htm
Normal file
|
@ -0,0 +1,112 @@
|
|||
<!--
|
||||
historic.htm v:0.0.1 d:Feb 2021 Neil Thomas
|
||||
Last modified: 2023/02/10 14:48:26
|
||||
Page: 1 main panel plus a sidebar
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<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">
|
||||
<title>Cumulus MX</title>
|
||||
<link rel="icon" type="image/png" href="images/favicon.png">
|
||||
|
||||
<!-- jQuery Local -->
|
||||
<script src="lib/jquery/jquery-latest.min.js"></script>
|
||||
|
||||
<!-- Fonts System will default to a sans-serif font if no Internet connection -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rosario:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- All Styles -->
|
||||
<link href="css/w3Pro.css" rel="stylesheet"> <!-- Basic w3shools responsive styles -->
|
||||
<link href="css/colours.css" rel="stylesheet"> <!-- Slightly enhanced w3schools colours -->
|
||||
<link href="css/mx-templates.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="js/setpagedata.js"></script> <!-- Utility javascripts for all pages. -->
|
||||
<style>
|
||||
#chartcontainer {
|
||||
min-height: 550px;
|
||||
margin-top:16px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.mx-button {
|
||||
margin-bottom: 5px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.graphs-width {
|
||||
max-width:1250px;
|
||||
margin: auto
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="Header" class="w3-row w3-top w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<div class="at-flex-between" style="align-items:center; flex-wrap:wrap;">
|
||||
<img src="images/CumulusMX-Logo.png" class="w3-image logo" alt="Header logo"/>
|
||||
<div class="w3-right-align" style="max-width:600px;">
|
||||
<h5>Lat<span class="w3-hide-small">itude</span>: <span data-cmxdata="latitude"></span><span class="at-divider">|<wbr></span>Long<span class="w3-hide-small">itude</span>: <span data-cmxdata="longitude"></span><span class="at-divider">|<wbr></span>Alt<span class="w3-hide-small">itude</span>: <span data-cmxdata="altitude"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of Menu -->
|
||||
<div id="Main_Menu" class="w3-bar w3-theme-d4 w3-theme-bdr">
|
||||
</div>
|
||||
<!-- Mobile menu -->
|
||||
<div id="Main_Menu_Mobile" class="w3-bar-block w3-hide w3-hide-large">
|
||||
</div> <!-- End of Mobile menu -->
|
||||
</div>
|
||||
</div>
|
||||
<div id="Content"> <!-- Start of panel content -->
|
||||
<div class="w3-row-padding w3-theme-light graphs-width"> <!-- Page Title -->
|
||||
<div class="w3-col l12">
|
||||
<h1>Charts based on summary data</h1>
|
||||
<h3 class="w3-center w3-hide">Welcome to <br/><span class="subText"><span data-cmxdata="longlocation"></span></span></h3>
|
||||
</div>
|
||||
</div> <!-- End of title row -->
|
||||
<div class="w3-row-padding w3-theme-light graphs-width"> <!-- First Row -->
|
||||
<div class="w3-col s12"> <!-- Main column of first row -->
|
||||
<div class="w3-panel w3-card w3-theme-white">
|
||||
<figure>
|
||||
<div id="chartcontainer"></div>
|
||||
</figure>
|
||||
</div>
|
||||
</div> <!-- End of first column of first row -->
|
||||
</div>
|
||||
<div class="w3-row-padding w3-theme-light graphs-width">
|
||||
<div class="w3-col s12">
|
||||
<div class="w3-container w3-panel w3-center">
|
||||
<div class="w3-bar w3-center">
|
||||
<button id="btnTemp" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onClick="changeGraph('temp');">Temperature</button>
|
||||
<button id="btnPress" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onClick="changeGraph('press');">Pressure</button>
|
||||
<button id="btnWind" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onClick="changeGraph('wind');">Winds</button>
|
||||
<button id="btnHum" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onClick="changeGraph('humidity');">Humidity</button>
|
||||
<button id="btnRain" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onClick="changeGraph('rain');">Rainfall</button>
|
||||
<button id="btnSolar" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onClick="changeGraph('solar');">Solar Radiation</button>
|
||||
<button id="btnDegDay" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onClick="changeGraph('degday');">Degree Days</button>
|
||||
<button id="btnTempSum" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onClick="changeGraph('tempsum');">Temp Sum</button>
|
||||
</div>
|
||||
<p>Mouse over the chart to see the values at any given time.
|
||||
You can add or remove data sets from the chart by clicking the entry on the chart legend.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="Footer" class="w3-row w3-bottom w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<p><em>Cumulus MX Template by Neil Thomas <script>document.write(new Date().getFullYear());</script>
|
||||
<span class="w3-right">Powered by <span class="w3-theme-txt">Cumulus MX</span> v:<span data-cmxdata="version"></span>, b:<span data-cmxdata="build"></span></span></em></p>
|
||||
</div>
|
||||
</div>
|
||||
<script src="https://code.highcharts.com/stock/10.3.3/highstock.js"></script>
|
||||
<script src="https://code.highcharts.com/stock/10.3.3/modules/exporting.js"></script>
|
||||
<script src="https://code.highcharts.com/10.3.3/modules/export-data.js"></script>
|
||||
<script src="https://code.highcharts.com/10.3.3/modules/accessibility.js"></script>
|
||||
<script src="https://code.highcharts.com/10.3.3/modules/boost.js"></script>
|
||||
<script src="https://code.highcharts.com/10.3.3/themes/grid.js"></script>
|
||||
<script src="js/historiccharts.js"></script>
|
||||
</body>
|
||||
</html>
|
BIN
images/CumulusMX-Logo.png
Normal file
BIN
images/CumulusMX-Logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
BIN
images/background.jpg
Normal file
BIN
images/background.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 837 KiB |
BIN
images/favicon.png
Normal file
BIN
images/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 57 KiB |
BIN
images/moon.png
Normal file
BIN
images/moon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
BIN
images/picture.jpg
Normal file
BIN
images/picture.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
199
index.php
Normal file
199
index.php
Normal file
|
@ -0,0 +1,199 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<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">
|
||||
<title>Cumulus MX</title>
|
||||
<link rel="icon" type="image/png" href="images/favicon.png">
|
||||
|
||||
<script src="lib/jquery/jquery-latest.min.js"></script>
|
||||
|
||||
<!-- All Styles -->
|
||||
<link href="css/wah.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="js/setpagedata.js"></script> <!-- Utility javascripts for all pages. -->
|
||||
<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">
|
||||
<div id="header">
|
||||
<h1>wah's the weather?</h1>
|
||||
<nav>
|
||||
<strong>Pages:</strong>
|
||||
<a href="/">now</a> |
|
||||
<a href="">today</a> |
|
||||
<a href="">yesterday</a> |
|
||||
<a href="">today-yest</a> |
|
||||
<a href="">gauges</a> |
|
||||
<a href="">records</a> |
|
||||
<a href="">charts</a> |
|
||||
<a href="">reports</a>
|
||||
</nav>
|
||||
</div>
|
||||
<div id="content">
|
||||
<h3>Almanac</h3>
|
||||
<table class="almanac">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Dawn:</td>
|
||||
<td><span data-cmxdata="dawn"></span></td>
|
||||
<td>Sun Rise:</td>
|
||||
<td><span data-cmxdata="sunrise"></span></td>
|
||||
<td>Moon Rise:</td>
|
||||
<td><span data-cmxdata="moonrise"></span></td>
|
||||
<td rowspan="3" style="width:75px; height: 75px; padding:0"><img id="moonImg"
|
||||
src="images/moon.png" alt="Moon" width="75" height="75" class="w3-image" />Visible <span
|
||||
data-cmxdata="MoonPercentAbs"></span>%
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Dusk:</td>
|
||||
<td><span data-cmxdata="dusk"></span></td>
|
||||
<td>Sun Set:</td>
|
||||
<td><span data-cmxdata="sungaugeset"></span></td>
|
||||
<td>Moon Set:</td>
|
||||
<td><span data-cmxdata="moonset"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Daylight:</td>
|
||||
<td><span data-cmxdata="daylightlength"></span></td>
|
||||
<td>Day Length:</td>
|
||||
<td><span data-cmxdata="daylength"></span></td>
|
||||
<td>Moon Phase:</td>
|
||||
<td><span id="moonPhase" data-cmxdata="moonphase"></span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br><br>
|
||||
<h3>Conditions at local time <span data-cmxdata="time"></span></h3>
|
||||
<table class="conditions-now">
|
||||
<tr>
|
||||
<th colspan="4">Temperature and Humidity</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Temperature</td>
|
||||
<td><span data-cmxdata="temp"></span> <span data-cmxdata="tempunit"></span>
|
||||
</td>
|
||||
<td>Dew Point</td>
|
||||
<td><span data-cmxdata="dew"></span> <span data-cmxdata="tempunit"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Windchill</td>
|
||||
<td><span data-cmxdata="wchill"></span> <span data-cmxdata="tempunit"></span>
|
||||
</td>
|
||||
<td>Humidity</td>
|
||||
<td><span data-cmxdata="hum"></span> %</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Heat Index</td>
|
||||
<td><span data-cmxdata="heatindex"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td><span data-cmx-feels>Feels
|
||||
Like</span></td>
|
||||
<td><span data-cmx-feels data-cmxdata="feelslike"></span> <span data-cmxdata="tempunit"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Temp change last hour</td>
|
||||
<td><span data-cmxdata="TempChangeLastHour"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="4">Rainfall</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Rainfall Today</td>
|
||||
<td><span data-cmxdata="rfall"></span> <span data-cmxdata="rainunit"></span>
|
||||
</td>
|
||||
<td>Rainfall Rate</td>
|
||||
<td><span data-cmxdata="rrate"></span> <span data-cmxdata="rainunit"></span>/hr
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Rainfall This Month</td>
|
||||
<td><span data-cmxdata="rmonth"></span> <span data-cmxdata="rainunit"></span>
|
||||
</td>
|
||||
<td>Rainfall This Year</td>
|
||||
<td><span data-cmxdata="ryear"></span> <span data-cmxdata="rainunit"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Rainfall Last Hour</td>
|
||||
<td><span data-cmxdata="rhour"></span> <span data-cmxdata="rainunit"></span>
|
||||
</td>
|
||||
<td>Last rainfall</td>
|
||||
<td><span data-cmxdata="LastRainTip"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Rainfall Since Midnight</td>
|
||||
<td><span data-cmxdata="rmidnight"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td>Rainfall Last 24 Hours</td>
|
||||
<td><span data-cmxdata="r24hour"></span> <span data-cmxdata="rainunit"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="4">Wind</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Wind Speed <span class="subText">(gust)</span></td>
|
||||
<td><span data-cmxdata="wgust"></span> <span data-cmxdata="windunit"></span>
|
||||
</td>
|
||||
<td>Wind Speed <span class="subText">(avg)</span></td>
|
||||
<td><span data-cmxdata="wspeed"></span> <span data-cmxdata="windunit"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Wind Bearing</td>
|
||||
<td><span data-cmxdata="avgbearing"></span>° <span data-cmxdata="wdir"></span>
|
||||
</td>
|
||||
<td>Beaufort <span data-cmxdata="beaufort"></span></td>
|
||||
<td><span data-cmxdata="beaudesc"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Wind Variation <span class="subText">(last 10 minutes)</span></td>
|
||||
<td colspan="3">From <span data-cmxdata="BearingRangeFrom"></span>° to <span
|
||||
data-cmxdata="BearingRangeTo"></span>°</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="4">Pressure <span class="subText">(sea
|
||||
level)</span></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Barometer</td>
|
||||
<td><span data-cmxdata="press"></span> <span data-cmxdata="pressunit"></span>
|
||||
</td>
|
||||
<td><span data-cmxdata="presstrend"></span></td>
|
||||
<td><span data-cmxdata="presstrendval"></span> <span data-cmxdata="pressunit"></span>/hr</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<div>
|
||||
<span>
|
||||
© floppydisk 2021-2024
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>
|
||||
Powered by Cumulus MX v:<span data-cmxdata="version"></span>, b:<span data-cmxdata="build"></span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
40
js/alltimerecdata.js
Normal file
40
js/alltimerecdata.js
Normal file
|
@ -0,0 +1,40 @@
|
|||
// Last modified: 2021/03/19 09:15:55
|
||||
|
||||
|
||||
$.getJSON("data/websitedata.json", function (json) {
|
||||
console.log("success");
|
||||
var cmx_data = json;
|
||||
|
||||
$(document).prop('title', cmx_data['cmx-location'] + ' weather');
|
||||
$('meta[name=description]').attr('content', cmx_data['cmx-location'] + ' weather data');
|
||||
$('meta[name=keywords]').attr('content', $('meta[name=keywords]').attr('content') + ', ' + cmx_data['cmx-location'] + ' weather data');
|
||||
|
||||
$.getJSON("data/alltimerecdata.json", function (json) {
|
||||
console.log("success");
|
||||
Object.keys(json).forEach(key => {
|
||||
cmx_data[key] = json[key];
|
||||
});
|
||||
|
||||
// Update all spans with id beginning "cmx-"
|
||||
$('span[id^=cmx-]').each(function () {
|
||||
this.innerHTML = cmx_data[this.id];
|
||||
});
|
||||
// Update all spans with class beginning "cmx-"
|
||||
$('span[class^=cmx-]').each(function () {
|
||||
this.innerHTML = cmx_data[this.className];
|
||||
});
|
||||
})
|
||||
.fail(function (jqxhr, textStatus, error) {
|
||||
var err = textStatus + ", " + error;
|
||||
console.log("Request Failed: " + err);
|
||||
});
|
||||
|
||||
|
||||
})
|
||||
.fail(function (jqxhr, textStatus, error) {
|
||||
var err = textStatus + ", " + error;
|
||||
console.log("Request Failed: " + err);
|
||||
});
|
||||
|
||||
$(document).ready(function () {
|
||||
});
|
2468
js/cumuluscharts.js
Normal file
2468
js/cumuluscharts.js
Normal file
File diff suppressed because it is too large
Load diff
1134
js/historiccharts.js
Normal file
1134
js/historiccharts.js
Normal file
File diff suppressed because it is too large
Load diff
36
js/menu.js
Normal file
36
js/menu.js
Normal file
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
Menu configuration file for NEW CuMX template
|
||||
Last modified: 2022/07/05 11:39:38
|
||||
menu.js - typical name, you define the one used in setpagedata.js
|
||||
|
||||
It is STRONGLY RECOMMENDED that if you customise this file, you create a new file with a different name, e.g. mymenu.js
|
||||
and change setpagedata.js to use that file. This will avoid your customisations being accidentally overwritten during upgrades
|
||||
|
||||
Properties:
|
||||
.menu - can be 'b' (both menus), 'w' (wide menu ONLY), 'n' (narrow menu ONLY)
|
||||
.new_window:true - forces the link to open in new browser window
|
||||
.forum:true - flags a forum link menu item, it will use the url provided in CuMX config, if that is blank the menu item will be hidden
|
||||
.webcam:true - flags a webcam link menu item, it will use the url provided in CuMX config, if that is blank the menu item will be hidden
|
||||
*/
|
||||
|
||||
menuSrc = [
|
||||
{title: "Now", menu: "b", url: "index.htm"},
|
||||
{title: "Today", menu: "b", url: "today.htm"},
|
||||
{title: "Yesterday", menu: "b", url: "yesterday.htm"},
|
||||
{title: "Today-Yest", menu: "b", url: "todayyest.htm"},
|
||||
{title: "Gauges", menu: "b", url: "gauges.htm"},
|
||||
{title: "Records", menu: "b", submenu: true, items: [
|
||||
{title: "This Month", menu: "b", url: "thismonth.htm"},
|
||||
{title: "This Year", menu: "b", url: "thisyear.htm"},
|
||||
{title: "All Time", menu: "b", url: "record.htm"},
|
||||
{title: "Monthly", menu: "b", url: "monthlyrecord.htm"}
|
||||
]},
|
||||
{title: "Charts", menu: "b", submenu: true, items: [
|
||||
{title: "Trends", menu: "b", url: "trends.htm"},
|
||||
{title: "Select-a-graph", menu: "b", url: "selectachart.htm"},
|
||||
{title: "Historic", menu: "b", url: "historic.htm"}
|
||||
]},
|
||||
{title: "Reports", menu: "b", url: "noaareport.htm"},
|
||||
{title: "Forum", menu: "b", url: "#", forum: true, new_window: true},
|
||||
{title: "Webcam", menu: "b", url: "#", webcam: true}
|
||||
];
|
44
js/menuSample.js
Normal file
44
js/menuSample.js
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
An example extended/modified Menu configuration file for NEW CuMX template
|
||||
Last modified: 2021/03/19 09:17:14
|
||||
menuSample.js - typical name, you define the one used in setpagedata.js
|
||||
|
||||
Properties:
|
||||
.menu - can be 'b' (both menus), 'w' (wide menu ONLY), 'n' (narrow menu ONLY)
|
||||
.new_window:true - forces the link to open in new browser window
|
||||
.forum:true - flags a forum link menu item, it will use the url provided in CuMX config, if that is blank the menu item will be hidden
|
||||
.webcam:true - flags a webcam link menu item, it will use the url provided in CuMX config, if that is blank the menu item will be hidden
|
||||
*/
|
||||
|
||||
menuSrc = [
|
||||
{ title: "Now", menu: "b", url: "index.htm" },
|
||||
{ title: "Today", menu: "b", url: "today.htm" },
|
||||
{ title: "Yesterday", menu: "b", url: "yesterday.htm" },
|
||||
{ title: "Gauges", menu: "b", url: "gauges.htm" },
|
||||
{
|
||||
title: "Records", menu: "b", submenu: true, items: [
|
||||
{ title: "This Month", menu: "b", url: "thismonth.htm" },
|
||||
{ title: "This Year", menu: "b", url: "thisyear.htm" },
|
||||
{ title: "All Time", menu: "b", url: "record.htm" },
|
||||
{ title: "Monthly", menu: "b", url: "monthlyrecord.htm" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Charts", menu: "b", submenu: true, items: [
|
||||
{ title: "Trends", menu: "b", url: "trends.htm" },
|
||||
{ title: "Select-a-graph", menu: "b", url: "selectachart.htm" },
|
||||
{ title: "Historic", menu: "b", url: "historic.htm" }
|
||||
]
|
||||
},
|
||||
{ title: "Reports", menu: "b", url: "noaareport.htm" },
|
||||
{ title: "Forum", menu: "n", url: "#", new_window: true },
|
||||
{ title: "Webcam", menu: "n", url: "#", new_window: true },
|
||||
{
|
||||
title: "Other Links", menu: "w", submenu: true, items: [
|
||||
{ title: "Cumulus Forum", menu: "w", url: "#", forum: true, new_window: true },
|
||||
{ title: "Webcam", menu: "b", url: "#", webcam: true, new_window: true },
|
||||
{ title: "My Cat", menu: "b", url: "mycatpage.htm" },
|
||||
{ title: "Some Cat", menu: "b", url: "https://pixnio.com/free-images/2020/07/26/2020-07-26-08-52-19-1200x1200.jpg", new_window: true }
|
||||
]
|
||||
}
|
||||
];
|
74
js/monthlyrecdata.js
Normal file
74
js/monthlyrecdata.js
Normal file
|
@ -0,0 +1,74 @@
|
|||
// Last modified: 2022/07/27 15:35:57
|
||||
|
||||
$(document).ready(function() {
|
||||
dataLoadedPromise.then(function() {
|
||||
var yesterday = new Date()
|
||||
yesterday.setDate(yesterday.getDate() - 1)
|
||||
changeData(yesterday.getMonth());
|
||||
$('#btnMon' + yesterday.getMonth()).attr('aria-pressed', true);
|
||||
});
|
||||
});
|
||||
|
||||
var monthnames = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
|
||||
|
||||
function changeData(month) {
|
||||
document.getElementById('MonthName').innerHTML = monthnames[month];
|
||||
document.getElementById('TempH').innerHTML = cmx_data.monthlyrecs.hightemp[month];
|
||||
document.getElementById('TempHT').innerHTML = cmx_data.monthlyrecs.hightempT[month];
|
||||
document.getElementById('TempL').innerHTML = cmx_data.monthlyrecs.lowtemp[month];
|
||||
document.getElementById('TempLT').innerHTML = cmx_data.monthlyrecs.lowtempT[month];
|
||||
document.getElementById('DewPointH').innerHTML = cmx_data.monthlyrecs.highDP[month];
|
||||
document.getElementById('DewPointHT').innerHTML = cmx_data.monthlyrecs.highDPT[month];
|
||||
document.getElementById('DewPointL').innerHTML = cmx_data.monthlyrecs.lowDP[month];
|
||||
document.getElementById('DewPointLT').innerHTML = cmx_data.monthlyrecs.lowDPT[month];
|
||||
document.getElementById('AppTempH').innerHTML = cmx_data.monthlyrecs.highapptemp[month];
|
||||
document.getElementById('AppTempHT').innerHTML = cmx_data.monthlyrecs.highapptempT[month];
|
||||
document.getElementById('AppTempL').innerHTML = cmx_data.monthlyrecs.lowapptemp[month];
|
||||
document.getElementById('AppTempLT').innerHTML = cmx_data.monthlyrecs.lowapptempT[month];
|
||||
document.getElementById('FeelsLikeH').innerHTML = cmx_data.monthlyrecs.highfeelslike[month];
|
||||
document.getElementById('FeelsLikeHT').innerHTML = cmx_data.monthlyrecs.highfeelslikeT[month];
|
||||
document.getElementById('FeelsLikeL').innerHTML = cmx_data.monthlyrecs.lowfeelslike[month];
|
||||
document.getElementById('FeelsLikeLT').innerHTML = cmx_data.monthlyrecs.lowfeelslikeT[month];
|
||||
document.getElementById('WChillL').innerHTML = cmx_data.monthlyrecs.lowchill[month];
|
||||
document.getElementById('WChillLT').innerHTML = cmx_data.monthlyrecs.lowchillT[month];
|
||||
document.getElementById('HeatIndexH').innerHTML = cmx_data.monthlyrecs.highheatindex[month];
|
||||
document.getElementById('HeatIndexHT').innerHTML = cmx_data.monthlyrecs.highheatindexT[month];
|
||||
document.getElementById('MinTempH').innerHTML = cmx_data.monthlyrecs.highmintemp[month];
|
||||
document.getElementById('MinTempHT').innerHTML = cmx_data.monthlyrecs.highmintempT[month];
|
||||
document.getElementById('MaxTempL').innerHTML = cmx_data.monthlyrecs.lowmaxtemp[month];
|
||||
document.getElementById('MaxTempLT').innerHTML = cmx_data.monthlyrecs.lowmaxtempT[month];
|
||||
document.getElementById('HumH').innerHTML = cmx_data.monthlyrecs.highhum[month];
|
||||
document.getElementById('HumHT').innerHTML = cmx_data.monthlyrecs.highhumT[month];
|
||||
document.getElementById('HumL').innerHTML = cmx_data.monthlyrecs.lowhum[month];
|
||||
document.getElementById('HumLT').innerHTML = cmx_data.monthlyrecs.lowhumT[month];
|
||||
document.getElementById('HighDailyTempRange').innerHTML = cmx_data.monthlyrecs.hightemprange[month];
|
||||
document.getElementById('HighDailyTempRangeT').innerHTML = cmx_data.monthlyrecs.hightemprangeT[month];
|
||||
document.getElementById('LowDailyTempRange').innerHTML = cmx_data.monthlyrecs.lowtemprange[month];
|
||||
document.getElementById('LowDailyTempRangeT').innerHTML = cmx_data.monthlyrecs.lowtemprangeT[month];
|
||||
document.getElementById('RainRateH').innerHTML = cmx_data.monthlyrecs.rainrate[month];
|
||||
document.getElementById('RainRateHT').innerHTML = cmx_data.monthlyrecs.rainrateT[month];
|
||||
document.getElementById('HourlyRainH').innerHTML = cmx_data.monthlyrecs.hourlyrain[month];
|
||||
document.getElementById('HourlyRainHT').innerHTML = cmx_data.monthlyrecs.hourlyrainT[month];
|
||||
document.getElementById('Rain24HourH').innerHTML = cmx_data.monthlyrecs.rain24h[month];
|
||||
document.getElementById('Rain24HourHT').innerHTML = cmx_data.monthlyrecs.rain24hT[month];
|
||||
document.getElementById('DailyRainH').innerHTML = cmx_data.monthlyrecs.dailyrain[month];
|
||||
document.getElementById('DailyRainHT').innerHTML = cmx_data.monthlyrecs.dailyrainT[month];
|
||||
document.getElementById('MonthlyRainH').innerHTML = cmx_data.monthlyrecs.monthlyrain[month];
|
||||
document.getElementById('MonthlyRainHT').innerHTML = cmx_data.monthlyrecs.monthlyrainT[month];
|
||||
document.getElementById('LongestDryPeriod').innerHTML = cmx_data.monthlyrecs.dryperiod[month];
|
||||
document.getElementById('LongestDryPeriodT').innerHTML = cmx_data.monthlyrecs.dryperiodT[month];
|
||||
document.getElementById('LongestWetPeriod').innerHTML = cmx_data.monthlyrecs.wetperiod[month];
|
||||
document.getElementById('LongestWetPeriodT').innerHTML = cmx_data.monthlyrecs.wetperiodT[month];
|
||||
document.getElementById('GustH').innerHTML = cmx_data.monthlyrecs.highgust[month];
|
||||
document.getElementById('GustHT').innerHTML = cmx_data.monthlyrecs.highgustT[month];
|
||||
document.getElementById('WindH').innerHTML = cmx_data.monthlyrecs.highwind[month];
|
||||
document.getElementById('WindHT').innerHTML = cmx_data.monthlyrecs.highwindT[month];
|
||||
document.getElementById('WindRunH').innerHTML = cmx_data.monthlyrecs.highwindrun[month];
|
||||
document.getElementById('WindRunHT').innerHTML = cmx_data.monthlyrecs.highwindrunT[month];
|
||||
document.getElementById('PressL').innerHTML = cmx_data.monthlyrecs.lowpress[month];
|
||||
document.getElementById('PressLT').innerHTML = cmx_data.monthlyrecs.lowpressT[month];
|
||||
document.getElementById('PressH').innerHTML = cmx_data.monthlyrecs.highpress[month];
|
||||
document.getElementById('PressHT').innerHTML = cmx_data.monthlyrecs.highpressT[month];
|
||||
$('#btnArray').children('button').attr("aria-pressed", false);
|
||||
$('#btnMon' + month).attr('aria-pressed', true);
|
||||
}
|
142
js/noaarpts.js
Normal file
142
js/noaarpts.js
Normal file
|
@ -0,0 +1,142 @@
|
|||
/* ----------------------------------------------------------
|
||||
* noaarpts.js
|
||||
* Last modified: 2021/07/10 13:19:42
|
||||
* Populates the dropdown menus using the records began date
|
||||
*
|
||||
* Requires jQuery
|
||||
* ----------------------------------------------------------*/
|
||||
|
||||
let rptPath = 'data/reports/'; // Your path should have a trailing "/", eg. 'Reports/'
|
||||
let startYear, endYear;
|
||||
let startMonth, endMonth;
|
||||
let rptAvail = {};
|
||||
|
||||
if (rptPath.length && rptPath.slice(-1) !== '/')
|
||||
rptPath += '/';
|
||||
|
||||
$(document).ready(function () {
|
||||
dataLoadedPromise.then(function () {
|
||||
startYear = cmx_data.recordsbegandateISO.split('-')[0] * 1;
|
||||
startMonth = cmx_data.recordsbegandateISO.split('-')[1] * 1;
|
||||
endYear = cmx_data.metdateyesterdayISO.split('-')[0] * 1;
|
||||
endMonth = cmx_data.metdateyesterdayISO.split('-')[1] * 1;
|
||||
|
||||
// This does the initial disable of out of range months this year
|
||||
rptAvail[endYear] = [];
|
||||
for (let m = 1; m < 13; m++) {
|
||||
// greater than end month
|
||||
rptAvail[endYear][m] = m <= endMonth;
|
||||
// if start year is this year, then less start month
|
||||
if (startYear == endYear) {
|
||||
rptAvail[endYear][m] = rptAvail[endYear][m] && m >= startMonth
|
||||
}
|
||||
$('#opt-' + m).prop('hidden', !rptAvail[endYear][m]);
|
||||
}
|
||||
|
||||
// get the current year report and display it whilst we sort out the rest in background
|
||||
getYearRpt(endYear);
|
||||
|
||||
// add the year select dropdown values, most recent first
|
||||
for (let y = endYear; y >= startYear; y--) {
|
||||
let option = $('<option />');
|
||||
option.html(y);
|
||||
option.val(y);
|
||||
|
||||
$('#year').append(option);
|
||||
|
||||
rptAvail[y] = [];
|
||||
|
||||
// The start and end years may be short, so no point in checking months that are out of range
|
||||
let monSt, monEnd;
|
||||
if (y == startYear || y == endYear) {
|
||||
monSt = y == startYear ? startMonth : 1;
|
||||
monEnd = y == endYear ? endMonth : 12;
|
||||
} else {
|
||||
monSt = 1;
|
||||
monEnd = 12;
|
||||
}
|
||||
|
||||
// we need to process every month though, so we can disbale those out of range as well as MIA
|
||||
for (let m = 1; m <= 12; m++) {
|
||||
// assume this month isn't available
|
||||
rptAvail[y][m] = false;
|
||||
|
||||
if (m >= monSt && m <= monEnd) {
|
||||
// assume it's there, then we only have to check for failure
|
||||
rptAvail[y][m] = true;
|
||||
// checking...
|
||||
$.ajax({
|
||||
url: rptPath + 'NOAAMO' + pad2(m) + pad2(y - 2000) + '.txt',
|
||||
type: 'HEAD',
|
||||
error: function () {
|
||||
rptAvail[y][m] = false;
|
||||
// if we are in the year currently being displayed...
|
||||
if (y == $('#year').val()) {
|
||||
// ...disable of any months that should be available but aren't
|
||||
$('#opt-' + m).prop('hidden', true);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// pad two digit numbers with a leading zero
|
||||
let pad2 = function (num) {
|
||||
return (num < 10 ? '0' : '') + num;
|
||||
}
|
||||
|
||||
// Script assumes that reports use the default name format
|
||||
let getMonRpt = function (month) {
|
||||
let yr = $('#year').val();
|
||||
|
||||
// Is annual selected? If so, show the yearly report
|
||||
if (month === '0') {
|
||||
getYearRpt(yr);
|
||||
return;
|
||||
}
|
||||
|
||||
reqRpt = rptPath + 'NOAAMO' + pad2(month) + pad2(yr - 2000) + '.txt';
|
||||
|
||||
$.ajax({
|
||||
url: reqRpt,
|
||||
dataType: 'text',
|
||||
success: function (data) {
|
||||
$('#noaareport').text(data);
|
||||
},
|
||||
error: function () {
|
||||
alert('Did not find the required report\n\nPlease try another date');
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// Script assumes that reports use the default name format
|
||||
let getYearRpt = function (yr) {
|
||||
let reqRpt = rptPath + 'NOAAYR' + yr + '.txt';
|
||||
|
||||
// set the month buttons for the new year
|
||||
for (let m = 1; m < 13; m++) {
|
||||
$('#opt-' + m).prop('hidden', !rptAvail[yr][m]);
|
||||
}
|
||||
|
||||
// Do we have a month selected? If so show the month report for the new year
|
||||
let mon = $('#month').val();
|
||||
if (mon != '0') {
|
||||
getMonRpt(mon);
|
||||
return;
|
||||
}
|
||||
|
||||
// get the report text
|
||||
$.ajax({
|
||||
url: reqRpt,
|
||||
dataType: 'text',
|
||||
success: function (data) {
|
||||
$('#noaareport').text(data);
|
||||
},
|
||||
error: function () {
|
||||
alert('Did not find the required report\n\nPlease try another date');
|
||||
}
|
||||
});
|
||||
};
|
1469
js/selectachart.js
Normal file
1469
js/selectachart.js
Normal file
File diff suppressed because it is too large
Load diff
237
js/setpagedata.js
Normal file
237
js/setpagedata.js
Normal file
|
@ -0,0 +1,237 @@
|
|||
/* ----------------------------------------------------------
|
||||
* setpagedata.js v:0.1.0 d:Mar 2021 a:Neil Thomas
|
||||
* Last modified: 2022/07/02 17:55:10
|
||||
* Basic scripts for all new at-xxxx.html template pages.
|
||||
* Incorporating changes suggested by beteljuice
|
||||
* Requires jQuery
|
||||
* ----------------------------------------------------------*/
|
||||
|
||||
// Global variables
|
||||
// Changing these affects every page in the ai-interface
|
||||
// All numbers are pixels.
|
||||
|
||||
let fixedHeader = false; // Use only true or false
|
||||
let fixedFooter = true; // Use only true or false
|
||||
let headerMargin = 20; // Gap between the header and the main body
|
||||
let footerMargin = 10; // Gap between the body and the footer
|
||||
let load_menu = "js/menu.js"; // menu file to load - path is relative to the page
|
||||
|
||||
|
||||
// Thats the only changes you should make unless you know better!
|
||||
|
||||
let cmx_data;
|
||||
let menu = mobileMenu = "";
|
||||
let initialLoad = true;
|
||||
|
||||
window.onresize = function () {
|
||||
borderpatrol();
|
||||
};
|
||||
|
||||
|
||||
let borderpatrol = function () {
|
||||
var contentMargin = $("#Header").outerHeight(true);
|
||||
if ($('#Header').hasClass('w3-top')) {
|
||||
$('#Content').css('margin-top', headerMargin + contentMargin + 'px');
|
||||
} else {
|
||||
$('#Content').css('margin-top', headerMargin + 'px');
|
||||
}
|
||||
contentMargin = $('#Footer').outerHeight(true);
|
||||
if ($('#Footer').hasClass('w3-bottom')) {
|
||||
$('#Content').css('margin-bottom', footerMargin + contentMargin + 'px');
|
||||
} else {
|
||||
$('#Content').css('margin-bottom', footerMargin + 'px');
|
||||
}
|
||||
}; // end function
|
||||
|
||||
let createMainMenu = function (src, submenu) {
|
||||
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';
|
||||
|
||||
src.forEach(function (itm) {
|
||||
if (itm.menu !== 'n') { // wanted in main menu
|
||||
if (itm.submenu) { // drop down
|
||||
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<div id="sub_' + itm.title.replace(/ /g, "_") + '" class="w3-dropdown-content w3-bar-block w3-theme">\n';
|
||||
// add the sub-menu items
|
||||
createMainMenu(itm.items, true);
|
||||
menu += '\t\n</div></div>\n';
|
||||
} else {
|
||||
infill = (itm.new_window ? ' target="_blank"' : '');
|
||||
|
||||
if (itm.forum) {
|
||||
if (cmx_data.forumurl != '') {
|
||||
menu += '<a href="' + cmx_data.forumurl + '"' + infill + ' class="' + (submenu ? classMainSub : classMain) + '">' + itm.title + '</a>\n';
|
||||
}
|
||||
} else if (itm.webcam) {
|
||||
if (cmx_data.webcamurl != '') {
|
||||
menu += '<a href="' + cmx_data.webcamurl + '"' + infill + ' class="' + (submenu ? classMainSub : classMain) + '">' + itm.title + '</a>\n';
|
||||
}
|
||||
} else {
|
||||
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 (submenu)
|
||||
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>';
|
||||
|
||||
// stick the menus into the page
|
||||
$('#Main_Menu').html(menu);
|
||||
};
|
||||
|
||||
let createMobileMenu = function (src, submenu) {
|
||||
let classMobile = 'w3-bar-item w3-btn w3-theme-hvr at-slim';
|
||||
let styleMobile = submenu ? 'padding-left: 30px !important;' : '';
|
||||
|
||||
src.forEach(function (itm) {
|
||||
if (itm.menu !== 'w') { // wanted in narrow menu
|
||||
// mobile menu
|
||||
if (itm.submenu) {
|
||||
mobileMenu += '\t<button class="w3-btn at-slim" style="cursor: default;">' + itm.title + '…</button>\n';
|
||||
createMobileMenu(itm.items, true);
|
||||
} else {
|
||||
infill = (itm.new_window ? " target='_blank'" : "");
|
||||
if (itm.forum && cmx_data.forumurl != '') {
|
||||
mobileMenu += '<a href="' + cmx_data.forumurl + '"' + infill + ' class="' + classMobile + '" style= "' + styleMobile + '">' + itm.title + '</a>\n';
|
||||
} else if (itm.webcam && cmx_data.webcamurl != '') {
|
||||
mobileMenu += '<a href="' + cmx_data.webcamurl + '"' + infill + ' class="' + classMobile + '" style= "' + styleMobile + '">' + itm.title + '</a>\n';
|
||||
} else {
|
||||
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 (submenu)
|
||||
return;
|
||||
|
||||
// stick the menus into the page
|
||||
$('#Main_Menu_Mobile').html(mobileMenu);
|
||||
};
|
||||
|
||||
let setupPage = function () {
|
||||
|
||||
// static header & footer
|
||||
if (fixedHeader) {
|
||||
$('#Header').addClass('w3-top');
|
||||
} else {
|
||||
$('#Header').removeClass('w3-top');
|
||||
}
|
||||
if (fixedFooter) {
|
||||
$('#Footer').addClass('w3-bottom');
|
||||
} else {
|
||||
$('#Footer').removeClass('w3-bottom');
|
||||
}
|
||||
// Page content top and bottom margins
|
||||
borderpatrol();
|
||||
};
|
||||
|
||||
let toggleMenu = function (menuid) {
|
||||
$('#' + menuid).toggleClass('w3-show');
|
||||
};
|
||||
|
||||
let dropDown = function (panel) {
|
||||
var btn = $('#' + panel.id);
|
||||
var sub = $('#sub_' + panel.id);
|
||||
if (sub.hasClass('w3-show')) {
|
||||
sub.removeClass('w3-show');
|
||||
btn.attr('aria-expanded', false);
|
||||
} else {
|
||||
// Close other dropdowns first
|
||||
$('.w3-dropdown-content').removeClass('w3-show');
|
||||
sub.addClass('w3-show');
|
||||
btn.attr('aria-expanded', true);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
let getPageData = function (resolve, reject) {
|
||||
$.getJSON('data/websitedata.json?_=' + Date.now(), function (json) {
|
||||
console.log('Data success');
|
||||
// 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
|
||||
let pageName = window.location.href.split('/').pop().split('.')[0];
|
||||
if (pageName == 'index' || pageName == 'today' || pageName == 'todayYest' || pageName == '') {
|
||||
setTimeout(function () {
|
||||
getPageData(null, null);
|
||||
}, 60 * 1000);
|
||||
}
|
||||
|
||||
cmx_data = json;
|
||||
|
||||
// Set some header stuff
|
||||
$(document).prop('title', cmx_data.location + ' weather');
|
||||
$('meta[name=description]').attr('content', cmx_data.location + ' weather data');
|
||||
$('meta[name=keywords]').attr('content', $('meta[name=keywords]').attr('content') + ', ' + cmx_data.location);
|
||||
|
||||
// do the menus
|
||||
if (initialLoad) {
|
||||
$.getScript(load_menu, function () { // path is relative to the page - allows for multiple vars to be available and ignores comments ;-)
|
||||
createMainMenu(menuSrc, false);
|
||||
createMobileMenu(menuSrc, false);
|
||||
borderpatrol(); // duplicated here to ensure things OK if initial menu wrapped
|
||||
});
|
||||
initialLoad = false;
|
||||
}
|
||||
|
||||
// Show/hide Apparent/Feels Like
|
||||
if (cmx_data.options.useApparent === "1") {
|
||||
$('[data-cmx-apparent]').removeClass('w3-hide');
|
||||
$('[data-cmx-feels]').addClass('w3-hide');
|
||||
}
|
||||
|
||||
if (cmx_data.options.showSolar === "1") {
|
||||
$('[data-cmx-solar]').removeClass('w3-hide');
|
||||
} else {
|
||||
$('[data-cmx-solar-gauge]').addClass('w3-hide'); // Gauges do not draw correctly if hidden from the start
|
||||
}
|
||||
|
||||
if (cmx_data.options.showUV === "1") {
|
||||
$('[data-cmx-uv]').removeClass('w3-hide');
|
||||
} else {
|
||||
$('[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
|
||||
$('[data-cmxdata]').each(function () {
|
||||
this.innerHTML = cmx_data[this.dataset.cmxdata];
|
||||
});
|
||||
|
||||
if (cmx_data.currcond != '') {
|
||||
$('#currCond').removeClass('w3-hide');
|
||||
}
|
||||
|
||||
// Use this to trigger other scripts on the page
|
||||
if (null !== resolve) {
|
||||
resolve();
|
||||
}
|
||||
})
|
||||
.fail(function (jqxhr, textStatus, error) {
|
||||
let err = textStatus + ', ' + error;
|
||||
console.log('Data Request Failed: ' + err);
|
||||
|
||||
if (null !== reject) {
|
||||
reject();
|
||||
}
|
||||
|
||||
// lets try that again
|
||||
setTimeout(function () {
|
||||
getPageData(resolve, reject);
|
||||
}, 5000);
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
// Get the main page data
|
||||
let dataLoadedPromise = new Promise((myResolve, myReject) => {
|
||||
$(document).ready(function () {
|
||||
setupPage();
|
||||
getPageData(myResolve, myReject);
|
||||
});
|
||||
});
|
2
lib/jquery/jquery-latest.min.js
vendored
Normal file
2
lib/jquery/jquery-latest.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
484
lib/jquery/jquery.tmpl.js
Normal file
484
lib/jquery/jquery.tmpl.js
Normal file
|
@ -0,0 +1,484 @@
|
|||
/*!
|
||||
* jQuery Templates Plugin 1.0.0pre
|
||||
* http://github.com/jquery/jquery-tmpl
|
||||
* Requires jQuery 1.4.2
|
||||
*
|
||||
* Copyright 2011, Software Freedom Conservancy, Inc.
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*/
|
||||
(function( jQuery, undefined ){
|
||||
var oldManip = jQuery.fn.domManip, tmplItmAtt = "_tmplitem", htmlExpr = /^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,
|
||||
newTmplItems = {}, wrappedItems = {}, appendToTmplItems, topTmplItem = { key: 0, data: {} }, itemKey = 0, cloneIndex = 0, stack = [];
|
||||
|
||||
function newTmplItem( options, parentItem, fn, data ) {
|
||||
// Returns a template item data structure for a new rendered instance of a template (a 'template item').
|
||||
// The content field is a hierarchical array of strings and nested items (to be
|
||||
// removed and replaced by nodes field of dom elements, once inserted in DOM).
|
||||
var newItem = {
|
||||
data: data || (data === 0 || data === false) ? data : (parentItem ? parentItem.data : {}),
|
||||
_wrap: parentItem ? parentItem._wrap : null,
|
||||
tmpl: null,
|
||||
parent: parentItem || null,
|
||||
nodes: [],
|
||||
calls: tiCalls,
|
||||
nest: tiNest,
|
||||
wrap: tiWrap,
|
||||
html: tiHtml,
|
||||
update: tiUpdate
|
||||
};
|
||||
if ( options ) {
|
||||
jQuery.extend( newItem, options, { nodes: [], parent: parentItem });
|
||||
}
|
||||
if ( fn ) {
|
||||
// Build the hierarchical content to be used during insertion into DOM
|
||||
newItem.tmpl = fn;
|
||||
newItem._ctnt = newItem._ctnt || newItem.tmpl( jQuery, newItem );
|
||||
newItem.key = ++itemKey;
|
||||
// Keep track of new template item, until it is stored as jQuery Data on DOM element
|
||||
(stack.length ? wrappedItems : newTmplItems)[itemKey] = newItem;
|
||||
}
|
||||
return newItem;
|
||||
}
|
||||
|
||||
// Override appendTo etc., in order to provide support for targeting multiple elements. (This code would disappear if integrated in jquery core).
|
||||
jQuery.each({
|
||||
appendTo: "append",
|
||||
prependTo: "prepend",
|
||||
insertBefore: "before",
|
||||
insertAfter: "after",
|
||||
replaceAll: "replaceWith"
|
||||
}, function( name, original ) {
|
||||
jQuery.fn[ name ] = function( selector ) {
|
||||
var ret = [], insert = jQuery( selector ), elems, i, l, tmplItems,
|
||||
parent = this.length === 1 && this[0].parentNode;
|
||||
|
||||
appendToTmplItems = newTmplItems || {};
|
||||
if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
|
||||
insert[ original ]( this[0] );
|
||||
ret = this;
|
||||
} else {
|
||||
for ( i = 0, l = insert.length; i < l; i++ ) {
|
||||
cloneIndex = i;
|
||||
elems = (i > 0 ? this.clone(true) : this).get();
|
||||
jQuery( insert[i] )[ original ]( elems );
|
||||
ret = ret.concat( elems );
|
||||
}
|
||||
cloneIndex = 0;
|
||||
ret = this.pushStack( ret, name, insert.selector );
|
||||
}
|
||||
tmplItems = appendToTmplItems;
|
||||
appendToTmplItems = null;
|
||||
jQuery.tmpl.complete( tmplItems );
|
||||
return ret;
|
||||
};
|
||||
});
|
||||
|
||||
jQuery.fn.extend({
|
||||
// Use first wrapped element as template markup.
|
||||
// Return wrapped set of template items, obtained by rendering template against data.
|
||||
tmpl: function( data, options, parentItem ) {
|
||||
return jQuery.tmpl( this[0], data, options, parentItem );
|
||||
},
|
||||
|
||||
// Find which rendered template item the first wrapped DOM element belongs to
|
||||
tmplItem: function() {
|
||||
return jQuery.tmplItem( this[0] );
|
||||
},
|
||||
|
||||
// Consider the first wrapped element as a template declaration, and get the compiled template or store it as a named template.
|
||||
template: function( name ) {
|
||||
return jQuery.template( name, this[0] );
|
||||
},
|
||||
|
||||
domManip: function( args, table, callback, options ) {
|
||||
if ( args[0] && jQuery.isArray( args[0] )) {
|
||||
var dmArgs = jQuery.makeArray( arguments ), elems = args[0], elemsLength = elems.length, i = 0, tmplItem;
|
||||
while ( i < elemsLength && !(tmplItem = jQuery.data( elems[i++], "tmplItem" ))) {}
|
||||
if ( tmplItem && cloneIndex ) {
|
||||
dmArgs[2] = function( fragClone ) {
|
||||
// Handler called by oldManip when rendered template has been inserted into DOM.
|
||||
jQuery.tmpl.afterManip( this, fragClone, callback );
|
||||
};
|
||||
}
|
||||
oldManip.apply( this, dmArgs );
|
||||
} else {
|
||||
oldManip.apply( this, arguments );
|
||||
}
|
||||
cloneIndex = 0;
|
||||
if ( !appendToTmplItems ) {
|
||||
jQuery.tmpl.complete( newTmplItems );
|
||||
}
|
||||
return this;
|
||||
}
|
||||
});
|
||||
|
||||
jQuery.extend({
|
||||
// Return wrapped set of template items, obtained by rendering template against data.
|
||||
tmpl: function( tmpl, data, options, parentItem ) {
|
||||
var ret, topLevel = !parentItem;
|
||||
if ( topLevel ) {
|
||||
// This is a top-level tmpl call (not from a nested template using {{tmpl}})
|
||||
parentItem = topTmplItem;
|
||||
tmpl = jQuery.template[tmpl] || jQuery.template( null, tmpl );
|
||||
wrappedItems = {}; // Any wrapped items will be rebuilt, since this is top level
|
||||
} else if ( !tmpl ) {
|
||||
// The template item is already associated with DOM - this is a refresh.
|
||||
// Re-evaluate rendered template for the parentItem
|
||||
tmpl = parentItem.tmpl;
|
||||
newTmplItems[parentItem.key] = parentItem;
|
||||
parentItem.nodes = [];
|
||||
if ( parentItem.wrapped ) {
|
||||
updateWrapped( parentItem, parentItem.wrapped );
|
||||
}
|
||||
// Rebuild, without creating a new template item
|
||||
return jQuery( build( parentItem, null, parentItem.tmpl( jQuery, parentItem ) ));
|
||||
}
|
||||
if ( !tmpl ) {
|
||||
return []; // Could throw...
|
||||
}
|
||||
if ( typeof data === "function" ) {
|
||||
data = data.call( parentItem || {} );
|
||||
}
|
||||
if ( options && options.wrapped ) {
|
||||
updateWrapped( options, options.wrapped );
|
||||
}
|
||||
ret = jQuery.isArray( data ) ?
|
||||
jQuery.map( data, function( dataItem ) {
|
||||
return dataItem ? newTmplItem( options, parentItem, tmpl, dataItem ) : null;
|
||||
}) :
|
||||
[ newTmplItem( options, parentItem, tmpl, data ) ];
|
||||
return topLevel ? jQuery( build( parentItem, null, ret ) ) : ret;
|
||||
},
|
||||
|
||||
// Return rendered template item for an element.
|
||||
tmplItem: function( elem ) {
|
||||
var tmplItem;
|
||||
if ( elem instanceof jQuery ) {
|
||||
elem = elem[0];
|
||||
}
|
||||
while ( elem && elem.nodeType === 1 && !(tmplItem = jQuery.data( elem, "tmplItem" )) && (elem = elem.parentNode) ) {}
|
||||
return tmplItem || topTmplItem;
|
||||
},
|
||||
|
||||
// Set:
|
||||
// Use $.template( name, tmpl ) to cache a named template,
|
||||
// where tmpl is a template string, a script element or a jQuery instance wrapping a script element, etc.
|
||||
// Use $( "selector" ).template( name ) to provide access by name to a script block template declaration.
|
||||
|
||||
// Get:
|
||||
// Use $.template( name ) to access a cached template.
|
||||
// Also $( selectorToScriptBlock ).template(), or $.template( null, templateString )
|
||||
// will return the compiled template, without adding a name reference.
|
||||
// If templateString includes at least one HTML tag, $.template( templateString ) is equivalent
|
||||
// to $.template( null, templateString )
|
||||
template: function( name, tmpl ) {
|
||||
if (tmpl) {
|
||||
// Compile template and associate with name
|
||||
if ( typeof tmpl === "string" ) {
|
||||
// This is an HTML string being passed directly in.
|
||||
tmpl = buildTmplFn( tmpl );
|
||||
} else if ( tmpl instanceof jQuery ) {
|
||||
tmpl = tmpl[0] || {};
|
||||
}
|
||||
if ( tmpl.nodeType ) {
|
||||
// If this is a template block, use cached copy, or generate tmpl function and cache.
|
||||
tmpl = jQuery.data( tmpl, "tmpl" ) || jQuery.data( tmpl, "tmpl", buildTmplFn( tmpl.innerHTML ));
|
||||
// Issue: In IE, if the container element is not a script block, the innerHTML will remove quotes from attribute values whenever the value does not include white space.
|
||||
// This means that foo="${x}" will not work if the value of x includes white space: foo="${x}" -> foo=value of x.
|
||||
// To correct this, include space in tag: foo="${ x }" -> foo="value of x"
|
||||
}
|
||||
return typeof name === "string" ? (jQuery.template[name] = tmpl) : tmpl;
|
||||
}
|
||||
// Return named compiled template
|
||||
return name ? (typeof name !== "string" ? jQuery.template( null, name ):
|
||||
(jQuery.template[name] ||
|
||||
// If not in map, and not containing at least on HTML tag, treat as a selector.
|
||||
// (If integrated with core, use quickExpr.exec)
|
||||
jQuery.template( null, htmlExpr.test( name ) ? name : jQuery( name )))) : null;
|
||||
},
|
||||
|
||||
encode: function( text ) {
|
||||
// Do HTML encoding replacing < > & and ' and " by corresponding entities.
|
||||
return ("" + text).split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'");
|
||||
}
|
||||
});
|
||||
|
||||
jQuery.extend( jQuery.tmpl, {
|
||||
tag: {
|
||||
"tmpl": {
|
||||
_default: { $2: "null" },
|
||||
open: "if($notnull_1){__=__.concat($item.nest($1,$2));}"
|
||||
// tmpl target parameter can be of type function, so use $1, not $1a (so not auto detection of functions)
|
||||
// This means that {{tmpl foo}} treats foo as a template (which IS a function).
|
||||
// Explicit parens can be used if foo is a function that returns a template: {{tmpl foo()}}.
|
||||
},
|
||||
"wrap": {
|
||||
_default: { $2: "null" },
|
||||
open: "$item.calls(__,$1,$2);__=[];",
|
||||
close: "call=$item.calls();__=call._.concat($item.wrap(call,__));"
|
||||
},
|
||||
"each": {
|
||||
_default: { $2: "$index, $value" },
|
||||
open: "if($notnull_1){$.each($1a,function($2){with(this){",
|
||||
close: "}});}"
|
||||
},
|
||||
"if": {
|
||||
open: "if(($notnull_1) && $1a){",
|
||||
close: "}"
|
||||
},
|
||||
"else": {
|
||||
_default: { $1: "true" },
|
||||
open: "}else if(($notnull_1) && $1a){"
|
||||
},
|
||||
"html": {
|
||||
// Unecoded expression evaluation.
|
||||
open: "if($notnull_1){__.push($1a);}"
|
||||
},
|
||||
"=": {
|
||||
// Encoded expression evaluation. Abbreviated form is ${}.
|
||||
_default: { $1: "$data" },
|
||||
open: "if($notnull_1){__.push($.encode($1a));}"
|
||||
},
|
||||
"!": {
|
||||
// Comment tag. Skipped by parser
|
||||
open: ""
|
||||
}
|
||||
},
|
||||
|
||||
// This stub can be overridden, e.g. in jquery.tmplPlus for providing rendered events
|
||||
complete: function( items ) {
|
||||
newTmplItems = {};
|
||||
},
|
||||
|
||||
// Call this from code which overrides domManip, or equivalent
|
||||
// Manage cloning/storing template items etc.
|
||||
afterManip: function afterManip( elem, fragClone, callback ) {
|
||||
// Provides cloned fragment ready for fixup prior to and after insertion into DOM
|
||||
var content = fragClone.nodeType === 11 ?
|
||||
jQuery.makeArray(fragClone.childNodes) :
|
||||
fragClone.nodeType === 1 ? [fragClone] : [];
|
||||
|
||||
// Return fragment to original caller (e.g. append) for DOM insertion
|
||||
callback.call( elem, fragClone );
|
||||
|
||||
// Fragment has been inserted:- Add inserted nodes to tmplItem data structure. Replace inserted element annotations by jQuery.data.
|
||||
storeTmplItems( content );
|
||||
cloneIndex++;
|
||||
}
|
||||
});
|
||||
|
||||
//========================== Private helper functions, used by code above ==========================
|
||||
|
||||
function build( tmplItem, nested, content ) {
|
||||
// Convert hierarchical content into flat string array
|
||||
// and finally return array of fragments ready for DOM insertion
|
||||
var frag, ret = content ? jQuery.map( content, function( item ) {
|
||||
return (typeof item === "string") ?
|
||||
// Insert template item annotations, to be converted to jQuery.data( "tmplItem" ) when elems are inserted into DOM.
|
||||
(tmplItem.key ? item.replace( /(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g, "$1 " + tmplItmAtt + "=\"" + tmplItem.key + "\" $2" ) : item) :
|
||||
// This is a child template item. Build nested template.
|
||||
build( item, tmplItem, item._ctnt );
|
||||
}) :
|
||||
// If content is not defined, insert tmplItem directly. Not a template item. May be a string, or a string array, e.g. from {{html $item.html()}}.
|
||||
tmplItem;
|
||||
if ( nested ) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
// top-level template
|
||||
ret = ret.join("");
|
||||
|
||||
// Support templates which have initial or final text nodes, or consist only of text
|
||||
// Also support HTML entities within the HTML markup.
|
||||
ret.replace( /^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/, function( all, before, middle, after) {
|
||||
frag = jQuery( middle ).get();
|
||||
|
||||
storeTmplItems( frag );
|
||||
if ( before ) {
|
||||
frag = unencode( before ).concat(frag);
|
||||
}
|
||||
if ( after ) {
|
||||
frag = frag.concat(unencode( after ));
|
||||
}
|
||||
});
|
||||
return frag ? frag : unencode( ret );
|
||||
}
|
||||
|
||||
function unencode( text ) {
|
||||
// Use createElement, since createTextNode will not render HTML entities correctly
|
||||
var el = document.createElement( "div" );
|
||||
el.innerHTML = text;
|
||||
return jQuery.makeArray(el.childNodes);
|
||||
}
|
||||
|
||||
// Generate a reusable function that will serve to render a template against data
|
||||
function buildTmplFn( markup ) {
|
||||
return new Function("jQuery","$item",
|
||||
// Use the variable __ to hold a string array while building the compiled template. (See https://github.com/jquery/jquery-tmpl/issues#issue/10).
|
||||
"var $=jQuery,call,__=[],$data=$item.data;" +
|
||||
|
||||
// Introduce the data as local variables using with(){}
|
||||
"with($data){__.push('" +
|
||||
|
||||
// Convert the template into pure JavaScript
|
||||
jQuery.trim(markup)
|
||||
.replace( /([\\'])/g, "\\$1" )
|
||||
.replace( /[\r\t\n]/g, " " )
|
||||
.replace( /\$\{([^\}]*)\}/g, "{{= $1}}" )
|
||||
.replace( /\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g,
|
||||
function( all, slash, type, fnargs, target, parens, args ) {
|
||||
var tag = jQuery.tmpl.tag[ type ], def, expr, exprAutoFnDetect;
|
||||
if ( !tag ) {
|
||||
throw "Unknown template tag: " + type;
|
||||
}
|
||||
def = tag._default || [];
|
||||
if ( parens && !/\w$/.test(target)) {
|
||||
target += parens;
|
||||
parens = "";
|
||||
}
|
||||
if ( target ) {
|
||||
target = unescape( target );
|
||||
args = args ? ("," + unescape( args ) + ")") : (parens ? ")" : "");
|
||||
// Support for target being things like a.toLowerCase();
|
||||
// In that case don't call with template item as 'this' pointer. Just evaluate...
|
||||
expr = parens ? (target.indexOf(".") > -1 ? target + unescape( parens ) : ("(" + target + ").call($item" + args)) : target;
|
||||
exprAutoFnDetect = parens ? expr : "(typeof(" + target + ")==='function'?(" + target + ").call($item):(" + target + "))";
|
||||
} else {
|
||||
exprAutoFnDetect = expr = def.$1 || "null";
|
||||
}
|
||||
fnargs = unescape( fnargs );
|
||||
return "');" +
|
||||
tag[ slash ? "close" : "open" ]
|
||||
.split( "$notnull_1" ).join( target ? "typeof(" + target + ")!=='undefined' && (" + target + ")!=null" : "true" )
|
||||
.split( "$1a" ).join( exprAutoFnDetect )
|
||||
.split( "$1" ).join( expr )
|
||||
.split( "$2" ).join( fnargs || def.$2 || "" ) +
|
||||
"__.push('";
|
||||
}) +
|
||||
"');}return __;"
|
||||
);
|
||||
}
|
||||
function updateWrapped( options, wrapped ) {
|
||||
// Build the wrapped content.
|
||||
options._wrap = build( options, true,
|
||||
// Suport imperative scenario in which options.wrapped can be set to a selector or an HTML string.
|
||||
jQuery.isArray( wrapped ) ? wrapped : [htmlExpr.test( wrapped ) ? wrapped : jQuery( wrapped ).html()]
|
||||
).join("");
|
||||
}
|
||||
|
||||
function unescape( args ) {
|
||||
return args ? args.replace( /\\'/g, "'").replace(/\\\\/g, "\\" ) : null;
|
||||
}
|
||||
function outerHtml( elem ) {
|
||||
var div = document.createElement("div");
|
||||
div.appendChild( elem.cloneNode(true) );
|
||||
return div.innerHTML;
|
||||
}
|
||||
|
||||
// Store template items in jQuery.data(), ensuring a unique tmplItem data data structure for each rendered template instance.
|
||||
function storeTmplItems( content ) {
|
||||
var keySuffix = "_" + cloneIndex, elem, elems, newClonedItems = {}, i, l, m;
|
||||
for ( i = 0, l = content.length; i < l; i++ ) {
|
||||
if ( (elem = content[i]).nodeType !== 1 ) {
|
||||
continue;
|
||||
}
|
||||
elems = elem.getElementsByTagName("*");
|
||||
for ( m = elems.length - 1; m >= 0; m-- ) {
|
||||
processItemKey( elems[m] );
|
||||
}
|
||||
processItemKey( elem );
|
||||
}
|
||||
function processItemKey( el ) {
|
||||
var pntKey, pntNode = el, pntItem, tmplItem, key;
|
||||
// Ensure that each rendered template inserted into the DOM has its own template item,
|
||||
if ( (key = el.getAttribute( tmplItmAtt ))) {
|
||||
while ( pntNode.parentNode && (pntNode = pntNode.parentNode).nodeType === 1 && !(pntKey = pntNode.getAttribute( tmplItmAtt ))) { }
|
||||
if ( pntKey !== key ) {
|
||||
// The next ancestor with a _tmplitem expando is on a different key than this one.
|
||||
// So this is a top-level element within this template item
|
||||
// Set pntNode to the key of the parentNode, or to 0 if pntNode.parentNode is null, or pntNode is a fragment.
|
||||
pntNode = pntNode.parentNode ? (pntNode.nodeType === 11 ? 0 : (pntNode.getAttribute( tmplItmAtt ) || 0)) : 0;
|
||||
if ( !(tmplItem = newTmplItems[key]) ) {
|
||||
// The item is for wrapped content, and was copied from the temporary parent wrappedItem.
|
||||
tmplItem = wrappedItems[key];
|
||||
tmplItem = newTmplItem( tmplItem, newTmplItems[pntNode]||wrappedItems[pntNode] );
|
||||
tmplItem.key = ++itemKey;
|
||||
newTmplItems[itemKey] = tmplItem;
|
||||
}
|
||||
if ( cloneIndex ) {
|
||||
cloneTmplItem( key );
|
||||
}
|
||||
}
|
||||
el.removeAttribute( tmplItmAtt );
|
||||
} else if ( cloneIndex && (tmplItem = jQuery.data( el, "tmplItem" )) ) {
|
||||
// This was a rendered element, cloned during append or appendTo etc.
|
||||
// TmplItem stored in jQuery data has already been cloned in cloneCopyEvent. We must replace it with a fresh cloned tmplItem.
|
||||
cloneTmplItem( tmplItem.key );
|
||||
newTmplItems[tmplItem.key] = tmplItem;
|
||||
pntNode = jQuery.data( el.parentNode, "tmplItem" );
|
||||
pntNode = pntNode ? pntNode.key : 0;
|
||||
}
|
||||
if ( tmplItem ) {
|
||||
pntItem = tmplItem;
|
||||
// Find the template item of the parent element.
|
||||
// (Using !=, not !==, since pntItem.key is number, and pntNode may be a string)
|
||||
while ( pntItem && pntItem.key != pntNode ) {
|
||||
// Add this element as a top-level node for this rendered template item, as well as for any
|
||||
// ancestor items between this item and the item of its parent element
|
||||
pntItem.nodes.push( el );
|
||||
pntItem = pntItem.parent;
|
||||
}
|
||||
// Delete content built during rendering - reduce API surface area and memory use, and avoid exposing of stale data after rendering...
|
||||
delete tmplItem._ctnt;
|
||||
delete tmplItem._wrap;
|
||||
// Store template item as jQuery data on the element
|
||||
jQuery.data( el, "tmplItem", tmplItem );
|
||||
}
|
||||
function cloneTmplItem( key ) {
|
||||
key = key + keySuffix;
|
||||
tmplItem = newClonedItems[key] =
|
||||
(newClonedItems[key] || newTmplItem( tmplItem, newTmplItems[tmplItem.parent.key + keySuffix] || tmplItem.parent ));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//---- Helper functions for template item ----
|
||||
|
||||
function tiCalls( content, tmpl, data, options ) {
|
||||
if ( !content ) {
|
||||
return stack.pop();
|
||||
}
|
||||
stack.push({ _: content, tmpl: tmpl, item:this, data: data, options: options });
|
||||
}
|
||||
|
||||
function tiNest( tmpl, data, options ) {
|
||||
// nested template, using {{tmpl}} tag
|
||||
return jQuery.tmpl( jQuery.template( tmpl ), data, options, this );
|
||||
}
|
||||
|
||||
function tiWrap( call, wrapped ) {
|
||||
// nested template, using {{wrap}} tag
|
||||
var options = call.options || {};
|
||||
options.wrapped = wrapped;
|
||||
// Apply the template, which may incorporate wrapped content,
|
||||
return jQuery.tmpl( jQuery.template( call.tmpl ), call.data, options, call.item );
|
||||
}
|
||||
|
||||
function tiHtml( filter, textOnly ) {
|
||||
var wrapped = this._wrap;
|
||||
return jQuery.map(
|
||||
jQuery( jQuery.isArray( wrapped ) ? wrapped.join("") : wrapped ).filter( filter || "*" ),
|
||||
function(e) {
|
||||
return textOnly ?
|
||||
e.innerText || e.textContent :
|
||||
e.outerHTML || outerHtml(e);
|
||||
});
|
||||
}
|
||||
|
||||
function tiUpdate() {
|
||||
var coll = this.nodes;
|
||||
jQuery.tmpl( null, null, null, this).insertBefore( coll[0] );
|
||||
jQuery( coll ).remove();
|
||||
}
|
||||
})( jQuery );
|
1
lib/steelseries/scripts/RGraph.common.core.min.js
vendored
Normal file
1
lib/steelseries/scripts/RGraph.common.core.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
lib/steelseries/scripts/RGraph.rose.min.js
vendored
Normal file
1
lib/steelseries/scripts/RGraph.rose.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
4376
lib/steelseries/scripts/gauges.js
Normal file
4376
lib/steelseries/scripts/gauges.js
Normal file
File diff suppressed because it is too large
Load diff
4
lib/steelseries/scripts/language.min.js
vendored
Normal file
4
lib/steelseries/scripts/language.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2959
lib/steelseries/scripts/src/RGraph.common.core.js
Normal file
2959
lib/steelseries/scripts/src/RGraph.common.core.js
Normal file
File diff suppressed because it is too large
Load diff
1204
lib/steelseries/scripts/src/RGraph.rose.js
Normal file
1204
lib/steelseries/scripts/src/RGraph.rose.js
Normal file
File diff suppressed because it is too large
Load diff
2987
lib/steelseries/scripts/src/language.js
Normal file
2987
lib/steelseries/scripts/src/language.js
Normal file
File diff suppressed because it is too large
Load diff
6974
lib/steelseries/scripts/src/steelseries.js
Normal file
6974
lib/steelseries/scripts/src/steelseries.js
Normal file
File diff suppressed because it is too large
Load diff
25
lib/steelseries/scripts/src/steelseries.min.js
vendored
Normal file
25
lib/steelseries/scripts/src/steelseries.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
380
lib/steelseries/scripts/src/tween.js
Normal file
380
lib/steelseries/scripts/src/tween.js
Normal file
|
@ -0,0 +1,380 @@
|
|||
/*!*********************************************************************
|
||||
TERMS OF USE - EASING EQUATIONS
|
||||
Open source under the BSD License.
|
||||
Copyright (c) 2001 Robert Penner
|
||||
JavaScript version copyright (C) 2006 by Philippe Maegerman
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following disclaimer
|
||||
in the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of the author nor the names of contributors may
|
||||
be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************/
|
||||
function Delegate() {}
|
||||
Delegate.create = function (o, f) {
|
||||
var a = [], i, l = arguments.length;
|
||||
for (i = 2; i < l; i++) {
|
||||
a[i - 2] = arguments[i];
|
||||
}
|
||||
return function () {
|
||||
var aP = [].concat(arguments, a);
|
||||
f.apply(o, aP);
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
object:
|
||||
type:Object
|
||||
The object you want to modify. It can be any object, a visual object that you want to animate ( document.body.style ) or an anymous object ( new Object() ).
|
||||
property:
|
||||
type:String
|
||||
The property that is updated on the target object, it can be empty ('')
|
||||
easing:
|
||||
type:Function
|
||||
The easing that will be applied to motion.
|
||||
start:
|
||||
type:Number
|
||||
Start value
|
||||
end:
|
||||
type:Number
|
||||
End value
|
||||
duration:
|
||||
type:Number
|
||||
Animation duration in seconds
|
||||
suffixe:
|
||||
type:String
|
||||
A string to append to the updated property ('%','pt','em' ...).
|
||||
*/
|
||||
|
||||
var Tween = function (obj, prop, func, begin, finish, duration, suffixe) {
|
||||
this.init(obj, prop, func, begin, finish, duration, suffixe);
|
||||
};
|
||||
var t = Tween.prototype;
|
||||
|
||||
t.obj = {};
|
||||
t.prop = '';
|
||||
t.func = function (t, b, c, d) { return c * t / d + b; };
|
||||
t.begin = 0;
|
||||
t.change = 0;
|
||||
t.prevTime = 0;
|
||||
t.prevPos = 0;
|
||||
t.looping = false;
|
||||
t._duration = 0;
|
||||
t._time = 0;
|
||||
t._pos = 0;
|
||||
t._position = 0;
|
||||
t._startTime = 0;
|
||||
t._finish = 0;
|
||||
t.name = '';
|
||||
t.suffixe = '';
|
||||
t._listeners = [];
|
||||
t.setTime = function (t) {
|
||||
this.prevTime = this._time;
|
||||
if (t > this.getDuration()) {
|
||||
if (this.looping) {
|
||||
this.rewind(t - this._duration);
|
||||
this.update();
|
||||
this.broadcastMessage('onMotionLooped', {target: this, type: 'onMotionLooped'});
|
||||
} else {
|
||||
this._time = this._duration;
|
||||
this.update();
|
||||
this.stop();
|
||||
this.broadcastMessage('onMotionFinished', {target: this, type: 'onMotionFinished'});
|
||||
}
|
||||
} else if (t < 0) {
|
||||
this.rewind();
|
||||
this.update();
|
||||
} else {
|
||||
this._time = t;
|
||||
this.update();
|
||||
}
|
||||
};
|
||||
t.getTime = function () {
|
||||
return this._time;
|
||||
};
|
||||
t.setDuration = function (d) {
|
||||
this._duration = (d === null || d <= 0) ? 100000 : d;
|
||||
};
|
||||
t.getDuration = function () {
|
||||
return this._duration;
|
||||
};
|
||||
t.setPosition = function (p) {
|
||||
this.prevPos = this._pos;
|
||||
var a = this.suffixe !== '' ? this.suffixe : '';
|
||||
this.obj[this.prop] = Math.round(p) + a;
|
||||
this._pos = p;
|
||||
this.broadcastMessage('onMotionChanged', {target: this, type: 'onMotionChanged'});
|
||||
};
|
||||
t.getPosition = function (t) {
|
||||
if (t === undefined) {
|
||||
t = this._time;
|
||||
}
|
||||
return this.func(t, this.begin, this.change, this._duration);
|
||||
};
|
||||
t.setFinish = function (f) {
|
||||
this.change = f - this.begin;
|
||||
};
|
||||
t.getFinish = function () {
|
||||
return this.begin + this.change;
|
||||
};
|
||||
t.init = function (obj, prop, func, begin, finish, duration, suffixe) {
|
||||
if (!arguments.length) {
|
||||
return;
|
||||
}
|
||||
this._listeners = [];
|
||||
this.addListener(this);
|
||||
if (suffixe) {
|
||||
this.suffixe = suffixe;
|
||||
}
|
||||
this.obj = obj;
|
||||
this.prop = prop;
|
||||
this.begin = begin;
|
||||
this._pos = begin;
|
||||
this.setDuration(duration);
|
||||
if (func !== null && func !== '') {
|
||||
this.func = func;
|
||||
}
|
||||
this.setFinish(finish);
|
||||
};
|
||||
t.start = function () {
|
||||
this.rewind();
|
||||
this.startEnterFrame();
|
||||
this.broadcastMessage('onMotionStarted', {target: this, type: 'onMotionStarted'});
|
||||
//alert('in');
|
||||
};
|
||||
t.rewind = function (t) {
|
||||
this.stop();
|
||||
this._time = (t === undefined) ? 0 : t;
|
||||
this.fixTime();
|
||||
this.update();
|
||||
};
|
||||
t.fforward = function () {
|
||||
this._time = this._duration;
|
||||
this.fixTime();
|
||||
this.update();
|
||||
};
|
||||
t.update = function () {
|
||||
this.setPosition(this.getPosition(this._time));
|
||||
};
|
||||
t.startEnterFrame = function () {
|
||||
this.stopEnterFrame();
|
||||
this.isPlaying = true;
|
||||
this.onEnterFrame();
|
||||
};
|
||||
t.onEnterFrame = function () {
|
||||
if (this.isPlaying) {
|
||||
this.nextFrame();
|
||||
// To get real smooth movement you have to set the timeout to 0 instead of 25
|
||||
setTimeout(Delegate.create(this, this.onEnterFrame), 25);
|
||||
}
|
||||
};
|
||||
t.nextFrame = function () {
|
||||
this.setTime((this.getTimer() - this._startTime) / 1000);
|
||||
};
|
||||
t.stop = function () {
|
||||
this.stopEnterFrame();
|
||||
this.broadcastMessage('onMotionStopped', {target: this, type: 'onMotionStopped'});
|
||||
};
|
||||
t.stopEnterFrame = function () {
|
||||
this.isPlaying = false;
|
||||
};
|
||||
t.playing = function () {
|
||||
return this.isPlaying;
|
||||
};
|
||||
t.continueTo = function (finish, duration) {
|
||||
this.begin = this._pos;
|
||||
this.setFinish(finish);
|
||||
if (this._duration !== undefined) {
|
||||
this.setDuration(duration);
|
||||
}
|
||||
this.start();
|
||||
};
|
||||
t.resume = function () {
|
||||
this.fixTime();
|
||||
this.startEnterFrame();
|
||||
this.broadcastMessage('onMotionResumed', {target: this, type: 'onMotionResumed'});
|
||||
};
|
||||
t.yoyo = function () {
|
||||
this.continueTo(this.begin, this._time);
|
||||
};
|
||||
t.addListener = function (o) {
|
||||
this.removeListener(o);
|
||||
return this._listeners.push(o);
|
||||
};
|
||||
t.removeListener = function (o) {
|
||||
var a = this._listeners,
|
||||
i = a.length;
|
||||
while (i--) {
|
||||
if (a[i] === o) {
|
||||
a.splice(i, 1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
t.broadcastMessage = function () {
|
||||
var arr = [], i, e, a = this._listeners,
|
||||
l = a.length;
|
||||
for (i = 0; i < arguments.length; i++) {
|
||||
arr.push(arguments[i]);
|
||||
}
|
||||
e = arr.shift();
|
||||
|
||||
for (i = 0; i < l; i++) {
|
||||
if (a[i][e]) {
|
||||
a[i][e].apply(a[i], arr);
|
||||
}
|
||||
}
|
||||
};
|
||||
t.fixTime = function () {
|
||||
this._startTime = this.getTimer() - this._time * 1000;
|
||||
};
|
||||
t.getTimer = function () {
|
||||
return new Date().getTime() - this._time;
|
||||
};
|
||||
Tween.backEaseIn = function (t, b, c, d, a, p) {
|
||||
var s = 1.70158;
|
||||
return c * (t /= d) * t * ((s + 1) * t - s) + b;
|
||||
};
|
||||
Tween.backEaseOut = function (t, b, c, d, a, p) {
|
||||
var s = 1.70158;
|
||||
return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;
|
||||
};
|
||||
Tween.backEaseInOut = function (t, b, c, d, a, p) {
|
||||
var s = 1.70158;
|
||||
if ((t /= d / 2) < 1) {
|
||||
return c / 2 * (t * t * (((s *= (1.525)) + 1) * t - s)) + b;
|
||||
}
|
||||
return c / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2) + b;
|
||||
};
|
||||
Tween.elasticEaseIn = function (t, b, c, d, a, p) {
|
||||
var s;
|
||||
if (t === 0) {
|
||||
return b;
|
||||
}
|
||||
if ((t /= d) === 1) {
|
||||
return b + c;
|
||||
}
|
||||
if (!p) {
|
||||
p = d * 0.3;
|
||||
}
|
||||
if (!a || a < Math.abs(c)) {
|
||||
a = c;
|
||||
s = p / 4;
|
||||
} else {
|
||||
s = p / (2 * Math.PI) * Math.asin(c / a);
|
||||
}
|
||||
|
||||
return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;
|
||||
|
||||
};
|
||||
Tween.elasticEaseOut = function (t, b, c, d, a, p) {
|
||||
var s;
|
||||
if (t === 0) {
|
||||
return b;
|
||||
}
|
||||
if ((t /= d) === 1) {
|
||||
return b + c;
|
||||
}
|
||||
if (!p) {
|
||||
p = d * 0.3;
|
||||
}
|
||||
if (!a || a < Math.abs(c)) {
|
||||
a = c;
|
||||
s = p / 4;
|
||||
} else {
|
||||
s = p / (2 * Math.PI) * Math.asin(c / a);
|
||||
}
|
||||
return (a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b);
|
||||
};
|
||||
Tween.elasticEaseInOut = function (t, b, c, d, a, p) {
|
||||
var s;
|
||||
if (t === 0) {
|
||||
return b;
|
||||
}
|
||||
if ((t /= d / 2) === 2) {
|
||||
return b + c;
|
||||
}
|
||||
if (!p) {
|
||||
p = d * (0.3 * 1.5);
|
||||
}
|
||||
if (!a || a < Math.abs(c)) {
|
||||
a = c;
|
||||
s = p / 4;
|
||||
} else {
|
||||
s = p / (2 * Math.PI) * Math.asin(c / a);
|
||||
}
|
||||
if (t < 1) {
|
||||
return -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;
|
||||
}
|
||||
return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p) * 0.5 + c + b;
|
||||
};
|
||||
Tween.bounceEaseOut = function (t, b, c, d) {
|
||||
if ((t /= d) < (1 / 2.75)) {
|
||||
return c * (7.5625 * t * t) + b;
|
||||
} else if (t < (2 / 2.75)) {
|
||||
return c * (7.5625 * (t -= (1.5 / 2.75)) * t + 0.75) + b;
|
||||
} else if (t < (2.5 / 2.75)) {
|
||||
return c * (7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375) + b;
|
||||
} else {
|
||||
return c * (7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375) + b;
|
||||
}
|
||||
};
|
||||
Tween.bounceEaseIn = function (t, b, c, d) {
|
||||
return c - Tween.bounceEaseOut(d - t, 0, c, d) + b;
|
||||
};
|
||||
Tween.bounceEaseInOut = function (t, b, c, d) {
|
||||
if (t < d / 2) {
|
||||
return Tween.bounceEaseIn(t * 2, 0, c, d) * 0.5 + b;
|
||||
} else {
|
||||
return Tween.bounceEaseOut(t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b;
|
||||
}
|
||||
};
|
||||
Tween.strongEaseInOut = function (t, b, c, d) {
|
||||
return c * (t /= d) * t * t * t * t + b;
|
||||
};
|
||||
Tween.regularEaseIn = function (t, b, c, d) {
|
||||
return c * (t /= d) * t + b;
|
||||
};
|
||||
Tween.regularEaseOut = function (t, b, c, d) {
|
||||
return -c * (t /= d) * (t - 2) + b;
|
||||
};
|
||||
Tween.regularEaseInOut = function (t, b, c, d) {
|
||||
if ((t /= d / 2) < 1) {
|
||||
return c / 2 * t * t + b;
|
||||
}
|
||||
return -c / 2 * ((--t) * (t - 2) - 1) + b;
|
||||
};
|
||||
Tween.strongEaseIn = function (t, b, c, d) {
|
||||
return c * (t /= d) * t * t * t * t + b;
|
||||
};
|
||||
Tween.strongEaseOut = function (t, b, c, d) {
|
||||
return c * ((t = t / d - 1) * t * t * t * t + 1) + b;
|
||||
};
|
||||
Tween.strongEaseInOut = function (t, b, c, d) {
|
||||
if ((t /= d / 2) < 1) {
|
||||
return c / 2 * t * t * t * t * t + b;
|
||||
}
|
||||
return c / 2 * ((t -= 2) * t * t * t * t + 2) + b;
|
||||
};
|
31
lib/steelseries/scripts/src/tween.min.js
vendored
Normal file
31
lib/steelseries/scripts/src/tween.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
55
lib/steelseries/scripts/steelseries_tween.min.js
vendored
Normal file
55
lib/steelseries/scripts/steelseries_tween.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
265
monthlyrecord.htm
Normal file
265
monthlyrecord.htm
Normal file
|
@ -0,0 +1,265 @@
|
|||
<!--
|
||||
monthlyrecord.htm v:0.0.1 d:Feb 2021 Neil Thomas
|
||||
Last modified: 2022/07/27 09:23:33
|
||||
Page: 1 main panel plus a sidebar
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<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">
|
||||
<title>Cumulus MX</title>
|
||||
<link rel="icon" type="image/png" href="images/favicon.png">
|
||||
|
||||
<!-- jQuery Local -->
|
||||
<script src="lib/jquery/jquery-latest.min.js"></script>
|
||||
|
||||
<!-- Fonts System will default to a sans-serif font if no Internet connection -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rosario:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- All Styles -->
|
||||
<link href="css/w3Pro.css" rel="stylesheet"> <!-- Basic w3shools responsive styles -->
|
||||
<link href="css/colours.css" rel="stylesheet"> <!-- Slightly enhanced w3schools colours -->
|
||||
<link href="css/mx-templates.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="js/setpagedata.js"></script> <!-- Utility javascripts for all pages. -->
|
||||
<script src="js/monthlyrecdata.js"></script>
|
||||
<style>
|
||||
.mx-button {margin-bottom: 5px; border-radius: 4px;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="Header" class="w3-row w3-top w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<div class="at-flex-between" style="align-items:center; flex-wrap:wrap;">
|
||||
<img src="images/CumulusMX-Logo.png" class="w3-image logo" alt="Header logo"/>
|
||||
<div class="w3-right-align" style="max-width:600px;">
|
||||
<h5>Lat<span class="w3-hide-small">itude</span>: <span data-cmxdata="latitude"></span><span class="at-divider">|<wbr></span>Long<span class="w3-hide-small">itude</span>: <span data-cmxdata="longitude"></span><span class="at-divider">|<wbr></span>Alt<span class="w3-hide-small">itude</span>: <span data-cmxdata="altitude"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of Menu -->
|
||||
<div id="Main_Menu" class="w3-bar w3-theme-d4 w3-theme-bdr">
|
||||
</div>
|
||||
<!-- Mobile menu -->
|
||||
<div id="Main_Menu_Mobile" class="w3-bar-block w3-hide w3-hide-large">
|
||||
</div> <!-- End of Mobile menu -->
|
||||
</div>
|
||||
</div>
|
||||
<div id="Content"> <!-- Start of panel content -->
|
||||
<div class="w3-row-padding w3-theme-light site-width"> <!-- Page Title -->
|
||||
<div class="w3-col l12">
|
||||
<h1>Monthly records<span class="subText"></span></h1>
|
||||
</div>
|
||||
</div> <!-- End of title row -->
|
||||
<div class="w3-row site-width w3-theme-light"> <!-- Start of Main panel -->
|
||||
<div class="w3-col l9 m12"> <!-- 3/4 width panel -->
|
||||
<div class="w3-row-padding"> <!-- Row 1 of 3/4 width panel -->
|
||||
<div class="w3-col s12"> <!-- Full width of above panel -->
|
||||
<div class="w3-panel w3-card w3-theme-white">
|
||||
<h2 class="">Records for <span id="MonthName">January</span></h2>
|
||||
<div class="w3-responsive">
|
||||
<table class="w3-table w3-hoverable" style="width:100%;" >
|
||||
<tr class="w3-theme-d5">
|
||||
<td colspan="3">Temperature and Humidity </td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Temperature</td>
|
||||
<td class="w3-right-align"><span id="TempH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span id="TempHT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Temperature</td>
|
||||
<td class="w3-right-align"><span id="TempL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span id="TempLT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Dew Point</td>
|
||||
<td class="w3-right-align"><span id="DewPointH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span id="DewPointHT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Dew Point</td>
|
||||
<td class="w3-right-align"><span id="DewPointL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span id="DewPointLT"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-apparent class="w3-theme-l2 w3-hide">
|
||||
<td class="">High Apparent</td>
|
||||
<td class="w3-right-align"><span id="AppTempH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span id="AppTempHT"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-apparent class="w3-theme-l2 w3-hide">
|
||||
<td class="">Low Apparent</td>
|
||||
<td class="w3-right-align"><span id="AppTempL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span id="AppTempLT"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-feels class="w3-theme-l2">
|
||||
<td class="">High Feels Like</td>
|
||||
<td class="w3-right-align"><span id="FeelsLikeH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span id="FeelsLikeHT"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-feels class="w3-theme-l2">
|
||||
<td class="">Low Feels Like</td>
|
||||
<td class="w3-right-align"><span id="FeelsLikeL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span id="FeelsLikeLT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Wind Chill</td>
|
||||
<td class="w3-right-align"><span id="WChillL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span id="WChillLT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Heat Index</td>
|
||||
<td class="w3-right-align"><span id="HeatIndexH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span id="HeatIndexHT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Minimum Temperature</td>
|
||||
<td class="w3-right-align"><span id="MinTempH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span id="MinTempHT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Maximum Temperature</td>
|
||||
<td class="w3-right-align"><span id="MaxTempL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span id="MaxTempLT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Humidity</td>
|
||||
<td class="w3-right-align"><span id="HumH"></span> %</td>
|
||||
<td class=""><span id="HumHT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Humidity</td>
|
||||
<td class="w3-right-align"><span id="HumL"></span> %</td>
|
||||
<td class=""><span id="HumLT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Daily Range</td>
|
||||
<td class="w3-right-align"><span id="HighDailyTempRange"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span id="HighDailyTempRangeT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Daily Range</td>
|
||||
<td class="w3-right-align"><span id="LowDailyTempRange"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span id="LowDailyTempRangeT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d4">
|
||||
<td colspan="3">Rainfall</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Rain Rate</td>
|
||||
<td class="w3-right-align"><span id="RainRateH"></span> <span data-cmxdata="rainunit"></span>/hr</td>
|
||||
<td class=""><span id="RainRateHT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Hourly Rainfall</td>
|
||||
<td class="w3-right-align"><span id="HourlyRainH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span id="HourlyRainHT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High 24 Hour Rainfall</td>
|
||||
<td class="w3-right-align"><span id="Rain24HourH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span id="Rain24HourHT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Daily Rainfall</td>
|
||||
<td class="w3-right-align"><span id="DailyRainH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span id="DailyRainHT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Monthly Rainfall</td>
|
||||
<td class="w3-right-align"><span id="MonthlyRainH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span id="MonthlyRainHT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">Longest Dry Period</td>
|
||||
<td class="w3-right-align"><span id="LongestDryPeriod"></span> days</td>
|
||||
<td class=""><span id="LongestDryPeriodT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">Longest Wet Period</td>
|
||||
<td class="w3-right-align"><span id="LongestWetPeriod"></span> days</td>
|
||||
<td class=""><span id="LongestWetPeriodT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d3">
|
||||
<td colspan="3">Wind</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td class="">High Wind Gust</td>
|
||||
<td class="w3-right-align"><span id="GustH"></span> <span data-cmxdata="windunit"></span></td>
|
||||
<td class=""><span id="GustHT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td class="">High Wind Speed <span class="subText">(10 minute average)</span></td>
|
||||
<td class="w3-right-align"><span id="WindH"></span> <span data-cmxdata="windunit"></span></td>
|
||||
<td class=""><span id="WindHT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td class="">High Daily Wind Run</td>
|
||||
<td class="w3-right-align"><span id="WindRunH"></span> <span data-cmxdata="windrununit"></span></td>
|
||||
<td class=""><span id="WindRunHT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d2">
|
||||
<td colspan="3">Pressure <span class="subText">(sea level)</span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l5">
|
||||
<td class="">High Pressure</td>
|
||||
<td class="w3-right-align"><span id="PressH"></span> <span data-cmxdata="pressunit"></span></td>
|
||||
<td class=""><span id="PressHT"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l5">
|
||||
<td class="">Low Pressure</td>
|
||||
<td class="w3-right-align"><span id="PressL"></span> <span data-cmxdata="pressunit"></span></td>
|
||||
<td class=""><span id="PressLT"></span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p class="w3-small credits">Page updated <span data-cmxdata="update"></span>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-row-padding w3-hide"> <!-- Row 2 of 3/4 width panel (hidden) -->
|
||||
<div class="w3-col s12"> <!-- Full width of above panel -->
|
||||
<div class="w3-panel w3-card w3-theme-white">
|
||||
<h2 class="">Main panel</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-col l3 m12"> <!-- Start of Sidebar 1/4 width -->
|
||||
<div class="w3-row-padding">
|
||||
<div class="w3-col l12">
|
||||
<div class="w3-panel w3-container w3-theme-light">
|
||||
<h3 class="w3-center">Welcome to <br/><span class="subText"><span data-cmxdata="longlocation"></span></span></h3>
|
||||
<p>Select the required month below.</p>
|
||||
<div id="btnArray" class="w3-bar-block w3-center">
|
||||
<button id="btnMon0" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onClick="changeData(0)" aria-pressed="false">January</button>
|
||||
<button id="btnMon1" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onClick="changeData(1)" aria-pressed="false">February</button>
|
||||
<button id="btnMon2" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onclick="changeData(2)" aria-pressed="false">March</button>
|
||||
<button id="btnMon3" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onclick="changeData(3)" aria-pressed="false">April</button>
|
||||
<button id="btnMon4" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onclick="changeData(4)" aria-pressed="false">May</button>
|
||||
<button id="btnMon5" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onclick="changeData(5)" aria-pressed="false">June</button>
|
||||
<button id="btnMon6" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onclick="changeData(6)" aria-pressed="false">July</button>
|
||||
<button id="btnMon7" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onclick="changeData(7)" aria-pressed="false">August</button>
|
||||
<button id="btnMon8" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onclick="changeData(8)" aria-pressed="false">September</button>
|
||||
<button id="btnMon9" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onclick="changeData(9)" aria-pressed="false">October</button>
|
||||
<button id="btnMon10" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onclick="changeData(10)" aria-pressed="false">November</button>
|
||||
<button id="btnMon11" class="w3-bar-item w3-btn w3-theme-l2 w3-theme-hvr at-slim mx-button" onclick="changeData(11)" aria-pressed="false">December</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End of panel content -->
|
||||
</div> <!-- End of content -->
|
||||
<div id="Footer" class="w3-row w3-bottom w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<p><em>Cumulus MX Template by Neil Thomas <script>document.write(new Date().getFullYear());</script>
|
||||
<span class="w3-right">Powered by <span class="w3-theme-txt">Cumulus MX</span> v:<span data-cmxdata="version"></span>, b:<span data-cmxdata="build"></span></span></em></p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
130
noaareport.htm
Normal file
130
noaareport.htm
Normal file
|
@ -0,0 +1,130 @@
|
|||
<!--
|
||||
noaareport.htm v:0.0.1 d:Feb 2021 Neil Thomas
|
||||
Last modified: 2021/06/10 15:48:11
|
||||
Page: 1 main panel plus a sidebar
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<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">
|
||||
<title>Cumulus MX</title>
|
||||
<link rel="icon" type="image/png" href="images/favicon.png">
|
||||
|
||||
<!-- jQuery Local -->
|
||||
<script src="lib/jquery/jquery-latest.min.js"></script>
|
||||
|
||||
<!-- Fonts System will default to a sans-serif font if no Internet connection -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rosario:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- All Styles -->
|
||||
<link href="css/w3Pro.css" rel="stylesheet"> <!-- Basic w3schools responsive styles -->
|
||||
<link href="css/colours.css" rel="stylesheet"> <!-- Slightly enhanced w3schools colours -->
|
||||
<link href="css/mx-templates.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="js/setpagedata.js"></script> <!-- Utility JavaScript's for all pages. -->
|
||||
<script src="js/noaarpts.js"></script>
|
||||
<style>
|
||||
#year, #month {
|
||||
padding-bottom: 4px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="Header" class="w3-row w3-top w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<div class="at-flex-between" style="align-items:center; flex-wrap:wrap;">
|
||||
<img src="images/CumulusMX-Logo.png" class="w3-image logo" alt="Header logo"/>
|
||||
<div class="w3-right-align" style="max-width:600px;">
|
||||
<h5>Lat<span class="w3-hide-small">itude</span>: <span data-cmxdata="latitude"></span><span class="at-divider">|<wbr></span>Long<span class="w3-hide-small">itude</span>: <span data-cmxdata="longitude"></span><span class="at-divider">|<wbr></span>Alt<span class="w3-hide-small">itude</span>: <span data-cmxdata="altitude"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of Menu -->
|
||||
<div id="Main_Menu" class="w3-bar w3-theme-d4 w3-theme-bdr">
|
||||
</div>
|
||||
<!-- Mobile menu -->
|
||||
<div id="Main_Menu_Mobile" class="w3-bar-block w3-hide w3-hide-large">
|
||||
</div> <!-- End of Mobile menu -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- START OF PAGE CONTENT Don't change anything above -->
|
||||
<div id="Content"> <!-- Start of panel content -->
|
||||
<div class="w3-row-padding w3-theme-light site-width">
|
||||
<div class="w3-col l12">
|
||||
<!-- Page Title goes HERE -->
|
||||
<div class="at-flex-between at-flex-items-center">
|
||||
<h1>NOAA Reports<span class="subText"></span></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End of title row -->
|
||||
<!-- Start of main content panels -->
|
||||
<div class="w3-row site-width w3-theme-light">
|
||||
<div class="w3-col l9 m12"> <!-- 3/4 width panel -->
|
||||
<div class="w3-row-padding">
|
||||
<div class="w3-col s12">
|
||||
<div id="NOAAMenu" class="w3-bar">
|
||||
<div class="w3-bar-item at-slim">
|
||||
<select id="year" class="w3-select w3-theme-l4" onchange="getYearRpt(this.value);"></select>
|
||||
</div>
|
||||
<div class="w3-bar-item at-slim">
|
||||
<select id="month" class="w3-select w3-theme-l4" onchange="getMonRpt(this.value);">
|
||||
<option id="opt-year" value="0" style="text-transform: uppercase;">Annual</option>
|
||||
<option id="opt-1" value="1">January</option>
|
||||
<option id="opt-2" value="2">February</option>
|
||||
<option id="opt-3" value="3">March</option>
|
||||
<option id="opt-4" value="4">April</option>
|
||||
<option id="opt-5" value="5">May</option>
|
||||
<option id="opt-6" value="6">June</option>
|
||||
<option id="opt-7" value="7">July</option>
|
||||
<option id="opt-8" value="8">August</option>
|
||||
<option id="opt-9" value="9">September</option>
|
||||
<option id="opt-10" value="10">October</option>
|
||||
<option id="opt-11" value="11">November</option>
|
||||
<option id="opt-12" value="12">December</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-row-padding"> <!-- Row 1 of 3/4 width panel -->
|
||||
<div class="w3-col s12"> <!-- Full width panel on all screens -->
|
||||
<div class="w3-panel w3-card w3-theme-white">
|
||||
<!-- Panel title here -->
|
||||
<!-- <h3><span id="RptTitle"></span></h3> -->
|
||||
<!-- Panel content goes here -->
|
||||
<pre class="w3-responsive" style="min-height:500px;"><span id="noaareport">Loading report...</span></pre>
|
||||
<p class="w3-small">Page data updated <span data-cmxdata="update"></span>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of Sidebar -->
|
||||
<div class="w3-col l3 m12">
|
||||
<div class="w3-row-padding">
|
||||
<!-- First panel of sidebar -->
|
||||
<div class="w3-col l12"> <!-- Full width of sidebar -->
|
||||
<div class="w3-panel w3-container w3-theme-light">
|
||||
<!-- Sidebar content here -->
|
||||
<h3 class="w3-center">Welcome to <br/><span class="subText"><span data-cmxdata="longlocation"></span></span></h3>
|
||||
<!-- You can remove the above line if you wish -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End of panel content -->
|
||||
</div> <!-- End of content -->
|
||||
<!-- CHANGE NOTHING BELOW HERE -->
|
||||
<!-- Footer -->
|
||||
<div id="Footer" class="w3-row w3-bottom w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<p><em>Cumulus MX Template by Neil Thomas <script>document.write(new Date().getFullYear());</script>
|
||||
<span class="w3-right">Powered by <span class="w3-theme-txt">Cumulus MX</span> v:<span data-cmxdata="version"></span>, b:<span data-cmxdata="build"></span></span></em></p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
242
oldindex.htm
Normal file
242
oldindex.htm
Normal file
|
@ -0,0 +1,242 @@
|
|||
<div id="Header" class="w3-row w3-top w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<div class="at-flex-between" style="align-items:center; flex-wrap:wrap;">
|
||||
<img src="images/CumulusMX-Logo.png" class="w3-image logo" alt="Header logo" />
|
||||
<div class="w3-right-align" style="max-width:600px;">
|
||||
<h5>Lat<span class="w3-hide-small">itude</span>: <span data-cmxdata="latitude"></span><span
|
||||
class="at-divider">|<wbr></span>Long<span class="w3-hide-small">itude</span>: <span
|
||||
data-cmxdata="longitude"></span><span class="at-divider">|<wbr></span>Alt<span
|
||||
class="w3-hide-small">itude</span>: <span data-cmxdata="altitude"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of Menu -->
|
||||
<div id="Main_Menu" class="w3-bar w3-theme-d4 w3-theme-bdr">
|
||||
</div>
|
||||
<!-- Mobile menu -->
|
||||
<div id="Main_Menu_Mobile" class="w3-bar-block w3-hide w3-hide-large">
|
||||
</div> <!-- End of Mobile menu -->
|
||||
</div>
|
||||
</div>
|
||||
<div id="Content">
|
||||
<!-- Start of panel content -->
|
||||
<div class="w3-row-padding w3-theme-light site-width">
|
||||
<!-- Page Title -->
|
||||
<div class="w3-col l12">
|
||||
<h1><span data-cmxdata="location"></span> Weather <span class="subText"></span></h1>
|
||||
</div>
|
||||
</div> <!-- End of title row -->
|
||||
<div class="w3-row site-width w3-theme-light">
|
||||
<!-- Start of Main panel -->
|
||||
<div class="w3-col l9 m12">
|
||||
<!-- 3/4 width panel -->
|
||||
<div class="w3-row-padding">
|
||||
<!-- Row 1 of 3/4 width panel -->
|
||||
<div class="w3-col s12">
|
||||
<!-- Full width of above panel -->
|
||||
<div class="w3-panel w3-container w3-theme-white">
|
||||
<h3 class="">Almanac</h3>
|
||||
<div class="w3-responsive">
|
||||
<table class="w3-table" style="min-width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="">Dawn:</td>
|
||||
<td class=""><span data-cmxdata="dawn"></span></td>
|
||||
<td class="">Sun Rise:</td>
|
||||
<td class=""><span data-cmxdata="sunrise"></span></td>
|
||||
<td class="">Moon Rise:</td>
|
||||
<td class=""><span data-cmxdata="moonrise"></span></td>
|
||||
<td rowspan="3" style="width:75px; height: 75px; padding:0"><img id="moonImg"
|
||||
src="images/moon.png" alt="Moon" width="75" height="75"
|
||||
class="w3-image" />Visible <span data-cmxdata="MoonPercentAbs"></span>%
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="">Dusk:</td>
|
||||
<td class=""><span data-cmxdata="dusk"></span></td>
|
||||
<td class="">Sun Set:</td>
|
||||
<td class=""><span data-cmxdata="sunset"></span></td>
|
||||
<td class="">Moon Set:</td>
|
||||
<td class=""><span data-cmxdata="moonset"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="">Daylight:</td>
|
||||
<td class=""><span data-cmxdata="daylightlength"></span></td>
|
||||
<td class="">Day Length:</td>
|
||||
<td class=""><span data-cmxdata="daylength"></span></td>
|
||||
<td class="">Moon Phase:</td>
|
||||
<td class=""><span id="moonPhase" data-cmxdata="moonphase"></span></td>
|
||||
</tr>
|
||||
<tr id="currCond" class="w3-hide">
|
||||
<td colspan="7"><strong>Current conditions</strong>: <span
|
||||
data-cmxdata="currcond"></span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-row-padding">
|
||||
<!-- Row 2 of 3/4 width panel -->
|
||||
<div class="w3-col s12">
|
||||
<!-- Full width of above panel -->
|
||||
<div class="w3-panel w3-card w3-theme-white">
|
||||
<h3 class="">Conditions at local time <span data-cmxdata="time"></span></h3>
|
||||
<div class="w3-responsive">
|
||||
<table class="w3-table w3-hoverable" style="min-width:100%;">
|
||||
<tr>
|
||||
<td colspan="4" class="w3-theme-d5">Temperature and Humidity</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>Temperature</td>
|
||||
<td><span data-cmxdata="temp"></span> <span data-cmxdata="tempunit"></span>
|
||||
</td>
|
||||
<td>Dew Point</td>
|
||||
<td><span data-cmxdata="dew"></span> <span data-cmxdata="tempunit"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>Windchill</td>
|
||||
<td><span data-cmxdata="wchill"></span> <span data-cmxdata="tempunit"></span>
|
||||
</td>
|
||||
<td>Humidity</td>
|
||||
<td><span data-cmxdata="hum"></span> %</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>Heat Index</td>
|
||||
<td><span data-cmxdata="heatindex"></span> <span
|
||||
data-cmxdata="tempunit"></span></td>
|
||||
<td><span data-cmx-apparent class="w3-hide">Apparent Temperature</span><span
|
||||
data-cmx-feels>Feels Like</span></td>
|
||||
<td><span data-cmx-apparent data-cmxdata="apptemp" class="w3-hide"></span><span
|
||||
data-cmx-feels data-cmxdata="feelslike"></span> <span
|
||||
data-cmxdata="tempunit"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>Temp change last hour</td>
|
||||
<td><span data-cmxdata="TempChangeLastHour"></span> <span
|
||||
data-cmxdata="tempunit"></span></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" class="w3-theme-d4">Rainfall</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td>Rainfall Today</td>
|
||||
<td><span data-cmxdata="rfall"></span> <span data-cmxdata="rainunit"></span>
|
||||
</td>
|
||||
<td>Rainfall Rate</td>
|
||||
<td><span data-cmxdata="rrate"></span> <span data-cmxdata="rainunit"></span>/hr
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td>Rainfall This Month</td>
|
||||
<td><span data-cmxdata="rmonth"></span> <span data-cmxdata="rainunit"></span>
|
||||
</td>
|
||||
<td>Rainfall This Year</td>
|
||||
<td><span data-cmxdata="ryear"></span> <span data-cmxdata="rainunit"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td>Rainfall Last Hour</td>
|
||||
<td><span data-cmxdata="rhour"></span> <span data-cmxdata="rainunit"></span>
|
||||
</td>
|
||||
<td>Last rainfall</td>
|
||||
<td><span data-cmxdata="LastRainTip"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td>Rainfall Since Midnight</td>
|
||||
<td><span data-cmxdata="rmidnight"></span> <span
|
||||
data-cmxdata="rainunit"></span></td>
|
||||
<td>Rainfall Last 24 Hours</td>
|
||||
<td><span data-cmxdata="r24hour"></span> <span data-cmxdata="rainunit"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" class="w3-theme-d3">Wind</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td>Wind Speed <span class="subText">(gust)</span></td>
|
||||
<td><span data-cmxdata="wgust"></span> <span data-cmxdata="windunit"></span>
|
||||
</td>
|
||||
<td>Wind Speed <span class="subText">(avg)</span></td>
|
||||
<td><span data-cmxdata="wspeed"></span> <span data-cmxdata="windunit"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td>Wind Bearing</td>
|
||||
<td><span data-cmxdata="avgbearing"></span>° <span data-cmxdata="wdir"></span>
|
||||
</td>
|
||||
<td>Beaufort <span data-cmxdata="beaufort"></span></td>
|
||||
<td><span data-cmxdata="beaudesc"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td>Wind Variation <span class="subText">(last 10 minutes)</span></td>
|
||||
<td colspan="3">From <span data-cmxdata="BearingRangeFrom"></span>° to <span
|
||||
data-cmxdata="BearingRangeTo"></span>°</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" class="w3-theme-d2">Pressure <span class="subText">(sea
|
||||
level)</span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l5">
|
||||
<td>Barometer</td>
|
||||
<td><span data-cmxdata="press"></span> <span data-cmxdata="pressunit"></span>
|
||||
</td>
|
||||
<td><span data-cmxdata="presstrend"></span></td>
|
||||
<td><span data-cmxdata="presstrendval"></span> <span
|
||||
data-cmxdata="pressunit"></span>/hr</td>
|
||||
</tr>
|
||||
<tr class="w3-hide" data-cmx-solar data-cmx-uv>
|
||||
<td colspan="4" class="w3-theme-d1">Solar</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l6 w3-hide" data-cmx-solar>
|
||||
<td>Solar Radiation</td>
|
||||
<td><span data-cmxdata="SolarRad"></span> W/m²</td>
|
||||
<td>Evapotranspiration Today</td>
|
||||
<td><span data-cmxdata="ET"></span> <span data-cmxdata="rainunit"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l6 w3-hide" data-cmx-uv>
|
||||
<td>UV Index</td>
|
||||
<td><span data-cmxdata="UV"></span></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<p class="w3-small credits">Page updated <span data-cmxdata="update"></span>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-col l3 m12">
|
||||
<!-- Start of Sidebar 1/4 width -->
|
||||
<div class="w3-row-padding">
|
||||
<div class="w3-col l12">
|
||||
<div class="w3-panel w3-container w3-theme-light">
|
||||
<h3 class="w3-center">Welcome to <br /><span class="subText"><span
|
||||
data-cmxdata="longlocation"></span></span></h3>
|
||||
<p>The weather station in use is the <span data-cmxdata="stationtype"></span><br>
|
||||
This page is updated every <span data-cmxdata="interval"></span> minutes. The
|
||||
meteorological day used at this station ends at <span data-cmxdata="rollovertime"></span>.
|
||||
</p>
|
||||
<p><strong>Forecast:</strong> <span data-cmxdata="forecast"></span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End of panel content -->
|
||||
</div> <!-- End of content -->
|
||||
<div id="Footer" class="w3-row w3-bottom w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<p><em>Cumulus MX Template by Neil Thomas
|
||||
<script>
|
||||
document.write(new Date().getFullYear());
|
||||
</script>
|
||||
<span class="w3-right">Powered by <span class="w3-theme-txt">Cumulus MX</span> v:<span
|
||||
data-cmxdata="version"></span>, b:<span data-cmxdata="build"></span></span>
|
||||
</em></p>
|
||||
</div>
|
||||
</div>
|
240
record.htm
Normal file
240
record.htm
Normal file
|
@ -0,0 +1,240 @@
|
|||
<!--
|
||||
record.htm v:0.0.1 d:Feb 2021 Neil Thomas
|
||||
Last modified: 2023/11/30 15:28:14
|
||||
Page: 1 main panel plus a sidebar
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<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">
|
||||
<title>Cumulus MX</title>
|
||||
<link rel="icon" type="image/png" href="images/favicon.png">
|
||||
|
||||
<!-- jQuery Local -->
|
||||
<script src="lib/jquery/jquery-latest.min.js"></script>
|
||||
|
||||
<!-- Fonts System will default to a sans-serif font if no Internet connection -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rosario:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- All Styles -->
|
||||
<link href="css/w3Pro.css" rel="stylesheet"> <!-- Basic w3shools responsive styles -->
|
||||
<link href="css/colours.css" rel="stylesheet"> <!-- Slightly enhanced w3schools colours -->
|
||||
<link href="css/mx-templates.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="js/setpagedata.js"></script> <!-- Utility javascripts for all pages. -->
|
||||
</head>
|
||||
<body>
|
||||
<div id="Header" class="w3-row w3-top w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<div class="at-flex-between" style="align-items:center; flex-wrap:wrap;">
|
||||
<img src="images/CumulusMX-Logo.png" class="w3-image logo" alt="Header logo"/>
|
||||
<div class="w3-right-align" style="max-width:600px;">
|
||||
<h5>Lat<span class="w3-hide-small">itude</span>: <span data-cmxdata="latitude"></span><span class="at-divider">|<wbr></span>Long<span class="w3-hide-small">itude</span>: <span data-cmxdata="longitude"></span><span class="at-divider">|<wbr></span>Alt<span class="w3-hide-small">itude</span>: <span data-cmxdata="altitude"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of Menu -->
|
||||
<div id="Main_Menu" class="w3-bar w3-theme-d4 w3-theme-bdr">
|
||||
</div>
|
||||
<!-- Mobile menu -->
|
||||
<div id="Main_Menu_Mobile" class="w3-bar-block w3-hide w3-hide-large">
|
||||
</div> <!-- End of Mobile menu -->
|
||||
</div>
|
||||
</div>
|
||||
<div id="Content"> <!-- Start of panel content -->
|
||||
<div class="w3-row-padding w3-theme-light site-width"> <!-- Page Title -->
|
||||
<div class="w3-col l12">
|
||||
<h1>Records Since <span data-cmxdata="recordsbegandate"></span></h1>
|
||||
</div>
|
||||
</div> <!-- End of title row -->
|
||||
<div class="w3-row site-width w3-theme-light"> <!-- Start of Main panel -->
|
||||
<div class="w3-col l9 m12"> <!-- 3/4 width panel -->
|
||||
<div class="w3-row-padding"> <!-- Row 1 of 3/4 width panel -->
|
||||
<div class="w3-col s12"> <!-- Full width of above panel -->
|
||||
<div class="w3-panel w3-card w3-theme-white">
|
||||
<h2 class="">Records</h2>
|
||||
<div class="w3-responsive">
|
||||
<table class="w3-table w3-hoverable" style="width:100%;" >
|
||||
<tr class="w3-theme-d5">
|
||||
<td colspan="3">Temperature and Humidity </td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Temperature</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="tempH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TtempH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Temperature</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="tempL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TtempL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Dew Point</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="dewpointH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TdewpointH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Dew Point</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="dewpointL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TdewpointL"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-apparent class="w3-theme-l2 w3-hide">
|
||||
<td class="">High Apparent</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="apptempH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TapptempH"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-apparent class="w3-theme-l2 w3-hide">
|
||||
<td class="">Low Apparent</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="apptempL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TapptempL"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-feels class="w3-theme-l2">
|
||||
<td class="">High Feels Like</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="feelslikeH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TfeelslikeH"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-feels class="w3-theme-l2">
|
||||
<td class="">Low Feels Like</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="feelslikeL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TfeelslikeL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Wind Chill</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="wchillL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TwchillL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Heat Index</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="heatindexH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TheatindexH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Minimum Temperature</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="mintempH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TmintempH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Maximum Temperature</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="maxtempL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TmaxtempL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Humidity</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="humH"></span> %</td>
|
||||
<td class=""><span data-cmxdata="ThumH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Humidity </td>
|
||||
<td class="w3-right-align"><span data-cmxdata="humL"></span> %</td>
|
||||
<td class=""><span data-cmxdata="ThumL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Daily Range</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="HighDailyTempRange"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="THighDailyTempRange"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Daily Range</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="LowDailyTempRange"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TLowDailyTempRange"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d4">
|
||||
<td colspan="3">Rainfall</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Rain Rate</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="rrateM"></span> <span data-cmxdata="rainunit"></span>/hr</td>
|
||||
<td class=""><span data-cmxdata="TrrateM"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Hourly Rainfall</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="rfallhH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TrfallhH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High 24 Hour Rainfall</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="r24hourH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span data-cmxdata="Tr24hourH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Daily Rainfall</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="rfallH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TrfallH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Monthly Rainfall</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="rfallmH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TrfallmH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">Longest Dry Period</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="LongestDryPeriod"></span> days</td>
|
||||
<td class=""><span data-cmxdata="TLongestDryPeriod"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">Longest Wet Period</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="LongestWetPeriod"></span> days</td>
|
||||
<td class=""><span data-cmxdata="TLongestWetPeriod"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d3">
|
||||
<td colspan="3">Wind</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td class="">High Wind Gust</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="gustM"></span> <span data-cmxdata="windunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TgustM"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td class="">High Wind Speed <span class="subText">(10 minute average)</span></td>
|
||||
<td class="w3-right-align"><span data-cmxdata="wspeedH"></span> <span data-cmxdata="windunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TwspeedH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td class="">High Daily Wind Run</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="windrunH"></span> <span data-cmxdata="windrununit"></span></td>
|
||||
<td class=""><span data-cmxdata="TwindrunH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d2">
|
||||
<td colspan="3">Pressure <span class="subText">(sea level)</span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l5">
|
||||
<td class="">High Pressure</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="pressH"></span> <span data-cmxdata="pressunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TpressH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l5">
|
||||
<td class="">Low Pressure</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="pressL"></span> <span data-cmxdata="pressunit"></span></td>
|
||||
<td class=""><span data-cmxdata="TpressL"></span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p class="w3-small credits">Page updated <span data-cmxdata="update"></span>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-col l3 m12"> <!-- Start of Sidebar 1/4 width -->
|
||||
<div class="w3-row-padding">
|
||||
<div class="w3-col l12">
|
||||
<div class="w3-panel w3-container w3-theme-light">
|
||||
<h3 class="w3-center">Welcome to <br/><span class="subText"><span data-cmxdata="longlocation"></span></span></h3>
|
||||
<p>Records began on <span data-cmxdata="recordsbegandate"></span>. Here are the extremes recorded since then.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End of panel content -->
|
||||
</div> <!-- End of content -->
|
||||
<div id="Footer" class="w3-row w3-bottom w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<p><em>Cumulus MX Template by Neil Thomas <script>document.write(new Date().getFullYear());</script>
|
||||
<span class="w3-right">Powered by <span class="w3-theme-txt">Cumulus MX</span> v:<span data-cmxdata="version"></span>, b:<span data-cmxdata="build"></span></span></em></p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
137
selectachart.htm
Normal file
137
selectachart.htm
Normal file
|
@ -0,0 +1,137 @@
|
|||
<!--
|
||||
selectachart.htm v:0.0.1 d:Feb 2021 Neil Thomas
|
||||
Last modified: 2023/02/10 14:48:11
|
||||
Page: 1 main panel plus a sidebar
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<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">
|
||||
<title>Cumulus MX</title>
|
||||
<link rel="icon" type="image/png" href="images/favicon.png">
|
||||
|
||||
<!-- jQuery Local -->
|
||||
<script src="lib/jquery/jquery-latest.min.js"></script>
|
||||
|
||||
<!-- Fonts System will default to a sans-serif font if no Internet connection -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rosario:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- All Styles -->
|
||||
<link href="css/w3Pro.css" rel="stylesheet"> <!-- Basic w3shools responsive styles -->
|
||||
<link href="css/colours.css" rel="stylesheet"> <!-- Slightly enhanced w3schools colours -->
|
||||
<link href="css/mx-templates.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="js/setpagedata.js"></script> <!-- Utility javascripts for all pages. -->
|
||||
<style>
|
||||
#chartcontainer {
|
||||
min-height: 550px;
|
||||
margin-top:16px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.graphs-width {
|
||||
max-width:1250px;
|
||||
margin: auto
|
||||
}
|
||||
.narrow-width {
|
||||
max-width: 500px;
|
||||
}
|
||||
.select-value {
|
||||
width:75%;
|
||||
display:inline-block;
|
||||
}
|
||||
.select-color {
|
||||
width:20%;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="Header" class="w3-row w3-top w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<div class="at-flex-between" style="align-items:center; flex-wrap:wrap;">
|
||||
<img src="images/CumulusMX-Logo.png" class="w3-image logo" alt="Header logo"/>
|
||||
<div class="w3-right-align" style="max-width:600px;">
|
||||
<h5>Lat<span class="w3-hide-small">itude</span>: <span data-cmxdata="latitude"></span><span class="at-divider">|<wbr></span>Long<span class="w3-hide-small">itude</span>: <span data-cmxdata="longitude"></span><span class="at-divider">|<wbr></span>Alt<span class="w3-hide-small">itude</span>: <span data-cmxdata="altitude"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of Menu -->
|
||||
<div id="Main_Menu" class="w3-bar w3-theme-d4 w3-theme-bdr">
|
||||
</div>
|
||||
<!-- Mobile menu -->
|
||||
<div id="Main_Menu_Mobile" class="w3-bar-block w3-hide w3-hide-large">
|
||||
</div> <!-- End of Mobile menu -->
|
||||
</div>
|
||||
</div>
|
||||
<div id="Content"> <!-- Start of main content -->
|
||||
<div class="w3-row-padding w3-theme-light graphs-width"> <!-- Page Title -->
|
||||
<div class="w3-col l12">
|
||||
<h1>Charts based on data you select<span class="subText"></span></h1>
|
||||
</div>
|
||||
</div> <!-- End of title row -->
|
||||
<div class="w3-row-padding w3-theme-light graphs-width"> <!-- First Row -->
|
||||
<div class="w3-col s12"> <!-- Column of first row -->
|
||||
<div class="w3-panel w3-card w3-theme-white">
|
||||
<figure>
|
||||
<div id="chartcontainer"></div>
|
||||
</figure>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End of first column of first row -->
|
||||
<div class="w3-row-padding w3-theme-light graphs-width"> <!-- Start of second row -->
|
||||
<div class="w3-col s12">
|
||||
<div class="w3-center">
|
||||
<!-- Selector buttons -->
|
||||
<div class="at-flex-between" style="flex-wrap:wrap"> <!-- Main flex container: between forces content left & right -->
|
||||
<div class="at-flex-justify" style="max-width:550px;flex-wrap:wrap;flex:2"> <!-- Left bar for selectors -->
|
||||
<div class="" style="max-width:170px;min-height:2.5em;">
|
||||
<select class="w3-select select-value" name="data0" id="data0" onchange="procDataSelect(this)"></select>
|
||||
<select class="w3-select select-color" name="colour0" id="colour0" onchange="updateColour(this)"></select>
|
||||
</div>
|
||||
<div class="" style="max-width:170px;min-height:2.5em;">
|
||||
<select class="w3-select select-value" name="data1" id="data1" onchange="procDataSelect(this)"></select>
|
||||
<select class="w3-select select-color" name="colour1" id="colour1" onchange="updateColour(this)"></select>
|
||||
</div>
|
||||
<div class="" style="max-width:170px;min-height:2.5em;">
|
||||
<select class="w3-select select-value" name="data2" id="data2" onchange="procDataSelect(this)"></select>
|
||||
<select class="w3-select select-color" name="colour2" id="colour2" onchange="updateColour(this)"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="at-flex-justify" style="max-width:550px;flex-wrap:wrap;flex:2"> <!-- Right bar for selectors -->
|
||||
<div class="" style="max-width:170px;min-height:2.5em;">
|
||||
<select class="w3-select select-value" name="data3" id="data3" onchange="procDataSelect(this)"></select>
|
||||
<select class="w3-select select-color" name="colour3" id="colour3" onchange="updateColour(this)"></select>
|
||||
</div>
|
||||
<div class="" style="max-width:170px;min-height:2.5em;">
|
||||
<select class="w3-select select-value" name="data4" id="data4" onchange="procDataSelect(this)"></select>
|
||||
<select class="w3-select select-color" name="colour4" id="colour4" onchange="updateColour(this)"></select>
|
||||
</div>
|
||||
<div class="" style="max-width:170px;min-height:2.5em;">
|
||||
<select class="w3-select select-value" name="data5" id="data5" onchange="procDataSelect(this)"></select>
|
||||
<select class="w3-select select-color" name="colour5" id="colour5" onchange="updateColour(this)"></select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-panel">Click on a button to display the corresponding chart. Mouse over the chart to see the values at any given time.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End of first column of second row -->
|
||||
</div> <!-- End of content -->
|
||||
<div id="Footer" class="w3-row w3-bottom w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<p><em>Cumulus MX Template by Neil Thomas <script>document.write(new Date().getFullYear());</script>
|
||||
<span class="w3-right">Powered by <span class="w3-theme-txt">Cumulus MX</span> v:<span data-cmxdata="version"></span>, b:<span data-cmxdata="build"></span></span></em></p>
|
||||
</div>
|
||||
</div>
|
||||
<script src="https://code.highcharts.com/stock/10.3.3/highstock.js"></script>
|
||||
<script src="https://code.highcharts.com/stock/10.3.3/modules/exporting.js"></script>
|
||||
<script src="https://code.highcharts.com/10.3.3/modules/export-data.js"></script>
|
||||
<script src="https://code.highcharts.com/10.3.3/modules/accessibility.js"></script>
|
||||
<script src="https://code.highcharts.com/10.3.3/modules/boost.js"></script>
|
||||
<script src="https://code.highcharts.com/10.3.3/themes/grid.js"></script>
|
||||
<script src="js/selectachart.js"></script>
|
||||
</body>
|
||||
</html>
|
235
thismonth.htm
Normal file
235
thismonth.htm
Normal file
|
@ -0,0 +1,235 @@
|
|||
<!--
|
||||
thismonth.htm v:0.0.1 d:Feb 2021 Neil Thomas
|
||||
Last modified: 2022/07/27 09:16:14
|
||||
Page: 1 main panel plus a sidebar
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<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">
|
||||
<title>Cumulus MX</title>
|
||||
<link rel="icon" type="image/png" href="images/favicon.png">
|
||||
|
||||
<!-- jQuery Local -->
|
||||
<script src="lib/jquery/jquery-latest.min.js"></script>
|
||||
|
||||
<!-- Fonts System will default to a sans-serif font if no Internet connection -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rosario:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- All Styles -->
|
||||
<link href="css/w3Pro.css" rel="stylesheet"> <!-- Basic w3shools responsive styles -->
|
||||
<link href="css/colours.css" rel="stylesheet"> <!-- Slightly enhanced w3schools colours -->
|
||||
<link href="css/mx-templates.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="js/setpagedata.js"></script> <!-- Utility javascripts for all pages. -->
|
||||
</head>
|
||||
<body>
|
||||
<div id="Header" class="w3-row w3-top w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<div class="at-flex-between" style="align-items:center; flex-wrap:wrap;">
|
||||
<img src="images/CumulusMX-Logo.png" class="w3-image logo" alt="Header logo"/>
|
||||
<div class="w3-right-align" style="max-width:600px;">
|
||||
<h5>Lat<span class="w3-hide-small">itude</span>: <span data-cmxdata="latitude"></span><span class="at-divider">|<wbr></span>Long<span class="w3-hide-small">itude</span>: <span data-cmxdata="longitude"></span><span class="at-divider">|<wbr></span>Alt<span class="w3-hide-small">itude</span>: <span data-cmxdata="altitude"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of Menu -->
|
||||
<div id="Main_Menu" class="w3-bar w3-theme-d4 w3-theme-bdr">
|
||||
</div>
|
||||
<!-- Mobile menu -->
|
||||
<div id="Main_Menu_Mobile" class="w3-bar-block w3-hide w3-hide-large">
|
||||
</div> <!-- End of Mobile menu -->
|
||||
</div>
|
||||
</div>
|
||||
<div id="Content"> <!-- Start of panel content -->
|
||||
<div class="w3-row-padding w3-theme-light site-width"> <!-- Page Title -->
|
||||
<div class="w3-col l12">
|
||||
<h1><span data-cmxdata="monthname"></span> highs & lows</h1>
|
||||
</div>
|
||||
</div> <!-- End of title row -->
|
||||
<div class="w3-row site-width w3-theme-light"> <!-- Start of Main panel -->
|
||||
<div class="w3-col l9 m12"> <!-- 3/4 width panel -->
|
||||
<div class="w3-row-padding"> <!-- Row 1 of 3/4 width panel -->
|
||||
<div class="w3-col s12"> <!-- Full width of above panel -->
|
||||
<div class="w3-panel w3-card w3-theme-white">
|
||||
<h2 class=""><span data-cmxdata="monthname"></span> <span data-cmxdata="year"></span> records</h2>
|
||||
<div class="w3-responsive">
|
||||
<table class="w3-table w3-hoverable" style="width:100%;">
|
||||
<tr class="w3-theme-d5">
|
||||
<td colspan="3">Temperature and Humidity </td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Temperature</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthTempH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthTempHT"></span> on <span data-cmxdata="MonthTempHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Temperature</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthTempL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthTempLT"></span> on <span data-cmxdata="MonthTempLD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Dew Point</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthDewPointH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthDewPointHT"></span> on <span data-cmxdata="MonthDewPointHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Dew Point</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthDewPointL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthDewPointLT"></span> on <span data-cmxdata="MonthDewPointLD"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-apparent class="w3-theme-l2 w3-hide">
|
||||
<td class="">High Apparent</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthAppTempH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthAppTempHT"></span> on <span data-cmxdata="MonthAppTempHD"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-apparent class="w3-theme-l2 w3-hide">
|
||||
<td class="">Low Apparent</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthAppTempL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthAppTempLT"></span> on <span data-cmxdata="MonthAppTempLD"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-feels class="w3-theme-l2">
|
||||
<td class="">High Feels Like</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthFeelsLikeH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthFeelsLikeHT"></span> on <span data-cmxdata="MonthFeelsLikeHD"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-feels class="w3-theme-l2">
|
||||
<td class="">Low Feels Like</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthFeelsLikeL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthFeelsLikeLT"></span> on <span data-cmxdata="MonthFeelsLikeLD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Wind Chill</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthWChillL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthWChillLT"></span> on <span data-cmxdata="MonthWChillLD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Heat Index</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthHeatIndexH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthHeatIndexHT"></span> on <span data-cmxdata="MonthHeatIndexHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Minimum Temperature</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthMinTempH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthMinTempHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Maximum Temperature</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthMaxTempL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthMaxTempLD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Humidity</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthHumH"></span> %</td>
|
||||
<td class=""><span data-cmxdata="MonthHumHT"></span> on <span data-cmxdata="MonthHumHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Humidity </td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthHumL"></span> %</td>
|
||||
<td class=""><span data-cmxdata="MonthHumLT"></span> on <span data-cmxdata="MonthHumLD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Daily Range</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthHighDailyTempRange"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthHighDailyTempRangeD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Daily Range</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthLowDailyTempRange"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthLowDailyTempRangeD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d4">
|
||||
<td colspan="3">Rainfall</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Rain Rate</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthRainRateH"></span> <span data-cmxdata="rainunit"></span>/hr</td>
|
||||
<td class=""><span data-cmxdata="MonthRainRateHT"></span> on <span data-cmxdata="MonthRainRateHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Hourly Rainfall</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthHourlyRainH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthHourlyRainHT"></span> on <span data-cmxdata="MonthHourlyRainHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High 24 Hour Rainfall</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthRain24HourH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthRain24HourHT"></span> on <span data-cmxdata="MonthRain24HourHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Daily Rainfall</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthDailyRainH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthDailyRainHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">Longest Dry Period</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthLongestDryPeriod"></span> days</td>
|
||||
<td class="">to <span data-cmxdata="MonthLongestDryPeriodD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">Longest Wet Period</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthLongestWetPeriod"></span> days</td>
|
||||
<td class="">to <span data-cmxdata="MonthLongestWetPeriodD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d3">
|
||||
<td colspan="3">Wind</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td class="">High Wind Gust</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthGustH"></span> <span data-cmxdata="windunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthGustHT"></span> on <span data-cmxdata="MonthGustHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td class="">High Wind Speed <span class="subText">(10 minute average)</span></td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthWindH"></span> <span data-cmxdata="windunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthWindHT"></span> on <span data-cmxdata="MonthWindHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td class="">High Daily Wind Run</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthWindRunH"></span> <span data-cmxdata="windrununit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthWindRunHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d2">
|
||||
<td colspan="3">Pressure <span class="subText">(sea level)</span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l5">
|
||||
<td class="">High Pressure</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthPressH"></span> <span data-cmxdata="pressunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthPressHT"></span> on <span data-cmxdata="MonthPressHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l5">
|
||||
<td class="">Low Pressure</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="MonthPressL"></span> <span data-cmxdata="pressunit"></span></td>
|
||||
<td class=""><span data-cmxdata="MonthPressLT"></span> on <span data-cmxdata="MonthPressLD"></span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p class="w3-small">Page data updated <span data-cmxdata="update"></span>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-col l3 m12"> <!-- Start of Sidebar 1/4 width -->
|
||||
<div class="w3-row-padding">
|
||||
<div class="w3-col l12">
|
||||
<div class="w3-panel w3-container w3-theme-light">
|
||||
<h3 class="w3-center">Welcome to <br/><span class="subText"><span data-cmxdata="longlocation"></span></span></h3>
|
||||
<p>The high and low records for the month of <span data-cmxdata="monthname"></span> <span data-cmxdata="year"></span>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End of panel content -->
|
||||
</div> <!-- End of content -->
|
||||
<div id="Footer" class="w3-row w3-bottom w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<p><em>Cumulus MX Template by Neil Thomas <script>document.write(new Date().getFullYear());</script>
|
||||
<span class="w3-right">Powered by <span class="w3-theme-txt">Cumulus MX</span> v:<span data-cmxdata="version"></span>, b:<span data-cmxdata="build"></span></span></em></p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
240
thisyear.htm
Normal file
240
thisyear.htm
Normal file
|
@ -0,0 +1,240 @@
|
|||
<!--
|
||||
thisyear.htm v:0.0.1 d:Feb 2021 Neil Thomas
|
||||
Last modified: 2022/07/27 09:19:30
|
||||
Page: 1 main panel plus a sidebar
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<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">
|
||||
<title>Cumulus MX</title>
|
||||
<link rel="icon" type="image/png" href="images/favicon.png">
|
||||
|
||||
<!-- jQuery Local -->
|
||||
<script src="lib/jquery/jquery-latest.min.js"></script>
|
||||
|
||||
<!-- Fonts System will default to a sans-serif font if no Internet connection -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rosario:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- All Styles -->
|
||||
<link href="css/w3Pro.css" rel="stylesheet"> <!-- Basic w3shools responsive styles -->
|
||||
<link href="css/colours.css" rel="stylesheet"> <!-- Slightly enhanced w3schools colours -->
|
||||
<link href="css/mx-templates.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="js/setpagedata.js"></script> <!-- Utility javascripts for all pages. -->
|
||||
</head>
|
||||
<body>
|
||||
<div id="Header" class="w3-row w3-top w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<div class="at-flex-between" style="align-items:center; flex-wrap:wrap;">
|
||||
<img src="images/CumulusMX-Logo.png" class="w3-image logo" alt="Header logo"/>
|
||||
<div class="w3-right-align" style="max-width:600px;">
|
||||
<h5>Lat<span class="w3-hide-small">itude</span>: <span data-cmxdata="latitude"></span><span class="at-divider">|<wbr></span>Long<span class="w3-hide-small">itude</span>: <span data-cmxdata="longitude"></span><span class="at-divider">|<wbr></span>Alt<span class="w3-hide-small">itude</span>: <span data-cmxdata="altitude"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of Menu -->
|
||||
<div id="Main_Menu" class="w3-bar w3-theme-d4 w3-theme-bdr">
|
||||
</div>
|
||||
<!-- Mobile menu -->
|
||||
<div id="Main_Menu_Mobile" class="w3-bar-block w3-hide w3-hide-large">
|
||||
</div> <!-- End of Mobile menu -->
|
||||
</div>
|
||||
</div>
|
||||
<div id="Content"> <!-- Start of panel content -->
|
||||
<div class="w3-row-padding w3-theme-light site-width"> <!-- Page Title -->
|
||||
<div class="w3-col l12">
|
||||
<h1>Records for this year <span class="subText"><span data-cmxdata="year"></span></span></h1>
|
||||
</div>
|
||||
</div> <!-- End of title row -->
|
||||
<div class="w3-row site-width w3-theme-light"> <!-- Start of Main panel -->
|
||||
<div class="w3-col l9 m12"> <!-- 3/4 width panel -->
|
||||
<div class="w3-row-padding"> <!-- Row 1 of 3/4 width panel -->
|
||||
<div class="w3-col s12"> <!-- Full width of above panel -->
|
||||
<div class="w3-panel w3-card w3-theme-white">
|
||||
<h2 class="">Records for <span data-cmxdata="year"></span></h2>
|
||||
<div class="w3-responsive">
|
||||
<table class="w3-table w3-hoverable" style="width:100%;">
|
||||
<tr>
|
||||
<td colspan="3" class="w3-theme-d5">Temperature and Humidity </td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Temperature</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearTempH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearTempHT"></span> on <span data-cmxdata="YearTempHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Temperature</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearTempL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearTempLT"></span> on <span data-cmxdata="YearTempLD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Dew Point</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearDewPointH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearDewPointHT"></span> on <span data-cmxdata="YearDewPointHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Dew Point</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearDewPointL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearDewPointLT"></span> on <span data-cmxdata="YearDewPointLD"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-apparent class="w3-theme-l2 w3-hide">
|
||||
<td class="">High Apparent</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearAppTempH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearAppTempHT"></span> on <span data-cmxdata="YearAppTempHD"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-apparent class="w3-theme-l2 w3-hide">
|
||||
<td class="">Low Apparent</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearAppTempL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearAppTempLT"></span> on <span data-cmxdata="YearAppTempLD"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-feels class="w3-theme-l2">
|
||||
<td class="">High Feels Like</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearFeelsLikeH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearFeelsLikeHT"></span> on <span data-cmxdata="YearFeelsLikeHD"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-feels class="w3-theme-l2">
|
||||
<td class="">Low Feels Like</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearFeelsLikeL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearFeelsLikeLT"></span> on <span data-cmxdata="YearFeelsLikeLD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Wind Chill</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearWChillL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearWChillLT"></span> on <span data-cmxdata="YearWChillLD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Heat Index</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearHeatIndexH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearHeatIndexHT"></span> on <span data-cmxdata="YearHeatIndexHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Minimum Temperature</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearMinTempH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearMinTempHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Maximum Temperature</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearMaxTempL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearMaxTempLD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Humidity</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearHumH"></span> %</td>
|
||||
<td class=""><span data-cmxdata="YearHumHT"></span> on <span data-cmxdata="YearHumHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Humidity </td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearHumL"></span> %</td>
|
||||
<td class=""><span data-cmxdata="YearHumLT"></span> on <span data-cmxdata="YearHumLD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">High Daily Range</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearHighDailyTempRange"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearHighDailyTempRangeD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td class="">Low Daily Range</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearLowDailyTempRange"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearLowDailyTempRangeD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d4">
|
||||
<td colspan="3">Rainfall</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Rain Rate</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearRainRateH"></span> <span data-cmxdata="rainunit"></span>/hr</td>
|
||||
<td class=""><span data-cmxdata="YearRainRateHT"></span> on <span data-cmxdata="YearRainRateHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Hourly Rainfall</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearHourlyRainH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearHourlyRainHT"></span> on <span data-cmxdata="YearHourlyRainHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High 24 Hour Rainfall</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearRain24HourH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearRain24HourHT"></span> on <span data-cmxdata="YearRain24HourHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Daily Rainfall</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearDailyRainH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearDailyRainHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">High Monthly Rainfall</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearMonthlyRainH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearMonthlyRainHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">Longest Dry Period</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearLongestDryPeriod"></span> days</td>
|
||||
<td class="">to <span data-cmxdata="YearLongestDryPeriodD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td class="">Longest Wet Period</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearLongestWetPeriod"></span> days</td>
|
||||
<td class="">to <span data-cmxdata="YearLongestWetPeriodD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d3">
|
||||
<td colspan="3">Wind</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td class="">High Wind Gust</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearGustH"></span> <span data-cmxdata="windunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearGustHT"></span> on <span data-cmxdata="YearGustHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td class="">High Wind Speed <span class="subText">(10-minute Average)</span></td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearWindH"></span> <span data-cmxdata="windunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearWindHT"></span> on <span data-cmxdata="YearWindHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td class="">High Daily Wind Run</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearWindRunH"></span> <span data-cmxdata="windrununit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearWindRunHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d2">
|
||||
<td colspan="3">Pressure <span class="subText">(sea level)</span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l5">
|
||||
<td class="">High Pressure</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearPressH"></span> <span data-cmxdata="pressunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearPressHT"></span> on <span data-cmxdata="YearPressHD"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l5">
|
||||
<td class="">Low Pressure</td>
|
||||
<td class="w3-right-align"><span data-cmxdata="YearPressL"></span> <span data-cmxdata="pressunit"></span></td>
|
||||
<td class=""><span data-cmxdata="YearPressLT"></span> on <span data-cmxdata="YearPressLD"></span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p class="w3-small">Page data updated <span data-cmxdata="update"></span>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-col l3 m12"> <!-- Start of Sidebar 1/4 width -->
|
||||
<div class="w3-row-padding">
|
||||
<div class="w3-col l12">
|
||||
<div class="w3-panel w3-container w3-theme-light">
|
||||
<h3 class="w3-center">Welcome to <br/><span class="subText"><span data-cmxdata="longlocation"></span></span></h3>
|
||||
<p>The high and low records for <span data-cmxdata="year"></span>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End of panel content -->
|
||||
</div> <!-- End of content -->
|
||||
<div id="Footer" class="w3-row w3-bottom w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<p><em>Cumulus MX Template by Neil Thomas <script>document.write(new Date().getFullYear());</script>
|
||||
<span class="w3-right">Powered by <span class="w3-theme-txt">Cumulus MX</span> v:<span data-cmxdata="version"></span>, b:<span data-cmxdata="build"></span></span></em></p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
239
today.htm
Normal file
239
today.htm
Normal file
|
@ -0,0 +1,239 @@
|
|||
<!--
|
||||
today.htm v:0.0.1 d:Feb 2021 Neil Thomas
|
||||
Last modified: 2022/07/27 10:11:12
|
||||
Page: 1 main panel plus a sidebar
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<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">
|
||||
<title>Cumulus MX</title>
|
||||
<link rel="icon" type="image/png" href="images/favicon.png">
|
||||
|
||||
<!-- jQuery Local -->
|
||||
<script src="lib/jquery/jquery-latest.min.js"></script>
|
||||
|
||||
<!-- Fonts System will default to a sans-serif font if no Internet connection -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rosario:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- All Styles -->
|
||||
<link href="css/w3Pro.css" rel="stylesheet"> <!-- Basic w3shools responsive styles -->
|
||||
<link href="css/colours.css" rel="stylesheet"> <!-- Slightly enhanced w3schools colours -->
|
||||
<link href="css/mx-templates.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="js/setpagedata.js"></script> <!-- Utility javascripts for all pages. -->
|
||||
</head>
|
||||
<body>
|
||||
<div id="Header" class="w3-row w3-top w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<div class="at-flex-between" style="align-items:center; flex-wrap:wrap;">
|
||||
<img src="images/CumulusMX-Logo.png" class="w3-image logo" alt="Header logo"/>
|
||||
<div class="w3-right-align" style="max-width:600px;">
|
||||
<h5>Lat<span class="w3-hide-small">itude</span>: <span data-cmxdata="latitude"></span><span class="at-divider">|<wbr></span>Long<span class="w3-hide-small">itude</span>: <span data-cmxdata="longitude"></span><span class="at-divider">|<wbr></span>Alt<span class="w3-hide-small">itude</span>: <span data-cmxdata="altitude"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of Menu -->
|
||||
<div id="Main_Menu" class="w3-bar w3-theme-d4 w3-theme-bdr">
|
||||
</div>
|
||||
<!-- Mobile menu -->
|
||||
<div id="Main_Menu_Mobile" class="w3-bar-block w3-hide w3-hide-large">
|
||||
</div> <!-- End of Mobile menu -->
|
||||
</div>
|
||||
</div>
|
||||
<div id="Content"> <!-- Start of panel content -->
|
||||
<div class="w3-row-padding w3-theme-light site-width"> <!-- Page Title -->
|
||||
<div class="w3-col l12">
|
||||
<h1>Today <span class="subText"><span data-cmxdata="date"></span></span></h1>
|
||||
</div>
|
||||
</div> <!-- End of title row -->
|
||||
<div class="w3-row site-width w3-theme-light"> <!-- Start of Main panel -->
|
||||
<div class="w3-col l9 m12"> <!-- 3/4 width panel -->
|
||||
<div class="w3-row-padding"> <!-- Row 1 of 3/4 width panel -->
|
||||
<div class="w3-col s12"> <!-- Full width of above panel -->
|
||||
<div class="w3-panel w3-card w3-theme-white">
|
||||
<h2>Today's data</h2>
|
||||
<div class="w3-responsive">
|
||||
<table class="w3-table w3-hoverable" style="width:100%">
|
||||
<tbody>
|
||||
<tr class="w3-theme-d5">
|
||||
<td colspan="3">Temperature and Humidity</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>High Temperature</td>
|
||||
<td><span data-cmxdata="tempTH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TtempTH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>Low Temperature</td>
|
||||
<td><span data-cmxdata="tempTL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TtempTL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>Temperature Range</td>
|
||||
<td><span data-cmxdata="temprange"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr data-cmx-apparent class="w3-theme-l2 w3-hide">
|
||||
<td>High Apparent Temperature</td>
|
||||
<td><span data-cmxdata="apptempTH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TapptempTH"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-apparent class="w3-theme-l2 w3-hide">
|
||||
<td>Low Apparent Temperature</td>
|
||||
<td><span data-cmxdata="apptempTL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TapptempTL"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-feels class="w3-theme-l2">
|
||||
<td>High Feels Like</td>
|
||||
<td><span data-cmxdata="feelslikeTH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TfeelslikeTH"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-feels class="w3-theme-l2">
|
||||
<td>Low Feels Like</td>
|
||||
<td><span data-cmxdata="feelslikeTL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TfeelslikeTL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>Low Wind Chill</td>
|
||||
<td><span data-cmxdata="wchillTL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TwchillTL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>High Heat Index</td>
|
||||
<td><span data-cmxdata="heatindexTH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TheatindexTH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>High Humidity</td>
|
||||
<td><span data-cmxdata="humTH"></span> %</td>
|
||||
<td>at <span data-cmxdata="ThumTH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>Low Humidity</td>
|
||||
<td><span data-cmxdata="humTL"></span> %</td>
|
||||
<td>at <span data-cmxdata="ThumTL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d4">
|
||||
<td colspan="3">Rainfall</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td>Rainfall Today</td>
|
||||
<td><span data-cmxdata="rfall"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td>Rainfall Rate Max</td>
|
||||
<td><span data-cmxdata="rrateTM"></span> <span data-cmxdata="rainunit"></span>/hr</td>
|
||||
<td>at <span data-cmxdata="TrrateTM"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td>High Hourly Rainfall</td>
|
||||
<td><span data-cmxdata="hourlyrainTH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td>at <span data-cmxdata="ThourlyrainTH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td>High 24 Hour Rainfall</td>
|
||||
<td><span data-cmxdata="rain24hourTH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td>at <span data-cmxdata="Train24hourTH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td>Days Since Last Dry Day</td>
|
||||
<td><span data-cmxdata="ConsecutiveRainDays"></span></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td>Days Since It Last Rained</td>
|
||||
<td><span data-cmxdata="ConsecutiveDryDays"></span></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d3">
|
||||
<td colspan="3">Wind</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td>High Gust</td>
|
||||
<td><span data-cmxdata="wgustTM"></span> <span data-cmxdata="windunit"></span></td>
|
||||
<td>at <span data-cmxdata="TwgustTM"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td>High Speed <span class="subText">(10 minute average)</span></td>
|
||||
<td><span data-cmxdata="windTM"></span> <span data-cmxdata="windunit"></span> (<span data-cmxdata="Tbeaufort"></span>)</td>
|
||||
<td>at <span data-cmxdata="TwindTM"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td>Wind Run</td>
|
||||
<td><span data-cmxdata="windrun"></span> <span data-cmxdata="windrununit"></span></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td>Dominant Direction</td>
|
||||
<td><span data-cmxdata="domwindbearing"></span>° <span data-cmxdata="domwinddir"></span></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d2">
|
||||
<td colspan="3">Pressure <span class="subText">(sea level)</span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l5">
|
||||
<td>High Pressure</td>
|
||||
<td><span data-cmxdata="pressTH"></span> <span data-cmxdata="pressunit"></span></td>
|
||||
<td>at <span data-cmxdata="TpressTH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l5">
|
||||
<td>Low Pressure</td>
|
||||
<td><span data-cmxdata="pressTL"></span> <span data-cmxdata="pressunit"></span></td>
|
||||
<td>at <span data-cmxdata="TpressTL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d1 w3-hide" data-cmx-solar data-cmx-uv>
|
||||
<td colspan="3" class="w3-theme-d1">Solar</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l6 w3-hide" data-cmx-solar>
|
||||
<td>High Solar Radiation</td>
|
||||
<td><span data-cmxdata="solarTH"></span> W/m<sup>2</sup></td>
|
||||
<td>at <span data-cmxdata="TsolarTH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l6 w3-hide" data-cmx-solar>
|
||||
<td>Hours of Sunshine</td>
|
||||
<td><span data-cmxdata="SunshineHours"></span> hrs</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l6 w3-hide" data-cmx-uv>
|
||||
<td>High UV Index</td>
|
||||
<td><span data-cmxdata="UVTH"></span></td>
|
||||
<td>at <span data-cmxdata="TUVTH"></span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="w3-small">Page data updated <span data-cmxdata="update"></span>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-col l3 m12"> <!-- Start of Sidebar 1/4 screen width -->
|
||||
<div class="w3-row-padding">
|
||||
<div class="w3-col l12"> <!-- Full width of sidebar -->
|
||||
<div class="w3-panel w3-container w3-theme-light">
|
||||
<h3 class="w3-center">Welcome to <br/><span class="subText"><span data-cmxdata="longlocation"></span></span></h3>
|
||||
<p>This page shows the highs, lows and current values for today.<br>
|
||||
This page is updated every <span data-cmxdata="interval"></span> minutes. The meteorological day used at this station ends at
|
||||
<span data-cmxdata="rollovertime"></span>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End of panel content -->
|
||||
</div> <!-- End of content -->
|
||||
<!-- Footer -->
|
||||
<div id="Footer" class="w3-row w3-bottom w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<p><em>Cumulus MX Template by Neil Thomas <script>document.write(new Date().getFullYear());</script>
|
||||
<span class="w3-right">Powered by <span class="w3-theme-txt">Cumulus MX</span> v:<span data-cmxdata="version"></span>, b:<span data-cmxdata="build"></span></span></em></p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
283
todayyest.htm
Normal file
283
todayyest.htm
Normal file
|
@ -0,0 +1,283 @@
|
|||
<!--
|
||||
todayT.htm v:0.0.1 d:Feb 2021 Neil Thomas
|
||||
Last modified: 2022/10/15 11:15:18
|
||||
Page: 1 main panel plus a sidebar
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<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">
|
||||
<title>Cumulus MX - Today vs Yesterday</title>
|
||||
<link rel="icon" type="image/png" href="images/favicon.png">
|
||||
|
||||
<!-- jQuery Local -->
|
||||
<script src="lib/jquery/jquery-latest.min.js"></script>
|
||||
|
||||
<!-- Fonts System will default to a sans-serif font if no Internet connection -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rosario:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- All Styles -->
|
||||
<link href="css/w3Pro.css" rel="stylesheet"> <!-- Basic w3shools responsive styles -->
|
||||
<link href="css/colours.css" rel="stylesheet"> <!-- Slightly enhanced w3schools colours -->
|
||||
<link href="css/mx-templates.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="js/setpagedata.js"></script> <!-- Utility javascripts for all pages. -->
|
||||
</head>
|
||||
<body>
|
||||
<div id="Header" class="w3-row w3-top w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<div class="at-flex-between at-flex-items-center">
|
||||
<img src="images/CumulusMX-Logo.png" alt="CumulusmX Logo" class="w3-image logo"/>
|
||||
<div class="w3-right-align statusPanel">
|
||||
<h5 class="location w3-hide-small">Latitude: <span data-cmxdata="latitude"></span><span class="at-divider">|</span>Longitude: <span data-cmxdata="longitude"></span><span class="at-divider">|</span>Altitude: <span data-cmxdata="altitude"></span></h5>
|
||||
<h6 class="location w3-hide-medium w3-hide-large">Lat:<span data-cmxdata="latitude"></span><span class="at-divider">|</span>Lon:<span data-cmxdata="longitude"></span><span class="at-divider">|</span>Alt:<span data-cmxdata="altitude"></span></h6>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of Menu -->
|
||||
<div id="Main_Menu" class="w3-bar w3-theme-d4 w3-theme-bdr">
|
||||
</div>
|
||||
<!-- Mobile menu -->
|
||||
<div id="Main_Menu_Mobile" class="w3-bar-block w3-hide w3-hide-large">
|
||||
</div> <!-- End of Mobile menu -->
|
||||
</div>
|
||||
</div>
|
||||
<div id="Content"> <!-- Start of panel content -->
|
||||
<div class="w3-row-padding w3-theme-light site-width"> <!-- Page Title -->
|
||||
<div class="w3-col l12">
|
||||
<h1>Today vs Yesterday <span class="subText"> (<span data-cmxdata="yesterday"></span>)</span></h1>
|
||||
</div>
|
||||
</div> <!-- End of title row -->
|
||||
<div class="w3-row site-width w3-theme-light"> <!-- Start of Main panel -->
|
||||
<div class="w3-col l9 m12"> <!-- 3/4 width panel -->
|
||||
<div class="w3-row-padding"> <!-- Row 1 of 3/4 width panel -->
|
||||
<div class="w3-col s12"> <!-- Full width of above panel -->
|
||||
<div class="w3-panel w3-card w3-theme-white">
|
||||
<h2>Today and Yesterday's data</h2>
|
||||
<div class="w3-responsive">
|
||||
<table class="w3-table w3-hoverable" style="width:100%">
|
||||
<tbody>
|
||||
<tr class="w3-theme-d5">
|
||||
<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 class="w3-theme-l2">
|
||||
<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 class="w3-theme-l2">
|
||||
<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 class="w3-theme-l2">
|
||||
<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 class="w3-theme-l2">
|
||||
<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 class="w3-theme-l2">
|
||||
<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 class="w3-theme-l2">
|
||||
<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 class="w3-theme-l2">
|
||||
<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 class="w3-theme-l2">
|
||||
<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 class="w3-theme-l2">
|
||||
<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 class="w3-theme-d4">
|
||||
<td>Rainfall</td>
|
||||
<td colspan="2">Today</td>
|
||||
<td colspan="2">Yesterday</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<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 class="w3-theme-l3">
|
||||
<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 class="w3-theme-l3">
|
||||
<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 class="w3-theme-l3">
|
||||
<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 class="w3-theme-d3">
|
||||
<td>Wind</td>
|
||||
<td colspan="2">Today</td>
|
||||
<td colspan="2">Yesterday</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<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 class="w3-theme-l4">
|
||||
<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 class="w3-theme-l4">
|
||||
<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 class="w3-theme-l4">
|
||||
<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 class="w3-theme-d2">
|
||||
<td>Pressure (sea level)</td>
|
||||
<td colspan="2">Today</td>
|
||||
<td colspan="2">Yesterday</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l5">
|
||||
<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 class="w3-theme-l5">
|
||||
<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>
|
||||
<tr class="w3-theme-d1 w3-hide" data-cmx-solar>
|
||||
<td>Solar</td>
|
||||
<td colspan="2">Today</td>
|
||||
<td colspan="2">Yesterday</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l6 w3-hide" data-cmx-solar>
|
||||
<td>High Solar Radiation</td>
|
||||
<td><span data-cmxdata="solarTH"></span> W/m<sup>2</sup></td>
|
||||
<td><span class="w3-hide-medium w3-hide-small">at </span><span data-cmxdata="TsolarTH"></span></td>
|
||||
<td><span data-cmxdata="solarYH"></span> W/m²</td>
|
||||
<td><span class="w3-hide-medium w3-hide-small">at </span><span data-cmxdata="TsolarYH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l6 w3-hide" data-cmx-solar>
|
||||
<td>Hours of Sunshine</td>
|
||||
<td><span data-cmxdata="SunshineHours"></span> hrs</td>
|
||||
<td></td>
|
||||
<td><span data-cmxdata="YSunshineHours"></span> hrs</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="w3-small">Page data updated <span data-cmxdata="update"></span>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-col l3 m12"> <!-- Start of Sidebar 1/4 screen width -->
|
||||
<div class="w3-row-padding">
|
||||
<div class="w3-col l12"> <!-- Full width of sidebar -->
|
||||
<div class="w3-panel w3-container w3-theme-light">
|
||||
<h3 class="w3-center">Welcome to <br/><span class="subText"><span data-cmxdata="longlocation"></span></span></h3>
|
||||
<p>This page shows the highs, lows and current values for today and yesterday.<br>
|
||||
This page is updated every <span data-cmxdata="interval"></span> minutes. The meteorological day used <span class="w3-hide-medium w3-hide-small">at </span>this station ends at
|
||||
<span data-cmxdata="rollovertime"></span>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End of panel content -->
|
||||
</div> <!-- End of content -->
|
||||
<!-- Footer -->
|
||||
<div id="Footer" class="w3-row w3-bottom w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<p><em>Cumulus MX Template by Neil Thomas <script>document.write(new Date().getFullYear());</script>
|
||||
<span class="w3-right">Powered by <span class="w3-theme-txt">Cumulus MX</span> v:<span data-cmxdata="version"></span>, b:<span data-cmxdata="build"></span></span></em></p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
125
trends.htm
Normal file
125
trends.htm
Normal file
|
@ -0,0 +1,125 @@
|
|||
<!--
|
||||
trends.htm v:0.0.1 d:Feb 2021 Neil Thomas
|
||||
Last modified: 2023/03/16 09:46:57
|
||||
Page: 1 main panel plus a sidebar
|
||||
NOTE: Once uploaded this page does not need to be uploaded again unless edited.
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<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">
|
||||
<title>Cumulus MX</title>
|
||||
<link rel="icon" type="image/png" href="images/favicon.png">
|
||||
|
||||
<!-- jQuery Local -->
|
||||
<script src="lib/jquery/jquery-latest.min.js"></script>
|
||||
|
||||
<!-- Fonts System will default to a sans-serif font if no Internet connection -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rosario:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- All Styles -->
|
||||
<link href="css/w3Pro.css" rel="stylesheet"> <!-- Basic w3schools responsive styles -->
|
||||
<link href="css/colours.css" rel="stylesheet"> <!-- Slightly enhanced w3schools colours -->
|
||||
<link href="css/mx-templates.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="js/setpagedata.js"></script> <!-- Utility javascripts for all pages. -->
|
||||
|
||||
<style>
|
||||
#chartcontainer {
|
||||
min-height: 550px;
|
||||
margin-top:16px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.mx-button {
|
||||
margin-bottom: 5px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.graphs-width {
|
||||
max-width:1250px;
|
||||
margin: auto
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="Header" class="w3-row w3-top w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<div class="at-flex-between" style="align-items:center; flex-wrap:wrap;">
|
||||
<img src="images/CumulusMX-Logo.png" class="w3-image logo" alt="Header logo"/>
|
||||
<div class="w3-right-align" style="max-width:600px;">
|
||||
<h5>Lat<span class="w3-hide-small">itude</span>: <span data-cmxdata="latitude"></span><span class="at-divider">|<wbr></span>Long<span class="w3-hide-small">itude</span>: <span data-cmxdata="longitude"></span><span class="at-divider">|<wbr></span>Alt<span class="w3-hide-small">itude</span>: <span data-cmxdata="altitude"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of Menu -->
|
||||
<div id="Main_Menu" class="w3-bar w3-theme-d4 w3-theme-bdr">
|
||||
</div>
|
||||
<!-- Mobile menu -->
|
||||
<div id="Main_Menu_Mobile" class="w3-bar-block w3-hide w3-hide-large">
|
||||
</div> <!-- End of Mobile menu -->
|
||||
</div>
|
||||
</div>
|
||||
<div id="Content"> <!-- Start of main content -->
|
||||
<div class="w3-row-padding w3-theme-light graphs-width"> <!-- Page Title -->
|
||||
<div class="w3-col l12">
|
||||
<h1>Trends</h1>
|
||||
</div>
|
||||
</div> <!-- End of title row -->
|
||||
<div class="w3-row-padding w3-theme-light graphs-width"> <!-- First Row -->
|
||||
<div class="w3-col s12"> <!-- First column of first row -->
|
||||
<div class="w3-panel w3-card w3-theme-white">
|
||||
<figure>
|
||||
<div id="chartcontainer"></div>
|
||||
</figure>
|
||||
</div>
|
||||
</div> <!-- End of first column of first row -->
|
||||
</div>
|
||||
<div class="w3-row-padding w3-theme-light graphs-width"> <!-- Second row -->
|
||||
<div class="w3-col s12">
|
||||
<div class="w3-cardX w3-panelX w3-center">
|
||||
<div class="w3-bar w3-center">
|
||||
<select id="mySelect" aria-label="select data type for graph" class="w3-bar-item w3-select w3-theme-l2 at-slim">
|
||||
<option value="temp" selected>Temperature</option>
|
||||
<option value="dailytemp">Daily Temperature</option>
|
||||
<option value="press">Pressure</option>
|
||||
<option value="wind">Wind Speed</option>
|
||||
<option value="windDir">Wind Direction</option>
|
||||
<option value="humidity">Humidity</option>
|
||||
<option value="rain">Rainfall</option>
|
||||
<option value="dailyrain">Daily Rain</option>
|
||||
<option value="solar">Solar</option>
|
||||
<option value="sunhours">Sunshine Hours</option>
|
||||
<option value="airquality">Air Quality</option>
|
||||
<option value="extratemp">Extra Temperature</option>
|
||||
<option value="extrahum">Extra Humidity</option>
|
||||
<option value="extradew">Extra Dew Point</option>
|
||||
<option value="soiltemp">Soil Temperature</option>
|
||||
<option value="soilmoist">Soil Moisture</option>
|
||||
<option value="leafwet">Leaf Wetness</option>
|
||||
<option value="usertemp">User Temperature</option>
|
||||
<option value="co2">CO₂ Sensor</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End of row -->
|
||||
</div> <!-- End of Content -->
|
||||
<div class="w3-row-padding"></div>
|
||||
<div id="Footer" class="w3-row w3-bottom w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<p><em>Cumulus MX Template by Neil Thomas <script>document.write(new Date().getFullYear());</script>
|
||||
<span class="w3-right">Powered by <span class="w3-theme-txt">Cumulus MX</span> v:<span data-cmxdata="version"></span>, b:<span data-cmxdata="build"></span></span></em></p>
|
||||
</div>
|
||||
</div>
|
||||
<script src="https://code.highcharts.com/stock/10.3.3/highstock.js"></script>
|
||||
<script src="https://code.highcharts.com/stock/10.3.3/modules/exporting.js"></script>
|
||||
<script src="https://code.highcharts.com/10.3.3/modules/export-data.js"></script>
|
||||
<script src="https://code.highcharts.com/10.3.3/modules/accessibility.js"></script>
|
||||
<script src="https://code.highcharts.com/10.3.3/modules/boost.js"></script>
|
||||
<script src="https://code.highcharts.com/10.3.3/themes/grid.js"></script>
|
||||
<script src="js/cumuluscharts.js"></script> <!-- Script needed to run charts -->
|
||||
</body>
|
||||
</html>
|
225
yesterday.htm
Normal file
225
yesterday.htm
Normal file
|
@ -0,0 +1,225 @@
|
|||
<!--
|
||||
yesterday.htm v:0.0.1 d:Feb 2021 Neil Thomas
|
||||
Last modified: 2022/07/27 10:10:28
|
||||
Page: 1 main panel plus a sidebar
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<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">
|
||||
<title>Cumulus MX</title>
|
||||
<link rel="icon" type="image/png" href="images/favicon.png">
|
||||
|
||||
<!-- jQuery Local -->
|
||||
<script src="lib/jquery/jquery-latest.min.js"></script>
|
||||
|
||||
<!-- Fonts System will default to a sans-serif font if no Internet connection -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rosario:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- All Styles -->
|
||||
<link href="css/w3Pro.css" rel="stylesheet"> <!-- Basic w3shools responsive styles -->
|
||||
<link href="css/colours.css" rel="stylesheet"> <!-- Slightly enhanced w3schools colours -->
|
||||
<link href="css/mx-templates.css" rel="stylesheet"> <!-- Specific styles for these templates. -->
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="js/setpagedata.js"></script> <!-- Utility javascripts for all pages. -->
|
||||
</head>
|
||||
<body>
|
||||
<div id="Header" class="w3-row w3-top w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<div class="at-flex-between" style="align-items:center; flex-wrap:wrap;">
|
||||
<img src="images/CumulusMX-Logo.png" class="w3-image logo" alt="Header logo"/>
|
||||
<div class="w3-right-align" style="max-width:600px;">
|
||||
<h5>Lat<span class="w3-hide-small">itude</span>: <span data-cmxdata="latitude"></span><span class="at-divider">|<wbr></span>Long<span class="w3-hide-small">itude</span>: <span data-cmxdata="longitude"></span><span class="at-divider">|<wbr></span>Alt<span class="w3-hide-small">itude</span>: <span data-cmxdata="altitude"></span></h5>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Start of Menu -->
|
||||
<div id="Main_Menu" class="w3-bar w3-theme-d4 w3-theme-bdr">
|
||||
</div>
|
||||
<!-- Mobile menu -->
|
||||
<div id="Main_Menu_Mobile" class="w3-bar-block w3-hide w3-hide-large">
|
||||
</div> <!-- End of Mobile menu -->
|
||||
</div>
|
||||
</div>
|
||||
<div id="Content"> <!-- Start of panel content -->
|
||||
<div class="w3-row-padding w3-theme-light site-width"> <!-- Page Title -->
|
||||
<div class="w3-col l12">
|
||||
<h1>Yesterday <span class="subText"><span data-cmxdata="yesterday"></span></span></h1>
|
||||
</div>
|
||||
</div> <!-- End of title row -->
|
||||
<div class="w3-row site-width w3-theme-light"> <!-- Start of Main panel -->
|
||||
<div class="w3-col l9 m12"> <!-- 3/4 width panel -->
|
||||
<div class="w3-row-padding"> <!-- Row 1 of 3/4 width panel -->
|
||||
<div class="w3-col s12"> <!-- Full width of above panel -->
|
||||
<div class="w3-panel w3-card w3-theme-white">
|
||||
<h2 class="">Yesterday's data</h2>
|
||||
<div class="w3-responsive">
|
||||
<table class="w3-table w3-hoverable" style="width:100%">
|
||||
<tbody>
|
||||
<tr class="w3-theme-d5">
|
||||
<td colspan="3">Temperature and Humidity</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>High Temperature</td>
|
||||
<td><span data-cmxdata="tempYH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TtempYH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>Low Temperature</td>
|
||||
<td><span data-cmxdata="tempYL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TtempYL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>Temperature Range</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 Temperature</td>
|
||||
<td><span data-cmxdata="apptempYH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TapptempYH"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-apparent class="w3-theme-l2 w3-hide">
|
||||
<td>Low Apparent Temperature</td>
|
||||
<td><span data-cmxdata="apptempYL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TapptempYL"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-feels class="w3-theme-l2">
|
||||
<td>High Feels Like</td>
|
||||
<td><span data-cmxdata="feelslikeYH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TfeelslikeYH"></span></td>
|
||||
</tr>
|
||||
<tr data-cmx-feels class="w3-theme-l2">
|
||||
<td>Low Feels Like</td>
|
||||
<td><span data-cmxdata="feelslikeYL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TfeelslikeYL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>Low Wind Chill</td>
|
||||
<td><span data-cmxdata="wchillYL"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TwchillYL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>High Heat Index</td>
|
||||
<td><span data-cmxdata="heatindexYH"></span> <span data-cmxdata="tempunit"></span></td>
|
||||
<td>at <span data-cmxdata="TheatindexYH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>High Humidity</td>
|
||||
<td><span data-cmxdata="humYH"></span> %</td>
|
||||
<td>at <span data-cmxdata="ThumYH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l2">
|
||||
<td>Low Humidity</td>
|
||||
<td><span data-cmxdata="humYL"></span> %</td>
|
||||
<td>at <span data-cmxdata="ThumYL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d4">
|
||||
<td colspan="3">Rainfall</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td>Rainfall Yesterday</td>
|
||||
<td><span data-cmxdata="rfallY"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td>Rainfall Rate Max</td>
|
||||
<td><span data-cmxdata="rrateYM"></span> <span data-cmxdata="rainunit"></span>/hr</td>
|
||||
<td>at <span data-cmxdata="TrrateYM"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td>High Hourly Rainfall</td>
|
||||
<td><span data-cmxdata="hourlyrainYH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td>at <span data-cmxdata="ThourlyrainYH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l3">
|
||||
<td>High 24 Hour Rainfall</td>
|
||||
<td><span data-cmxdata="rain24hourYH"></span> <span data-cmxdata="rainunit"></span></td>
|
||||
<td>at <span data-cmxdata="Train24hourYH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d3">
|
||||
<td colspan="3">Wind</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td>High Gust</td>
|
||||
<td><span data-cmxdata="wgustYM"></span> <span data-cmxdata="windunit"></span></td>
|
||||
<td>at <span data-cmxdata="TwgustYM"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td>High Speed <span class="subText">(10 minute average)</span></td>
|
||||
<td><span data-cmxdata="windYM"></span> <span data-cmxdata="windunit"></span> (<span data-cmxdata="Ybeaufort"></span>)</td>
|
||||
<td>at <span data-cmxdata="TwindYM"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td>Wind Run</td>
|
||||
<td><span data-cmxdata="windrunY"></span> <span data-cmxdata="windrununit"></span></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l4">
|
||||
<td>Dominant Direction</td>
|
||||
<td><span data-cmxdata="domwindbearingY"></span>° <span data-cmxdata="domwinddirY"></span></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d2">
|
||||
<td colspan="3">Pressure <span class="subText">(sea level)</span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l5">
|
||||
<td>High Pressure</td>
|
||||
<td><span data-cmxdata="pressYH"></span> <span data-cmxdata="pressunit"></span></td>
|
||||
<td>at <span data-cmxdata="TpressYH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l5">
|
||||
<td>Low Pressure</td>
|
||||
<td><span data-cmxdata="pressYL"></span> <span data-cmxdata="pressunit"></span></td>
|
||||
<td>at <span data-cmxdata="TpressYL"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-d1 w3-hide" data-cmx-solar data-cmx-uv>
|
||||
<td colspan="3">Solar</td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l6 w3-hide" data-cmx-solar>
|
||||
<td>High Solar Radiation</td>
|
||||
<td><span data-cmxdata="solarYH"></span> W/m²</td>
|
||||
<td>at <span data-cmxdata="TsolarYH"></span></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l6 w3-hide" data-cmx-solar>
|
||||
<td>Hours of Sunshine</td>
|
||||
<td><span data-cmxdata="YSunshineHours"></span> hrs</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="w3-theme-l6 w3-hide" data-cmx-uv>
|
||||
<td>High UV Index</td>
|
||||
<td><span data-cmxdata="UVYH"></span></td>
|
||||
<td>at <span data-cmxdata="TUVYH"></span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="w3-small credits">Page updated <span data-cmxdata="update"></span>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-col l3 m12"> <!-- Start of Sidebar 1/4 width -->
|
||||
<div class="w3-row-padding">
|
||||
<div class="w3-col l12">
|
||||
<div class="w3-panel w3-container w3-theme-light">
|
||||
<h3 class="w3-center">Welcome to <br/><span class="subText"><span data-cmxdata="longlocation"></span></span></h3>
|
||||
<p>This page shows a summary of the data for the 24 hrs up to <span data-cmxdata="rollovertime"></span> local time. </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End of panel content -->
|
||||
</div> <!-- End of content -->
|
||||
<div id="Footer" class="w3-row w3-bottom w3-theme-dark w3-theme-bdr">
|
||||
<div class="w3-row-padding site-width">
|
||||
<p><em>Cumulus MX Template by Neil Thomas <script>document.write(new Date().getFullYear());</script>
|
||||
<span class="w3-right">Powered by <span class="w3-theme-txt">Cumulus MX</span> v:<span data-cmxdata="version"></span>, b:<span data-cmxdata="build"></span></span></em></p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue