diff --git a/.hgignore b/.hgignore index 8a7e7e6..93a4c3f 100644 --- a/.hgignore +++ b/.hgignore @@ -60,6 +60,9 @@ coverage.xml *.mo *.pot +# Mac stuff: +*.DS_Store + # Django stuff: *.log local_settings.py diff --git a/backend/src/appenlight/static/js/appenlight.js b/backend/src/appenlight/static/js/appenlight.js index 1922e59..8befa12 100644 --- a/backend/src/appenlight/static/js/appenlight.js +++ b/backend/src/appenlight/static/js/appenlight.js @@ -1795,129 +1795,129 @@ return{compile:function(a,b){var c=f(t);return function(a,b,d,f){function j(){N. } }; }); -;//Copyright (C) 2012 Kory Nunn - -//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. - -/* - - This code is not formatted for readability, but rather run-speed and to assist compilers. - - However, the code's intention should be transparent. - - *** IE SUPPORT *** - - If you require this library to work in IE7, add the following after declaring crel. - - var testDiv = document.createElement('div'), - testLabel = document.createElement('label'); - - testDiv.setAttribute('class', 'a'); - testDiv['className'] !== 'a' ? crel.attrMap['class'] = 'className':undefined; - testDiv.setAttribute('name','a'); - testDiv['name'] !== 'a' ? crel.attrMap['name'] = function(element, value){ - element.id = value; - }:undefined; - - - testLabel.setAttribute('for', 'a'); - testLabel['htmlFor'] !== 'a' ? crel.attrMap['for'] = 'htmlFor':undefined; - - - -*/ - -(function (root, factory) { - if (typeof exports === 'object') { - if (!root.window) { - var jsdom = require('jsdom').jsdom; - root.window = jsdom().parentWindow; - } - module.exports = factory(root.window); - } else if (typeof define === 'function' && define.amd) { - define(factory.bind(null, window)); - } else { - root.crel = factory(root.window); - } -}(this, function (window) { - // based on http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object - var isNode = typeof Node === 'object' - ? function (object) { return object instanceof Node } - : function (object) { - return object - && typeof object === 'object' - && typeof object.nodeType === 'number' - && typeof object.nodeName === 'string'; - }; - - function crel(){ - var document = window.document, - args = arguments, //Note: assigned to a variable to assist compilers. Saves about 40 bytes in closure compiler. Has negligable effect on performance. - element = document.createElement(args[0]), - child, - settings = args[1], - childIndex = 2, - argumentsLength = args.length, - attributeMap = crel.attrMap; - - // shortcut - if(argumentsLength === 1){ - return element; - } - - if(typeof settings !== 'object' || isNode(settings)) { - --childIndex; - settings = null; - } - - // shortcut if there is only one child that is a string - if((argumentsLength - childIndex) === 1 && typeof args[childIndex] === 'string' && element.textContent !== undefined){ - element.textContent = args[childIndex]; - }else{ - for(; childIndex < argumentsLength; ++childIndex){ - child = args[childIndex]; - - if(child == null){ - continue; - } - - if(!isNode(child)){ - child = document.createTextNode(child); - } - - element.appendChild(child); - } - } - - for(var key in settings){ - if(!attributeMap[key]){ - element.setAttribute(key, settings[key]); - }else{ - var attr = crel.attrMap[key]; - if(typeof attr === 'function'){ - attr(element, settings[key]); - }else{ - element.setAttribute(attr, settings[key]); - } - } - } - - return element; - } - - // Used for mapping one kind of attribute to the supported version of that in bad browsers. - // String referenced so that compilers maintain the property name. - crel['attrMap'] = {}; - - // String referenced so that compilers maintain the property name. - crel["isNode"] = isNode; - - return crel; -})); +;//Copyright (C) 2012 Kory Nunn + +//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. + +/* + + This code is not formatted for readability, but rather run-speed and to assist compilers. + + However, the code's intention should be transparent. + + *** IE SUPPORT *** + + If you require this library to work in IE7, add the following after declaring crel. + + var testDiv = document.createElement('div'), + testLabel = document.createElement('label'); + + testDiv.setAttribute('class', 'a'); + testDiv['className'] !== 'a' ? crel.attrMap['class'] = 'className':undefined; + testDiv.setAttribute('name','a'); + testDiv['name'] !== 'a' ? crel.attrMap['name'] = function(element, value){ + element.id = value; + }:undefined; + + + testLabel.setAttribute('for', 'a'); + testLabel['htmlFor'] !== 'a' ? crel.attrMap['for'] = 'htmlFor':undefined; + + + +*/ + +(function (root, factory) { + if (typeof exports === 'object') { + if (!root.window) { + var jsdom = require('jsdom').jsdom; + root.window = jsdom().parentWindow; + } + module.exports = factory(root.window); + } else if (typeof define === 'function' && define.amd) { + define(factory.bind(null, window)); + } else { + root.crel = factory(root.window); + } +}(this, function (window) { + // based on http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object + var isNode = typeof Node === 'object' + ? function (object) { return object instanceof Node } + : function (object) { + return object + && typeof object === 'object' + && typeof object.nodeType === 'number' + && typeof object.nodeName === 'string'; + }; + + function crel(){ + var document = window.document, + args = arguments, //Note: assigned to a variable to assist compilers. Saves about 40 bytes in closure compiler. Has negligable effect on performance. + element = document.createElement(args[0]), + child, + settings = args[1], + childIndex = 2, + argumentsLength = args.length, + attributeMap = crel.attrMap; + + // shortcut + if(argumentsLength === 1){ + return element; + } + + if(typeof settings !== 'object' || isNode(settings)) { + --childIndex; + settings = null; + } + + // shortcut if there is only one child that is a string + if((argumentsLength - childIndex) === 1 && typeof args[childIndex] === 'string' && element.textContent !== undefined){ + element.textContent = args[childIndex]; + }else{ + for(; childIndex < argumentsLength; ++childIndex){ + child = args[childIndex]; + + if(child == null){ + continue; + } + + if(!isNode(child)){ + child = document.createTextNode(child); + } + + element.appendChild(child); + } + } + + for(var key in settings){ + if(!attributeMap[key]){ + element.setAttribute(key, settings[key]); + }else{ + var attr = crel.attrMap[key]; + if(typeof attr === 'function'){ + attr(element, settings[key]); + }else{ + element.setAttribute(attr, settings[key]); + } + } + } + + return element; + } + + // Used for mapping one kind of attribute to the supported version of that in bad browsers. + // String referenced so that compilers maintain the property name. + crel['attrMap'] = {}; + + // String referenced so that compilers maintain the property name. + crel["isNode"] = isNode; + + return crel; +})); ;/*globals define, module, require, document*/ (function (root, factory) { @@ -5748,10 +5748,10 @@ function kickstartAE() { "\n" + "

\n" + " 1\n" + - " For App Enlight to operate you need to\n" + - " create app profile that allows\n" + + " For App Enlight to operate, you need to\n" + + " create an app profile that allows\n" + " you to\n" + - " obtain API key that one of the clients can use.\n" + + " obtain an API key that one of the clients can use.\n" + "

\n" + "\n" + "
\n" + @@ -5767,7 +5767,7 @@ function kickstartAE() { "\n" + "

\n" + " It can be the same email account you used to register withing App Enlight -\n" + - " although we often recommend using separate errors@... account\n" + + " although we often recommend using a separate errors@... account\n" + " designated for alert notifications.\n" + "

\n" + "\n" + diff --git a/backend/src/appenlight/templates/email_templates/registered.jinja2 b/backend/src/appenlight/templates/email_templates/registered.jinja2 index b4266a2..6a18509 100644 --- a/backend/src/appenlight/templates/email_templates/registered.jinja2 +++ b/backend/src/appenlight/templates/email_templates/registered.jinja2 @@ -13,20 +13,20 @@

{{_('App Enlight quickstart')}}

1 Create application

- For App Enlight to operate you need to - create application profile that allows you to - obtain API key that one of the clients can use. + For App Enlight to operate, you need to + create an application profile that allows you to + obtain an API key that one of the clients can use.

2 Integrate our client

- In order for your application to stream meaningful information you will need to + In order for your application to stream meaningful information, you will need to integrate a compatible client for your language of choice.

-

Head over to developers section for information on currently available - clients that you can plug into your software

+

Head over to the developers section for information on currently available + clients that you can plug into your software

.

In case of any issues or questions you might be having with integration, feel free to contact us: info@appenlight.com

@@ -41,7 +41,7 @@

It can be the same email account you used to register with App Enlight - - although we often recommend using separate errors@... account + although we often recommend using a separate errors@... account designated for alert notifications.

diff --git a/frontend/src/templates/quickstart.html b/frontend/src/templates/quickstart.html index 348b81f..bb8dce6 100644 --- a/frontend/src/templates/quickstart.html +++ b/frontend/src/templates/quickstart.html @@ -2,10 +2,10 @@

1 - For App Enlight to operate you need to - create app profile that allows + For App Enlight to operate, you need to + create an app profile that allows you to - obtain API key that one of the clients can use. + obtain an API key that one of the clients can use.

@@ -21,7 +21,7 @@

It can be the same email account you used to register withing App Enlight - - although we often recommend using separate errors@... account + although we often recommend using a separate errors@... account designated for alert notifications.

@@ -30,10 +30,10 @@

3 - In order for your application to stream meaningful information you will need to + In order for your application to stream meaningful information, you will need to integrate a compatible client for your language of choice.

-

Head over to +

Head over to the developers section for information on currently available clients that you can plug into your software