Commit 8e15f5dd authored by Maxwell Power's avatar Maxwell Power

Initial Build

parents
Pipeline #76992755 passed with stage
in 1 minute and 33 seconds
image: ruby:latest
before_script:
- bundle install
pages:
stage: deploy
variables:
JEKYLL_ENV: production
script:
- bundle exec jekyll build -d public
artifacts:
paths:
- public
only:
- master
DEV_pages:
stage: deploy
script:
- bundle exec jekyll build -d test
artifacts:
paths:
- test
except:
- master
MIT License
Copyright (c) 2015-2019 Maxwell Power - max@acuparse.com
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
# Acuparse.com Website
## New releases
- Copy the last release post in _releases to a new post and edit file name.
- Update front matter with current release.
- Add changelog data to content.
name: 'Acuparse'
title: 'Acuparse - Access/smartHUB and IP Camera Data Processing, Display, and Upload'
description: 'AcuRite Access/smartHUB and IP Camera Data Processing, Display, and Upload'
url: 'https://www.acuparse.com'
baseurl: ''
css: '/assets/css'
js: '/assets/js'
lightbox: '/assets/lightbox'
images: '/assets/img'
ganalytics: 'UA-93235303-1'
timezone: 'America/Edmonton'
permalink: 'pretty'
collections:
releases:
output: 'true'
exclude:
- Gemfile
- Gemfile.lock
- LICENSE
- README.md
plugins:
- jekyll-feed
- jekyll-sitemap
feed:
collections:
- releases
defaults:
- scope:
path: 'assets/img/screenshots'
values:
screenshot: true
# Includes
bootstrap:
version: "4.3.1"
sha:
css: "sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
js: "sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
popper:
version: "1.14.7"
sha: "sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
jquery:
version: "3.4.1"
sha: "sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
fontawesome:
version: "20b62b6c01"
Acuparse is a PHP/MySQL application that captures, stores, and displays weather data from an AcuRite 5N1/Atlas weather station and tower sensors, via your Access/smartHUB. It uploads weather data to Weather Underground, Weathercloud, PWS Weather, Windy, and CWOP. It also processes and stores images from a network camera for display and uploads to Weather Underground.
\ No newline at end of file
{% assign basepath = ''
%}{% assign depth = page.url | split: '/' | size | minus: 1
%}{% if depth <= 1
%}{% assign basepath = '.'
%}{% elsif depth == 2
%}{% assign basepath = '..'
%}{% elsif depth == 3
%}{% assign basepath = '../..'
%}{% elsif depth == 4
%}{% assign basepath = '../../..'
%}{% elsif depth == 5
%}{% assign basepath = '../../../..'
%}{% elsif depth == 6
%}{% assign basepath = '../../../../..'
%}{% endif
%}
\ No newline at end of file
<footer id="footer" class="site-footer">
<div class="site-info">
<div class="container">
<div class="btt">
<a class="back-to-top" href="{{ '#home' | relative_url }}" title="Back To Top"><i
class="fa fa-angle-double-up" data-wow-duration="2s"></i></a>
</div>
Copyright © 2016-{{ 'now' | date: "%Y" }} {{ site.name }}<br>
<small>Build: <a
href="{{ site.env.CI_COMMIT_SHA | prepend: 'https://gitlab.com/acuparse/website/commit/'}}">{{
site.env.CI_COMMIT_SHORT_SHA }}</a></small>
</div>
</div>
</footer>
</div>
<script src="https://code.jquery.com/jquery-{{ site.data.version.jquery.version }}.min.js"
integrity="{{ site.data.version.jquery.sha }}"
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/{{ site.data.version.popper.version }}/umd/popper.min.js"
integrity="{{ site.data.version.popper.sha }}"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/{{ site.data.version.bootstrap.version }}/js/bootstrap.min.js"
integrity="{{ site.data.version.bootstrap.sha.js }}"
crossorigin="anonymous"></script>
<script src="{{ '/owl.carousel.js' | prepend: site.js | relative_url }}"></script>
<script src="{{ '/js/lightbox.min.js' | prepend: site.lightbox | relative_url }}"></script>
<script src="{{ '/main.js' | prepend: site.js | relative_url }}"></script>
<script type="text/javascript">
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', '{{ site.ganalytics }}', 'auto');
ga('send', 'pageview');
</script>
<!DOCTYPE html>
<html lang="en-CA">
<head>
{% include basepath.html %}
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ site.title }}</title>
<meta name="description" content="{{ site.description }}">
<link rel="canonical" href="{{ site.url | absolute_url }}">
<!-- Meta -->
<!-- Facebook -->
<meta property="og:locale" content="en_US">
<meta property="og:type" content="website">
<meta property="og:title" content="{{ site.title }}">
<meta property="og:description" content="{{ site.description }}">
<meta property="og:url" content="{{ site.url | absolute_url }}">
<meta property="og:site_name" content="{{ site.name }}">
<!-- Twitter -->
<meta name="twitter:card" content="summary">
<meta name="twitter:description" content="{{ site.description }}">
<meta name="twitter:title" content="{{ site.title }}">
<meta name="google-site-verification" content="4b0N_p0zSQ6qawsSHcuaBE9k1QWyYqVX7yizKeu_g7w">
<link rel="dns-prefetch" href="https://fonts.googleapis.com/">
<link rel="alternate" type="application/rss+xml" title="Acuparse News Feed"
href="{{ '/feed.xml' | prepend: site.url | absolute_url }}">
<link rel="alternate" type="application/rss+xml" title="Acuparse Releases Feed"
href="{{ '/feed/releases.xml' | prepend: site.url | absolute_url }}">
<script src="https://kit.fontawesome.com/{{ site.data.version.fontawesome.version }}.js"></script>
<!-- Stylesheets --->
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/{{ site.data.version.bootstrap.version }}/css/bootstrap.min.css"
integrity="{{ site.data.version.bootstrap.sha.css }}" crossorigin="anonymous">
<link rel="stylesheet" id="style-css" href="{{ '/main.css' | prepend: site.css | relative_url }}"
type="text/css"
media="all">
<link rel="stylesheet" id="lightbox-css" href="{{ '/css/lightbox.min.css' | prepend: site.lightbox | relative_url }}"
type="text/css"
media="all">
<link rel="shortlink" href="{{ site.url | absolute_url }}">
<link rel="icon" href="{{ '/weather.jpg' | prepend: site.images | relative_url }}" sizes="32x32">
<link rel="icon" href="{{ '/weather.jpg' | prepend: site.images | relative_url }}" sizes="192x192">
<link rel="apple-touch-icon-precomposed" href="{{ '/weather.jpg' | prepend: site.images | relative_url }}">
<meta name="msapplication-TileImage" content="{{ '/weather.jpg' | prepend: site.images | relative_url }}">
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "CreativeWork",
"accountablePerson": "Maxwell Power",
"audience": "Weather Enthusiasts",
"author": "Acuparse",
"copyrightHolder": "Maxwell Power",
"copyrightYear": "2017",
"datePublished": "2017-03-14",
"license": "https://www.gnu.org/licenses/agpl-3.0.en.html",
"isAccessibleForFree": "true",
"name": "{{ site.name}}",
"about": "{% include about.md %}",
"description": "{{ site.description }}",
"url": "{{ site.url }}",
"version": "{{ site.data.version.acuparse }}",
"sameAs": [
"https://gitlab.com/acuparse",
"https://github.com/acuparse"
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "{{ site.name }}",
"url": "{{ site.url }}",
"sameAs": [
"https://gitlab.com/acuparse",
"https://github.com/acuparse"
]
}
</script>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"name": "{{ site.name}}",
"description": "{{ site.description }}",
"url": "{{ site.url }}"
}
</script>
</head>
<body class="home page-template page">
<div id="page" class="site">
<div id="header-section" class="h-on-top">
<header id="masthead" class="site-header header-contained no-scroll h-on-top header-fixed" role="banner">
<div class="container">
<div class="site-branding">
<div class="site-brand-inner no-logo-img has-title has-desc"><h1 class="site-title"><a
class="site-text-logo" href="https://www.acuparse.com/" rel="home">Acuparse</a></h1>
<p class="site-description">AcuRite Access/smartHUB and IP Camera Processing, Display, and
Upload</p></div>
</div>
<div class="header-right-wrapper">
<a href="#" id="nav-toggle">Menu<span></span></a>
{% include nav.html %}
</div>
</div>
</header>
{% if page.url == '/' %}
{% include hero.html %}
{% endif %}
</div>
\ No newline at end of file
<section id="home" class="hero_cover">
<div class="container">
<div class="hero_content hero-content-style1">
<h2 class="hero-large-text">{{ site.name }}</h2>
<p class="hero-small-text"></p>
<p><b>AcuRite Access/smartHUB and IP Camera Processing, Display, and Upload.</b></p>
<p>Read and store your weather data from Acurite 5N1, Atlas, and Towers sensors.<br>
Supports readings using Access and SmartHub devices.</p>
<p><b>Installation supported only on Debian/Rasbian Buster(10) and Ubuntu 18.04/19.04.</b><br>
Acuparse is written in PHP and uses MySQL for database storage.</p>
{% assign releases = site.releases | reverse %}
{% for release in releases limit:1 %}
<p><strong>Current Version</strong>: {{ release.version }}</p>
{% endfor %}
<p></p> <a href="{{ '/releases' | relative_url }}" class="btn btn-theme-primary btn-lg"><i
class="fa fa-newspaper"></i> Release Notes</a> <a target="_blank"
href="https://docs.acuparse.com/INSTALL"
class="btn btn-success btn-lg"><i
class="fa fa-file-alt"></i> Install Guide</a>
</div>
</div>
</section>
\ No newline at end of file
<article
class="list-article clearfix post type-post status-publish format-standard has-post-thumbnail hentry category-releases tag-releases">
<div class="list-article-thumb">
<a href="{{ release.url | relative_url }}">
<img width="150" height="150"
src="{{ release.image | relative_path }}"
class="attachment-blog-small size-blog-small wp-post-image"
alt="ship"> </a>
</div>
<div class="list-article-content">
<div class="list-article-meta">
<a href="{{ '/releases' | relative_url }}">Releases</a>
</div>
<header class="entry-header">
<h2 class="entry-title"><a href="{{ release.url | relative_url }}"
rel="bookmark">{{ release.version | prepend: 'Version ' | append: ' - ' | append:
release.title }}</a></h2>
</header>
<p>{{ release.content | strip_html | truncatewords:50 }}</p>
</div>
</article>
\ No newline at end of file
<nav id="site-navigation" class="main-navigation" role="navigation">
<ul class="menu">
<li id="home"
class="menu-item menu-item-type-custom menu-item-object-custom"><a
href="{{ '/' | relative_url }}"><i class="fas fa-home"></i> Home</a></li>
<li id="features"
class="menu-item menu-item-type-custom menu-item-object-custom"><a
href="{{ '#features' | relative_url }}"><i class="fas fa-toolbox"></i> Features</a></li>
<li id="about"
class="menu-item menu-item-type-custom menu-item-object-custom"><a
href="{{ '#about' | relative_url }}"><i class="fas fa-info-circle"></i> About</a></li>
<li id="gallery"
class="menu-item menu-item-type-custom menu-item-object-custom"><a
href="{{ '#gallery' | relative_url }}"><i class="fas fa-camera"></i> Gallery</a></li>
<li id="news"
class="menu-item menu-item-type-custom menu-item-object-custom"><a
href="{{ '/releases' | relative_url }}"><i class="fas fa-newspaper"></i> Releases</a></li>
<li id="discussion"
class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children">
<a href="{{ '#discussion' | relative_url }}"><i class="fas fa-ellipsis-v"></i> Discussion</a>
<ul class="sub-menu">
<li id="lists"
class="menu-item menu-item-type-custom menu-item-object-custom"><a
href="https://groups.google.com/a/lists.acuparse.com/forum/#!forum/users"><i class="fas fa-mail-bulk"></i> Users Mailing List</a></li>
<li id="gitter"
class="menu-item menu-item-type-custom menu-item-object-custom"><a
href="https://gitter.im/acuparse/acuparse"><i class="fas fa-keyboard"></i> Gitter Chat</a></li>
</ul>
</li>
<li id="install"
class="menu-item menu-item-type-custom menu-item-object-custom"><a
href="https://docs.acuparse.com/INSTALL"><i class="fas fa-file-alt"></i> Install</a></li>
</ul>
</nav>
---
---
{% include header.html %}
{{ content }}
{% include footer.html %}
\ No newline at end of file
---
---
{% include header.html %}
<div id="content" class="site-content">
<main id="post" class="site-main" role="main">
<section id="post_details" class="section-features section-padding section-meta site-section">
<div class="container">
<div>
<h1>{{ page.title }}</h1>
<h2>Posted on: <time datetime="{{ page.date | date: '%Y-%m-%d' }}">{{ page.date | date_to_long_string }}
</time>
</h2>
</div>
<article>
<div id="post_content">
{{ content }}
</div>
</article>
</div>
</section>
</main>
</div>
{% include footer.html %}
---
---
{% include header.html %}
<div id="content" class="site-content">
<main id="release" class="site-main" role="main">
<section id="release_details" class="section-features section-padding section-meta site-section">
<div class="container">
<div>
<h1>{{ page.version | append: ' - ' | append: page.title }}</h1>
<h2>Released on:
<time datetime="{{ page.date | date: '%Y-%m-%d' }}">{{ page.date | date_to_long_string }}
</time>
</h2>
</div>
<div id="release_version">
<article>
<div id="release_changes">
{{ content }}
</div>
</article>
</div>
</div>
</section>
</main>
</div>
{% include footer.html %}
module Jekyll
class EnvVariables < Generator
def generate(site)
site.config['env'] = {}
ENV.each_pair { |k, v| site.config['env'][k] = v }
end
end
end
\ No newline at end of file
---
version: '2.1.0'
title: 'Initial Open Source Release'
date: 2017-03-14T01:50:30-04:00
layout: release
permalink: /releases/v2-1-0
image: assets/img/release.jpg
---
### Added
- Initial Release
---
version: '2.1.1'
title: 'Minor Fixes and Improvements'
date: 2017-06-10T18:12:11-04:00
layout: release
permalink: /releases/v-2-1-1
image: assets/img/release.jpg
---
Some small changes and improvements to core functionality.
### Changed
- Updated wrong installer path in docs/INSTALL.md
- Minor updates to outage notifications. They should now send as expected.
- Minor changes to update checking.
### Added
- Event Scheduler check in cron since it's off by default.
- Google Captcha added to contact form.
---
version: '2.1.2'
title: 'Rainfall fixes'
date: 2017-06-16T19:59:15-04:00
layout: release
permalink: /releases/v2-1-2
image: assets/img/release.jpg
---
### Fixed
- Issues created when changing the way the localtime was sent in the response. Why it needs to the in H:H:H format is unknown. Seems that's what the hub expects.
---
version: '2.1.3'
title: 'Rainfall fixes, again'
date: 2017-07-15T13:23:34-04:00
layout: release
permalink: /releases/v2-1-3
image: assets/img/release.jpg
---
### Fixed
- Actually resolved the rainfall reporting issue and modified the regex so it's replaced properly.
---
version: '2.1.4'
title: 'Bug fixes'
date: 2017-07-30T14:55:15-04:00
layout: release
permalink: /releases/v2-1-4
image: assets/img/release.jpg
---
## Minor bug fixes and improvements
### Changed
- Moved 3rd party scripts around and made changes to support a commercial non GPL version.
### Fixed
- Dew point showing &#8457; temp as the &#8451; temp in metric mode.
- SQL Trim was not re-enabling xtower as expected.
---
version: '2.1.5'
title: 'Debian 9 Support'
date: 2017-08-09T00:41:29-04:00
layout: release
permalink: /releases/v2-1-5
image: assets/img/release.jpg
---
- Camera archive buttons were misbehaving in some situations.
- Updated datetimepicker.js
- Moving to Debian Stretch from Jessie.
---
version: '2.1.6'
title: 'Minor bug fixes'
date: 2017-09-23T11:34:30-04:00
layout: release
permalink: /releases/v2-1-6
image: assets/img/release.jpg
---
## Minor bugfixes and improvements.
### Changed
- Redirect paths and form label.
---
version: '2.1.7'
title: 'Styling fixes'
date: 2017-12-03T13:56:00-04:00
layout: release
permalink: /releases/v2-1-7
image: assets/img/release.jpg
---
### Changed
- Default font to Open Sans for better visibility in the clean css template. Moved unneeded styles to a new template file.
- Reformatted Archive display
---
version: '2.1.8'
title: 'Minor Updates'
date: 2017-12-30T13:59:41-04:00
layout: release
permalink: /releases/v2-1-8
image: assets/img/release.jpg
---
### Fixed
- Fixed tower admin not displaying proper privacy status.
### Added
- Added back Weather Underground Camera Upload. WU changed their mind.
---
version: '2.1.9'
title: 'Improvements and Fixes'
date: 2018-01-23T19:58:19-04:00
layout: release
permalink: /releases/v2-1-9
image: assets/img/release.jpg
---
### Changed
- Modified Archive display format to align with the display format on the homepage.
- Updates page will now display notes from previous versions and file formatting changes.
### Fixed
- When disabling logging in settings, it was not being properly written to the config file.
- Watermark was not displaying imperial measurements when enabled.
### Added
- Option to hide alternate measurements from being displayed.
---
version: '2.2.0'
title: 'Access and SSL Support'
date: 2018-02-02T02:36:54-04:00
layout: release
permalink: /releases/v2-2-0
image: assets/img/release.jpg
---
### Added
- Support for the new Access as it replaces the smartHUB.
- SSL Support
### Changed
- Modified the cookie expiration time in account.php to reflect the same as in session.php
---
version: '2.2.1'
title: 'Access/Hub Fixes'
date: 2018-02-23T23:16:35-04:00
layout: release
permalink: /releases/v2-2-1
image: assets/img/release.jpg
---
### Changed
- Documentation cleanup and updates.
- Modified HUB response to prevent firmware updates. Acuparse now sends it's own response back to the HUB.
- Login cookies so they will work as expected.
### Added
- Restriction to prevent sending HUB updates to MyAcuRite after EoL.
### Fixed
- Changing config settings from the UI broke the Access upload path.
- SSL certificate for atlasapi.myacurite.com API has the wrong hostname. Disabled SSL hostname checks.
---
version: '2.2.2'
title: 'Access Fixes'
date: 2018-02-26T23:20:27-04:00
layout: release
permalink: /releases/v2-2-2
image: assets/img/release.jpg
---
### Added
- Timezone to Access response.
- Script to change the upload server locally on the Access. Removing the DNS redirect requirement.
### Changed
- Updated smartHUB EoL to 2019-03-01 due to AcuRite extending service.
### Fixed
- Wind readings in the archive worded incorrectly.
- Access updates not saving to DB.
---
version: '2.2.3'
title: 'Minor Update'
date: 2018-04-04T14:09:00-04:00
layout: release
permalink: /releases/v2-2-3
image: assets/img/release.jpg
---
### Changed
- Tower sensors now support the indoor/outdoor monitors for temp/humidity readings.
- Admin settings formatting.
- Minor formatting and documentation updates.
---
version: '2.3.0'
title: 'Select Upload Sensor'
date: 2018-04-07T14:30:38-04:00
layout: release
permalink: /releases/v2-3-0
image: assets/img/release.jpg
---
## Added
- Ability to set a Tower as the source for Temp/Humidity when sending updates externally/archiving.
## Changed