Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dev #2

Merged
merged 72 commits into from
Apr 17, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
10d623b
mgdl -> mg/dl
AdrianLxM Mar 6, 2018
bde4750
Merge pull request #9 from inventor96/update-virtual-assistants-v2
inventor96 Nov 7, 2019
378406b
Merge pull request #10 from nightscout/dev
inventor96 Dec 7, 2019
41ac93f
Merge pull request #5113 from nightscout/dev
sulkaharo Dec 17, 2019
e4e417b
Merge branch 'dev' of github.com:inventor96/cgm-remote-monitor into dev
inventor96 Dec 17, 2019
4578e17
Release ref update v2 (#5301)
inventor96 Dec 17, 2019
6021a0a
Fix auth dialog sizing error (#5315)
jpcunningh Dec 17, 2019
721aa02
Fix auth dialog sizing error (#5314)
jpcunningh Dec 18, 2019
f57ccb8
Release 13.0.1 (#5329)
sulkaharo Dec 18, 2019
14e8c8c
Bump version to 13.0.2-dev
sulkaharo Dec 18, 2019
e0667c9
fix some random test failures (#5341)
jpcunningh Dec 20, 2019
6f43f47
Merge branch 'dev' of github.com:inventor96/cgm-remote-monitor into dev
inventor96 Dec 27, 2019
0c9f819
Added support for asking delta
inventor96 Dec 27, 2019
a4c0425
Added time reference
inventor96 Dec 27, 2019
a7e49b3
Made delta reading more informative
inventor96 Dec 27, 2019
7a1fc6d
Corrected time reference
inventor96 Dec 27, 2019
c9c9495
Try shortening the response
inventor96 Dec 27, 2019
014df85
Revert attempt
inventor96 Dec 27, 2019
6475310
Updated templates and documentation
inventor96 Dec 27, 2019
161c496
Minor improvement in response when delta is 0
inventor96 Dec 27, 2019
23d25a4
German translations improved and added (#5360)
tanja3981 Jan 1, 2020
aeebf0b
Delta support in virtual assistants (#5376)
sulkaharo Jan 1, 2020
9718bc7
Fix Alexa Launch and SessionEnded Requests (#5377)
Bartlomiejsz Jan 1, 2020
a4ce06f
Fix #5149 - discord link on CONTRIBUTING.md doesn't do anything (#5380)
Bartlomiejsz Jan 1, 2020
8139cb9
Fix #5146 - display of treatment with only Fat and Protein set (#5381)
Bartlomiejsz Jan 1, 2020
f7922a6
Basic report page style fixes and updates (#5387)
andrew-dixon Jan 1, 2020
031c5be
Add missing Polish translations and improve existing (#5382)
Bartlomiejsz Jan 1, 2020
1c579a7
Addressed virtual assistant usage with Authentication Roles (#5388)
inventor96 Jan 1, 2020
78be0f6
mgdl -> mg/dl (#3423)
sulkaharo Jan 1, 2020
44519b9
Fix timeago alarms (again). The changes to the rendered had an uninte…
sulkaharo Jan 1, 2020
9817b03
Remove the server side test
sulkaharo Jan 1, 2020
df03577
Merge pull request #5394 from nightscout/fix_timeago
sulkaharo Jan 1, 2020
60be07c
Fix Graph Display Without Recent Devicestatus (#5409)
jpcunningh Jan 6, 2020
ee0b1e8
Update Russian (#5415)
apanasef Jan 6, 2020
0def1f2
Add server teardown ability (#5410)
PetrOndrusek Jan 6, 2020
bb34500
Additional German Translations and corrections (#5405)
herzogmedia Jan 6, 2020
5e47c4d
Fix #5188 - move predictions to bundle and don't render chart on pred…
Bartlomiejsz Jan 6, 2020
ddbda15
Move toolbar and authentication status to partial and include on each…
Bartlomiejsz Jan 6, 2020
4098689
Virtual assistant code simplification (#5400)
inventor96 Jan 11, 2020
4f9f735
Pr/5379 (#5441)
sulkaharo Jan 11, 2020
c49ea37
Volunteer for Polish translations (#5396)
Bartlomiejsz Jan 11, 2020
2f60d8d
Api3 output renderers (#5425)
PetrOndrusek Jan 12, 2020
5c15243
Restore glucose distribution test (#5434)
jakobsandberg Jan 12, 2020
81d926a
Increase coverage of tests on units utility and clean up timeago test…
jakobsandberg Jan 12, 2020
937aa47
Refactor to encapsulate duplicated settings logic (#5426)
jakobsandberg Jan 12, 2020
64663d2
Send coverage reports to Codacy (#5444)
sulkaharo Jan 12, 2020
7dc292e
Resolve unnecessary uses of eslint-ignore (#5436)
jakobsandberg Jan 12, 2020
3a1d9be
Fix eslint errors and add npm script for eslint (#5427)
jakobsandberg Jan 14, 2020
04edbec
Remove redundant checks on entry ID (#5440)
jakobsandberg Jan 14, 2020
d095482
Run CI Action for Pull Requests
sulkaharo Jan 14, 2020
3386ac6
Update DayToDay report for Loop Overrides (#5452)
jonfawcett Jan 18, 2020
baad198
Fix earlier merge error with predictions having moved to the report b…
sulkaharo Jan 18, 2020
6045547
fix brushing loop (#5499)
jpcunningh Feb 1, 2020
c86b890
Update README.md (#5480)
hummelstrand Feb 3, 2020
c0f6b22
Added period of days into headline of glucose distribution and percen…
peterleimbach Feb 3, 2020
82f0076
Move app caching to a service worker (#5504)
sulkaharo Feb 5, 2020
b1ec21c
Added indexes to 'entries' and 'treatments' along with other updates …
a-harrison Feb 5, 2020
765d7f8
Fix: Round interporlated mg/dL value to an integer
sulkaharo Feb 8, 2020
44ab2a7
Plugin to show database size (% of available space or in MiB) (#5496)
dlvoy Feb 10, 2020
65b9f38
Trying to fix random fail of APIv3 tests (#5519)
PetrOndrusek Feb 11, 2020
cd2ad5e
client - mobile - Axis label font is scaled on small screens (#5512)
stephencmorton Feb 16, 2020
77795ca
Split view (#5518)
sulkaharo Feb 16, 2020
729747a
Allow flagging specific settings to be not exposed the /properties an…
sulkaharo Feb 16, 2020
dcf8248
Add more variables to the special list
sulkaharo Feb 16, 2020
43165a0
[DEV][FIX] Fix dbsize plugin to make it hideable again (#5529)
dlvoy Feb 22, 2020
be678c0
Removed duplicate if statement (#5531)
altaired Feb 22, 2020
68fb745
Update Dutch translations (#5532)
Feb 22, 2020
7d95b06
Fix settings test
sulkaharo Feb 22, 2020
32f4791
Update version to 13.1.0
sulkaharo Feb 22, 2020
9611373
Merge branch 'master' into dev for release
sulkaharo Feb 22, 2020
4cdd00d
Fix topbar collapse on small screens (#5562)
sulkaharo Mar 9, 2020
17eb4ae
Option to switch off bolus amount outputs (#5522)
andrew-dixon Apr 14, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: CI test

on: [push]
on: [push, pull_request]

jobs:
build:
Expand Down Expand Up @@ -28,5 +28,7 @@ jobs:
sudo apt-get install -y --allow-downgrades mongodb-org=3.6.14 mongodb-org-server=3.6.14 mongodb-org-shell=3.6.14 mongodb-org-mongos=3.6.14 mongodb-org-tools=3.6.14
- name: Start MongoDB
run: sudo systemctl start mongod
- name: Run tests
- name: Run Tests
run: npm run-script test-ci
- name: Send Coverage
run: npm run-script coverage
5 changes: 3 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
[coverage-img]: https://img.shields.io/coveralls/nightscout/cgm-remote-monitor/master.svg
[coverage-url]: https://coveralls.io/r/nightscout/cgm-remote-monitor?branch=master
[discord-img]: https://img.shields.io/discord/629952586895851530?label=discord%20chat
[discord-url]: https://discordapp.com/channels/629952586895851530/629952669967974410
[discord-url]: https://discord.gg/rTKhrqz

## Installation for development

Expand Down Expand Up @@ -181,6 +181,7 @@ Also if you can't code, it's possible to contribute by improving the documentati
[@unsoluble]: https://github.com/unsoluble
[@viderehh]: https://github.com/viderehh
[@OpossumGit]: https://github.com/OpossumGit
[@Bartlomiejsz]: https://github.com/Bartlomiejsz

| Contribution area | List of contributors |
| ------------------------------------- | ---------------------------------- |
Expand Down Expand Up @@ -252,7 +253,7 @@ Languages with less than 90% coverage will be removed in a future Nightscout ver
| 한국어 (`ko`)|Please volunteer|Needs attention: 80.6%|
| Norsk (Bokmål) (`nb`)|Please volunteer|OK|
| Nederlands (`nl`)|[@PieterGit]|OK|
| Polski (`pl`)|Please volunteer|OK|
| Polski (`pl`)|[@Bartlomiejsz]|OK|
| Português (Brasil) (`pt`)|Please volunteer|OK|
| Română (`ro`)|Please volunteer|OK|
| Русский (`ru`)|[@apanasef]|OK|
Expand Down
47 changes: 38 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,23 +49,24 @@ Community maintained fork of the

- [Install](#install)
- [Supported configurations:](#supported-configurations)
- [Minimum browser requirements for viewing the site:](#minimum-browser-requirements-for-viewing-the-site)
- [Recommended minimum browser versions for using Nightscout:](#recommended-minimum-browser-versions-for-using-nightscout)
- [Windows installation software requirements:](#windows-installation-software-requirements)
- [Installation notes for users with nginx or Apache reverse proxy for SSL/TLS offloading:](#installation-notes-for-users-with-nginx-or-apache-reverse-proxy-for-ssltls-offloading)
- [Installation notes for Microsoft Azure, Windows:](#installation-notes-for-microsoft-azure-windows)
- [Development](#development)
- [Usage](#usage)
- [Updating my version?](#updating-my-version)
- [What is my mongo string?](#what-is-my-mongo-string)
- [Configure my uploader to match](#configure-my-uploader-to-match)
- [Nightscout API](#nightscout-api)
- [Example Queries](#example-queries)
- [Environment](#environment)
- [Required](#required)
- [Features/Labs](#featureslabs)
- [Features](#features)
- [Alarms](#alarms)
- [Core](#core)
- [Predefined values for your browser settings (optional)](#predefined-values-for-your-browser-settings-optional)
- [Predefined values for your server settings (optional)](#predefined-values-for-your-server-settings-optional)
- [Views](#views)
- [Plugins](#plugins)
- [Default Plugins](#default-plugins)
- [`delta` (BG Delta)](#delta-bg-delta)
Expand Down Expand Up @@ -97,7 +98,7 @@ Community maintained fork of the
- [`openaps` (OpenAPS)](#openaps-openaps)
- [`loop` (Loop)](#loop-loop)
- [`override` (Override Mode)](#override-override-mode)
- [`xdripjs` (xDrip-js)](#xdripjs-xdripjs)
- [`xdripjs` (xDrip-js)](#xdripjs-xdrip-js)
- [`alexa` (Amazon Alexa)](#alexa-amazon-alexa)
- [`googlehome` (Google Home/DialogFLow)](#googlehome-google-homedialogflow)
- [`speech` (Speech)](#speech-speech)
Expand All @@ -109,6 +110,7 @@ Community maintained fork of the
- [Setting environment variables](#setting-environment-variables)
- [Vagrant install](#vagrant-install)
- [More questions?](#more-questions)
- [Browser testing suite provided by](#browser-testing-suite-provided-by)
- [License](#license)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->
Expand Down Expand Up @@ -292,6 +294,7 @@ To learn more about the Nightscout API, visit https://YOUR-SITE.com/api-docs/ or
* The `linear` option has equidistant tick marks; the range used is dynamic so that space at the top of chart isn't wasted.
* The `log-dynamic` is similar to the default `log` options, but uses the same dynamic range and the `linear` scale.
* `EDIT_MODE` (`on`) - possible values `on` or `off`. Enables the icon allowing for editing of treatments in the main view.
* `BOLUS_RENDER_OVER` (1) - U value over which the bolus values are rendered on the chart if the 'x U and Over' option is selected. This value can be an integer or a float, e.g. 0.3, 1.5, 2, etc...

### Predefined values for your server settings (optional)
* `INSECURE_USE_HTTP` (`false`) - Redirect unsafe http traffic to https. Possible values `false`, or `true`. Your site redirects to `https` by default. If you don't want that from Nightscout, but want to implement that with a Nginx or Apache proxy, set `INSECURE_USE_HTTP` to `true`. Note: This will allow (unsafe) http traffic to your Nightscout instance and is not recommended.
Expand All @@ -308,6 +311,12 @@ To learn more about the Nightscout API, visit https://YOUR-SITE.com/api-docs/ or
* `Color` - Shows current BG and trend arrow. White text on a background that changes color to indicate current BG threshold (green = in range; blue = below range; yellow = above range; red = urgent below/above). Set `SHOW_CLOCK_DELTA` to `true` to show BG change in the last 5 minutes, set `SHOW_CLOCK_LAST_TIME` to `true` to always show BG age.
* `Simple` - Shows current BG. Grey text on a black background.

### Split View

Some users will need easy access to multiple Nightscout views at the same time. We have a special view for this case, accessed on /split path on your Nightscout URL. The view supports any number of sites between 1 to 8 way split, where the content for the screen can be loaded from multiple Nightscout instances. Note you still need to host separate instances for each Nightscout being monitored including the one that hosts the split view page - these variables only add the ability to load multiple views into one browser page. To set the URLs from which the content is loaded, set:
* `FRAME_URL_1` - URL where content is loaded, for the first view (increment the number up to 8 to get more views)
* `FRAME_NAME_1` - Name for the first split view portion of the screen (increment the number to name more views)

### Plugins

Plugins are used extend the way information is displayed, how notifications are sent, alarms are triggered, and more.
Expand Down Expand Up @@ -431,14 +440,15 @@ To learn more about the Nightscout API, visit https://YOUR-SITE.com/api-docs/ or
* `BASAL_RENDER` (`none`) - Possible values are `none`, `default`, or `icicle` (inverted)

##### `bridge` (Share2Nightscout bridge)
Glucose reading directly from the Share service, uses these extended settings:
* `BRIDGE_USER_NAME` - Your user name for the Share service.
Glucose reading directly from the Dexcom Share service, uses these extended settings:
* `BRIDGE_USER_NAME` - Your username for the Share service.
* `BRIDGE_PASSWORD` - Your password for the Share service.
* `BRIDGE_INTERVAL` (`150000` *2.5 minutes*) - The time to wait between each update.
* `BRIDGE_INTERVAL` (`150000` *2.5 minutes*) - The time (in milliseconds) to wait between each update.
* `BRIDGE_MAX_COUNT` (`1`) - The number of records to attempt to fetch per update.
* `BRIDGE_FIRST_FETCH_COUNT` (`3`) - Changes max count during the very first update only.
* `BRIDGE_MAX_FAILURES` (`3`) - How many failures before giving up.
* `BRIDGE_MINUTES` (`1400`) - The time window to search for new data per update (default is one day in minutes).
* `BRIDGE_MINUTES` (`1400`) - The time window to search for new data per update (the default value is one day in minutes).
* `BRIDGE_SERVER` (``) - The default blank value is used to fetch data from Dexcom servers in the US. Set to (`EU`) to fetch from European servers instead.

##### `mmconnect` (MiniMed Connect bridge)
Transfer real-time MiniMed Connect data from the Medtronic CareLink server into Nightscout ([read more](https://github.com/mddub/minimed-connect-to-nightscout))
Expand Down Expand Up @@ -522,6 +532,25 @@ For remote overrides, the following extended settings must be configured:
Enabled [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) so other websites can make request to your Nightscout site, uses these extended settings:
* `CORS_ALLOW_ORIGIN` (`*`) - The list of sites that are allow to make requests

##### `dbsize` (Database Size)
Show size of Nightscout Database, as a percentage of declared available space or in MiB.

Many deployments of Nightscout use free tier of MongoDB on Heroku, which is limited in size. After some time, as volume of stored data grows, it may happen that this limit is reached and system is unable to store new data. This plugin provides pill that indicates size of Database and shows (when configured) alarms regarding reaching space limit.

**IMPORTANT:** This plugin can only check how much space database already takes, _but cannot infer_ max size available on server for it. To have correct alarms and realistic percentage, `DBSIZE_MAX` need to be properly set - according to your mongoDB hosting configuration.

**NOTE:** It may happen that new data cannot be saved to database (due to size limits) even when this plugin reports that storage is not 100% full. MongoDB pre-allocate data in advance, and database file is always made bigger than total real data size. To avoid premature alarms, this plugin refers to data size instead of file size, but sets warning thresholds low. It may happen, that file size of database will take 100% of allowed space but there will be plenty of place inside to store the data. But it may also happen, with file size is at its max, that data size will be ~70% of file size, and there will be no place left. That may happen because data inside file is fragmented and free space _holes_ are too small for new entries. In such case calling `db.repairDatabase()` on mongoDB is recommended to compact and repack data (currently only doable with third-party mongoDB tools, but action is planned to be added in _Admin Tools_ section in future releases).

All sizes are expressed as integers, in _Mebibytes_ `1 MiB == 1024 KiB == 1024*1024 B`

* `DBSIZE_MAX` (`496`) - Maximal allowed size of database on your mongoDB server, in MiB. You need to adjust that value to match your database hosting limits - default value is for standard Heroku mongoDB free tier.
* `DBSIZE_WARN_PERCENTAGE` (`60`) - Threshold to show first warning about database size. When database reach this percentage of `DBSIZE_MAX` size - pill will show size in yellow.
* `DBSIZE_URGENT_PERCENTAGE` (`75`) - Threshold to show urgent warning about database size. When database reach this percentage of `DBSIZE_MAX` size, it is urgent to do backup and clean up old data. At this percentage info pill turns red.
* `DBSIZE_ENABLE_ALERTS` (`false`) - Set to `true` to enable notifications about database size.
* `DBSIZE_IN_MIB` (`false`) - Set to `true` to display size of database in MiB-s instead of default percentage.

This plugin should be enabled by default, if needed can be diasabled by adding `dbsize` to the list of disabled plugins, for example: `DISABLE="dbsize"`.

#### Extended Settings
Some plugins support additional configuration using extra environment variables. These are prefixed with the name of the plugin and a `_`. For example setting `MYPLUGIN_EXAMPLE_VALUE=1234` would make `extendedSettings.exampleValue` available to the `MYPLUGIN` plugin.

Expand Down Expand Up @@ -583,7 +612,7 @@ For remote overrides, the following extended settings must be configured:
Treatment Profile Fields:

* `timezone` (Time Zone) - time zone local to the patient. *Should be set.*
* `units` (Profile Units) - blood glucose units used in the profile, either "mgdl" or "mmol"
* `units` (Profile Units) - blood glucose units used in the profile, either "mg/dl" or "mmol"
* `dia` (Insulin duration) - value should be the duration of insulin action to use in calculating how much insulin is left active. Defaults to 3 hours.
* `carbs_hr` (Carbs per Hour) - The number of carbs that are processed per hour, for more information see [#DIYPS](http://diyps.org/2014/05/29/determining-your-carbohydrate-absorption-rate-diyps-lessons-learned/).
* `carbratio` (Carb Ratio) - grams per unit of insulin.
Expand Down
79 changes: 53 additions & 26 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ const bodyParser = require('body-parser');

const path = require('path');
const fs = require('fs');
const ejs = require('ejs');

function create (env, ctx) {
var app = express();
Expand Down Expand Up @@ -92,6 +93,15 @@ function create (env, ctx) {
}
app.locals.cachebuster = cacheBuster;

app.get("/sw.js", (req, res) => {
res.setHeader('Content-Type', 'application/javascript');
res.send(ejs.render(fs.readFileSync(
require.resolve(`${__dirname}/views/service-worker.js`),
{ encoding: 'utf-8' }),
{ locals: app.locals}
));
});

if (ctx.bootErrors && ctx.bootErrors.length > 0) {
app.get('*', require('./lib/server/booterror')(ctx));
return app;
Expand Down Expand Up @@ -131,41 +141,58 @@ function create (env, ctx) {
}
}));

const clockviews = require('./lib/server/clocks.js')(env, ctx);
clockviews.setLocals(app.locals);

app.use("/clock", clockviews);

app.get("/", (req, res) => {
res.render("index.html", {
locals: app.locals
});
});

var appPages = {
"/clock-color.html": "clock-color.html"
, "/admin": "adminindex.html"
, "/profile": "profileindex.html"
, "/food": "foodindex.html"
, "/bgclock.html": "bgclock.html"
, "/report": "reportindex.html"
, "/translations": "translationsindex.html"
, "/clock.html": "clock.html"
"/": {
file: "index.html"
, type: "index"
}
, "/admin": {
file: "adminindex.html"
, title: 'Admin Tools'
, type: 'admin'
}
, "/food": {
file: "foodindex.html"
, title: 'Food Editor'
, type: 'food'
}
, "/profile": {
file: "profileindex.html"
, title: 'Profile Editor'
, type: 'profile'
}
, "/report": {
file: "reportindex.html"
, title: 'Nightscout reporting'
, type: 'report'
}
, "/translations": {
file: "translationsindex.html"
, title: 'Nightscout translations'
, type: 'translations'
}
, "/split": {
file: "frame.html"
, title: '8-user view'
, type: 'index'
}
};

Object.keys(appPages).forEach(function(page) {
app.get(page, (req, res) => {
res.render(appPages[page], {
locals: app.locals
res.render(appPages[page].file, {
locals: app.locals,
title: appPages[page].title ? appPages[page].title : '',
type: appPages[page].type ? appPages[page].type : '',
settings: env.settings
});
});
});

app.get("/appcache/*", (req, res) => {
res.render("nightscout.appcache", {
locals: app.locals
});
});
const clockviews = require('./lib/server/clocks.js')(env, ctx);
clockviews.setLocals(app.locals);

app.use("/clock", clockviews);

app.use('/api', bodyParser({
limit: 1048576 * 50
Expand Down
9 changes: 7 additions & 2 deletions app.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,11 @@
"value": "180",
"required": false
},
"BOLUS_RENDER_OVER": {
"description": "U value over which the bolus values are rendered on the chart if the 'x U and Over' option is selected.",
"value": "1",
"required": false
},
"BRIDGE_PASSWORD": {
"description": "Your Dexcom account password, to receive CGM data from the Dexcom Share service. Also make sure to include 'bridge' in your ENABLE line.",
"value": "",
Expand Down Expand Up @@ -99,7 +104,7 @@
},
"ENABLE": {
"description": "Plugins to enable for your site. Must be a space-delimited, lower-case list. Include the word 'bridge' here if you are receiving data from the Dexcom Share service. Include 'mmconnect' if you are bridging from the MiniMed CareLink service.",
"value": "careportal basal",
"value": "careportal basal dbsize",
"required": false
},
"MMCONNECT_USER_NAME": {
Expand Down Expand Up @@ -129,7 +134,7 @@
},
"SHOW_PLUGINS": {
"description": "Default setting for whether or not these plugins are checked (active) by default, not merely enabled. Include plugins here as in the ENABLE line; space-separated and lower-case.",
"value": "careportal",
"value": "careportal dbsize",
"required": false
},
"SHOW_RAWBG": {
Expand Down
87 changes: 87 additions & 0 deletions assets/fonts/Nightscout Plugin Icons.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
{
"metadata": {
"name": "Nightscout Plugin Icons",
"lastOpened": 0,
"created": 1580075608590
},
"iconSets": [
{
"selection": [
{
"order": 2,
"id": 0,
"name": "database",
"prevSize": 32,
"code": 59649,
"tempChar": ""
}
],
"id": 2,
"metadata": {
"name": "Plugin Icons",
"importSize": {
"width": 16,
"height": 18
}
},
"height": 1024,
"prevSize": 32,
"icons": [
{
"id": 0,
"paths": [
"M455.111 0c-251.449 0-455.111 101.831-455.111 227.556s203.662 227.556 455.111 227.556 455.111-101.831 455.111-227.556-203.662-227.556-455.111-227.556zM0 341.333v170.667c0 125.724 203.662 227.556 455.111 227.556s455.111-101.831 455.111-227.556v-170.667c0 125.724-203.662 227.556-455.111 227.556s-455.111-101.831-455.111-227.556zM0 625.778v170.667c0 125.724 203.662 227.556 455.111 227.556s455.111-101.831 455.111-227.556v-170.667c0 125.724-203.662 227.556-455.111 227.556s-455.111-101.831-455.111-227.556z"
],
"attrs": [
{}
],
"width": 910,
"isMulticolor": false,
"isMulticolor2": false,
"grid": 0,
"tags": [
"plugins"
]
}
],
"invisible": false,
"colorThemes": []
}
],
"preferences": {
"showGlyphs": true,
"showQuickUse": true,
"showQuickUse2": true,
"showSVGs": true,
"fontPref": {
"prefix": "plugicon-",
"metadata": {
"fontFamily": "pluginicons",
"majorVersion": 1,
"minorVersion": 0
},
"metrics": {
"emSize": 1024,
"baseline": 6.25,
"whitespace": 50
},
"embed": false,
"showSelector": false,
"showMetrics": false,
"showMetadata": false,
"showVersion": false
},
"imagePref": {
"prefix": "icon-",
"png": true,
"useClassSelector": true,
"color": 0,
"bgColor": 16777215,
"classSelector": ".icon"
},
"historySize": 50,
"showCodes": true,
"gridSize": 16
},
"uid": -1
}
Loading