feature/build-on-drone-ci #2

Merged
manuel merged 10 commits from feature/build-on-drone-ci into develop 2019-05-04 00:25:59 +02:00
32 changed files with 12051 additions and 5523 deletions

14
.drone.yml Normal file
View file

@ -0,0 +1,14 @@
kind: pipeline
name: default
steps:
- name: prepare
image: node:12
commands:
- npm install
- name: build
image: node:12
environment:
NPMPATH: "node_modules/.bin"
commands:
- $NPMPATH/grunt

View file

@ -9,5 +9,7 @@ charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.yml]
indent_size = 2
[*.md]
trim_trailing_whitespace = false

View file

@ -1,75 +0,0 @@
variables:
NPMPATH: "node_modules/.bin"
stages:
- build
- cleanup_build
- deploy
- cleanup
.run_deploy: &run_deploy
script:
- chmod +x ./deploy.sh
- ./deploy.sh
build_job:
stage: build
script:
- npm install
- $NPMPATH/grunt
tags:
- javascript
except:
- tags
artifacts:
paths:
- dist/*.min.*
- info/
- resources/
- index.html
- manifest.appcache
cleanup_build_job:
stage: cleanup_build
script:
- rm -rf node_modules
- rm -rf dist
when: on_failure
develop:
stage: deploy
<<: *run_deploy
environment: develop
except:
- tags
- master
- develop
variables:
ENVIRON: develop
TARGET: $WWW_DEPLOY_ROOT_DEVELOP
staging:
stage: deploy
<<: *run_deploy
environment: staging
only:
- develop
variables:
ENVIRON: staging
TARGET: $WWW_DEPLOY_ROOT_STAGING
production:
stage: deploy
<<: *run_deploy
environment: production
only:
- master
variables:
ENVIRON: production
TARGET: $WWW_DEPLOY_ROOT_PRODUCTION
cleanup_job:
stage: cleanup
script:
- rm -rf node_modules
when: always

View file

@ -26,7 +26,6 @@ module.exports = function (grunt) {
libs: {
src: [
'node_modules/jquery/dist/jquery.js',
'node_modules/jquery-ui/ui/core.js',
'node_modules/jquery-ui/ui/widget.js',
'node_modules/jquery.cookie/jquery.cookie.js'
],

View file

@ -22,10 +22,10 @@ Beim Einbinden muss das attribut `data-class` angegeben werden, welches die CSS-
* Binde nach den CSS-Dateien (wichtig!) folgende Javascript-Dateien im HTML-Dokument ein:
* dist/libs.min.js: Dies enthält die minifizierten Versionen von jQuery, jQuery-UI (mit den Komponenten `code` und `widget`) und jQuery-Cookie.
Alternativ kannst Du auch direkt die benötigten Bibliotheken einbinden:
* jquery (getestet mit Version 2.1.0)
* jquery-ui (getestet mit Version 1.10.4)
* Von jquery-ui werden die Komponenten 'core' und 'widget' benötigt.
* jquery-cookie (getestet mit Version 1.4.0)
* jquery (getestet mit Version 3.4.1)
* jquery-ui (getestet mit Version 1.12.1)
* Von jquery-ui wird die Komponente 'widget' benötigt.
* jquery-cookie (getestet mit Version 1.4.1)
Je nach dem, in welchen Sprachen du die Uhr verwenden willst, noch eine der folgenden Dateien:
* dist/jquery.uhr.complete.min.js: Enthält die Hauptdatei sowie alle unterstützten Sprachdateien
* dist/jquery.uhr.base.min.js: Enthält die Hauptdatei sowie Bärndütsch (de_CH)
@ -149,7 +149,7 @@ Es ist möglich, die Uhr durch den Aufruf mit URL-Parameters zu konfigurieren. D
* on: Die Uhr ist eingeschaltet
* off: Die Uhr ist ausgeschaltet
Eine URL kann also beispielweise so aussehen:
Eine URL kann also beispielsweise so aussehen:
http://example.com/uhr.html#l=fr&t=red&m=seconds&s=on

View file

@ -1 +1 @@
8.0.4-dev.0
9.0.0-dev.0

View file

@ -1,23 +0,0 @@
#!/bin/sh
declare destination
case "${TARGET}" in
"${WWW_DEPLOY_ROOT_DEVELOP}")
destination="${TARGET}/${CI_BUILD_REF_NAME}"
;;
"${WWW_DEPLOY_ROOT_STAGING}"|"${WWW_DEPLOY_ROOT_PRODUCTION}")
destination="${TARGET}"
;;
*)
echo "Invalid TARGET specified. Aborting deployment."
exit 1
;;
esac
rm -rf "${destination}/*"
rm -rf "${destination}/.??*"
mkdir -p "${destination}/dist"
cp -a index.html manifest.appcache info resources "${destination}"
cp -a dist/*.min.* "${destination}/dist"
echo "Deployment successful."

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,6 @@
/*! uhr - v8.0.4-dev.0 - 2016-06-27
/*! uhr - v9.0.0-dev.0 - 2019-05-03
* http://bärneruhr.ch/
* Copyright (c) 2016 Manuel Friedli; Licensed GPL-3.0 */
* Copyright (c) 2019 Manuel Friedli; Licensed GPL-3.0 */
(function($) {
'use strict';
var es_ist = {1: [1, 2, 4, 5, 6]};

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,6 @@
/*! uhr - v8.0.4-dev.0 - 2016-06-27
/*! uhr - v9.0.0-dev.0 - 2019-05-03
* http://bärneruhr.ch/
* Copyright (c) 2016 Manuel Friedli; Licensed GPL-3.0 */
* Copyright (c) 2019 Manuel Friedli; Licensed GPL-3.0 */
(function($) {
'use strict';
var es_ist = {1: [1, 2, 4, 5, 6]};

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

8020
dist/libs.js vendored

File diff suppressed because it is too large Load diff

9
dist/libs.min.js vendored

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
.black .onoffswitch-inner:before,.uhr.black{background-color:#111}.uhr.black .dot:not(.active){border-color:rgba(255,255,255,.1);box-shadow:0 0 .1em rgba(255,255,255,.1)}.uhr.black .letter:not(.active){color:rgba(255,255,255,.1);text-shadow:0 0 .1em rgba(255,255,255,.1)}
.uhr.black{background-color:#111}.black .onoffswitch-inner:before{background-color:#111}.uhr.black .dot:not(.active){border-color:rgba(255,255,255,.1);box-shadow:0 0 .1em rgba(255,255,255,.1)}.uhr.black .letter:not(.active){color:rgba(255,255,255,.1);text-shadow:0 0 .1em rgba(255,255,255,.1)}

View file

@ -1 +1 @@
.blue .onoffswitch-inner:before,.uhr.blue{background-color:#00a}.uhr.blue .dot:not(.active){border-color:rgba(255,255,255,.1);box-shadow:0 0 .1em rgba(255,255,255,.1)}.uhr.blue .letter:not(.active){color:rgba(255,255,255,.1);text-shadow:0 0 .1em rgba(255,255,255,.1)}
.uhr.blue{background-color:#00a}.blue .onoffswitch-inner:before{background-color:#00a}.uhr.blue .dot:not(.active){border-color:rgba(255,255,255,.1);box-shadow:0 0 .1em rgba(255,255,255,.1)}.uhr.blue .letter:not(.active){color:rgba(255,255,255,.1);text-shadow:0 0 .1em rgba(255,255,255,.1)}

View file

@ -1 +1 @@
.green .onoffswitch-inner:before,.uhr.green{background-color:#0c0}.uhr.green .dot:not(.active){border-color:rgba(0,0,0,.1);box-shadow:0 0 .1em rgba(0,0,0,.1)}.uhr.green .letter:not(.active){color:rgba(0,0,0,.1);text-shadow:0 0 .1em rgba(0,0,0,.1)}
.uhr.green{background-color:#0c0}.green .onoffswitch-inner:before{background-color:#0c0}.uhr.green .dot:not(.active){border-color:rgba(0,0,0,.1);box-shadow:0 0 .1em rgba(0,0,0,.1)}.uhr.green .letter:not(.active){color:rgba(0,0,0,.1);text-shadow:0 0 .1em rgba(0,0,0,.1)}

View file

@ -1 +1 @@
.pink .onoffswitch-inner:before,.uhr.pink{background-color:#f0a}.uhr.pink .dot.active{border-color:#fff;box-shadow:0 0 .1em #fff}.uhr.pink .letter.active{color:#fff;text-shadow:0 0 .1em #fff}.uhr.pink .dot:not(.active){border-color:rgba(255,255,255,.1);box-shadow:0 0 .1em rgba(255,255,255,.1)}.uhr.pink .letter:not(.active){color:rgba(255,255,255,.1);text-shadow:0 0 .1em rgba(255,255,255,.1)}
.uhr.pink{background-color:#f0a}.uhr.pink .dot.active{border-color:#fff;box-shadow:0 0 .1em #fff}.uhr.pink .letter.active{color:#fff;text-shadow:0 0 .1em #fff}.pink .onoffswitch-inner:before{background-color:#f0a}.uhr.pink .dot:not(.active){border-color:rgba(255,255,255,.1);box-shadow:0 0 .1em rgba(255,255,255,.1)}.uhr.pink .letter:not(.active){color:rgba(255,255,255,.1);text-shadow:0 0 .1em rgba(255,255,255,.1)}

View file

@ -1 +1 @@
.red .onoffswitch-inner:before,.uhr.red{background-color:#700}.uhr.red .dot:not(.active){border-color:rgba(255,255,255,.1);box-shadow:0 0 .1em rgba(255,255,255,.1)}.uhr.red .letter:not(.active){color:rgba(255,255,255,.1);text-shadow:0 0 .1em rgba(255,255,255,.1)}
.uhr.red{background-color:#700}.red .onoffswitch-inner:before{background-color:#700}.uhr.red .dot:not(.active){border-color:rgba(255,255,255,.1);box-shadow:0 0 .1em rgba(255,255,255,.1)}.uhr.red .letter:not(.active){color:rgba(255,255,255,.1);text-shadow:0 0 .1em rgba(255,255,255,.1)}

View file

@ -1 +1 @@
.uhr.white,.white .onoffswitch-inner:before{background-color:#ccc}.uhr.white .dot.active{border-color:#fff;box-shadow:0 0 .1em #fff}.uhr.white .letter.active{color:#fff;text-shadow:0 0 .1em #fff}.uhr.white .dot:not(.active){border-color:rgba(0,0,0,.1);box-shadow:0 0 .1em rgba(0,0,0,.1)}.uhr.white .letter:not(.active){color:rgba(0,0,0,.1);text-shadow:0 0 .1em rgba(0,0,0,.1)}
.uhr.white{background-color:#ccc}.uhr.white .dot.active{border-color:#fff;box-shadow:0 0 .1em #fff}.uhr.white .letter.active{color:#fff;text-shadow:0 0 .1em #fff}.white .onoffswitch-inner:before{background-color:#ccc}.uhr.white .dot:not(.active){border-color:rgba(0,0,0,.1);box-shadow:0 0 .1em rgba(0,0,0,.1)}.uhr.white .letter:not(.active){color:rgba(0,0,0,.1);text-shadow:0 0 .1em rgba(0,0,0,.1)}

View file

@ -1 +1 @@
.uhr.yellow,.yellow .onoffswitch-inner:before{background-color:#fd0}.uhr.yellow .dot.active{border-color:#fff;box-shadow:0 0 .1em #fff}.uhr.yellow .letter.active{color:#fff;text-shadow:0 0 .1em #fff}.uhr.yellow .dot:not(.active){border-color:rgba(0,0,0,.05);box-shadow:0 0 .1em rgba(0,0,0,.05)}.uhr.yellow .letter:not(.active){color:rgba(0,0,0,.05);text-shadow:0 0 .1em rgba(0,0,0,.05)}
.uhr.yellow{background-color:#fd0}.uhr.yellow .dot.active{border-color:#fff;box-shadow:0 0 .1em #fff}.uhr.yellow .letter.active{color:#fff;text-shadow:0 0 .1em #fff}.yellow .onoffswitch-inner:before{background-color:#fd0}.uhr.yellow .dot:not(.active){border-color:rgba(0,0,0,.05);box-shadow:0 0 .1em rgba(0,0,0,.05)}.uhr.yellow .letter:not(.active){color:rgba(0,0,0,.05);text-shadow:0 0 .1em rgba(0,0,0,.05)}

2
dist/uhr.min.css vendored
View file

@ -1 +1 @@
@font-face{font-family:Uhrenfont;src:url(../resources/uhr.woff) format('woff')}body{font-family:Uhrenfont,sans-serif}.uhr{position:relative;margin:0;transition:background-color .5s}.dot,.uhr .letterarea,.uhr .reflection{position:absolute;display:block}.uhr .reflection{top:0;bottom:0;left:0;right:0;background:radial-gradient(225em 45em at 160% 0,rgba(255,255,255,.4) 0,rgba(255,255,255,.05) 40%,rgba(255,255,255,0) 40%) no-repeat;margin:.15em}.uhr .letterarea{top:12%;bottom:12%;left:12%;right:12%;overflow:hidden;font-size:200%}.dot1,.dot2{top:3.75%}.dot3,.dot4{bottom:3.75%}.dot2,.dot3{right:3.75%}.item{transition:box-shadow .5s,text-shadow .5s,border-color .5s,color .5s}.dot{height:0;width:0;border:.2em solid;border-radius:1em}.dot.active{border-color:#eee;box-shadow:0 0 .2em #eee}.dot1{left:3.75%}.dot4{left:3.75%}.letter{height:10%;width:9.0909%;padding:0;margin:0;display:inline-block;text-align:center;line-height:160%}.letter.active{color:#eee;text-shadow:0 0 .2em #eee}.onoffswitch{position:relative;width:86px;margin:1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.onoffswitch-checkbox{display:none}.onoffswitch-label{display:block;overflow:hidden;cursor:pointer;border:2px solid #999;border-radius:50px}.modeswitch-inner,.onoffswitch-inner{width:200%;margin-left:-100%;-moz-transition:margin .3s ease-in 0s;-webkit-transition:margin .3s ease-in 0s;-o-transition:margin .3s ease-in 0s;transition:margin .3s ease-in 0s}.modeswitch-inner:after,.modeswitch-inner:before,.onoffswitch-inner:after,.onoffswitch-inner:before{float:left;width:50%;height:24px;padding:0;line-height:24px;font-size:18px;font-weight:700;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.onoffswitch-inner:before{content:"EIN";padding-left:12px;color:#eee;transition:background-color .5s}.onoffswitch-inner:after{content:"AUS";padding-right:12px;background-color:#eee;color:#999;text-align:right}.onoffswitch-switch{width:30px;margin:-3px;background:#fff;border:2px solid #999;border-radius:50px;position:absolute;top:0;bottom:0;right:58px;-moz-transition:all .3s ease-in 0s;-webkit-transition:all .3s ease-in 0s;-o-transition:all .3s ease-in 0s;transition:all .3s ease-in 0s}a.uhr-closecontrolpanel,a.uhr-configlink{cursor:pointer;display:inline-block;width:24px;height:24px}.onoffswitch-checkbox:checked+.onoffswitch-label .modeswitch-inner,.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner{margin-left:0}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch{right:0}.modeswitch-inner:before{content:"MIN";padding-left:12px;background-color:#fff;color:#000}.modeswitch-inner:after{content:"SEC";padding-right:12px;background-color:#fff;color:#000;text-align:right}a.uhr-configlink{background:url(../resources/settings.png) no-repeat;margin:2px;vertical-align:top}.uhr-controlpanel{border-radius:.5em;box-shadow:0 0 1em #000;background-color:#fff;display:inline-block;padding:.5em;position:sticky;bottom:0;margin-left:1em}.uhr-controlpanel .content{position:relative}a.uhr-closecontrolpanel{position:absolute;right:0;top:-1em;background:url(../resources/close.png) no-repeat}#disclaimer{font-size:.5em}#disclaimer a{color:#444;text-decoration:underline}
@font-face{font-family:Uhrenfont;src:url(../resources/uhr.woff) format('woff')}body{font-family:Uhrenfont,sans-serif}.uhr{position:relative;margin:0;transition:background-color .5s}.uhr .reflection{position:absolute;top:0;bottom:0;left:0;right:0;background:radial-gradient(225em 45em at 160% 0,rgba(255,255,255,.4) 0,rgba(255,255,255,.05) 40%,rgba(255,255,255,0) 40%) no-repeat scroll;display:block;margin:.15em}.uhr .letterarea{display:block;position:absolute;top:12%;bottom:12%;left:12%;right:12%;overflow:hidden;font-size:200%}.item{transition:box-shadow .5s,text-shadow .5s,border-color .5s,color .5s}.dot{position:absolute;display:block;height:0;width:0;border:.2em solid;border-radius:1em}.dot.active{border-color:#eee;box-shadow:0 0 .2em #eee}.dot1{top:3.75%;left:3.75%}.dot2{top:3.75%;right:3.75%}.dot3{bottom:3.75%;right:3.75%}.dot4{bottom:3.75%;left:3.75%}.letter{height:10%;width:9.0909%;padding:0;margin:0;display:inline-block;text-align:center;line-height:160%}.letter.active{color:#eee;text-shadow:0 0 .2em #eee}.onoffswitch{position:relative;width:86px;margin:1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.onoffswitch-checkbox{display:none}.onoffswitch-label{display:block;overflow:hidden;cursor:pointer;border:2px solid #999;border-radius:50px}.modeswitch-inner,.onoffswitch-inner{width:200%;margin-left:-100%;-moz-transition:margin .3s ease-in 0s;-webkit-transition:margin .3s ease-in 0s;-o-transition:margin .3s ease-in 0s;transition:margin .3s ease-in 0s}.modeswitch-inner:after,.modeswitch-inner:before,.onoffswitch-inner:after,.onoffswitch-inner:before{float:left;width:50%;height:24px;padding:0;line-height:24px;font-size:18px;color:#fff;font-weight:700;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.onoffswitch-inner:before{content:"EIN";padding-left:12px;color:#eee;transition:background-color .5s}.onoffswitch-inner:after{content:"AUS";padding-right:12px;background-color:#eee;color:#999;text-align:right}.onoffswitch-switch{width:30px;margin:-3px;background:#fff;border:2px solid #999;border-radius:50px;position:absolute;top:0;bottom:0;right:58px;-moz-transition:all .3s ease-in 0s;-webkit-transition:all .3s ease-in 0s;-o-transition:all .3s ease-in 0s;transition:all .3s ease-in 0s}.onoffswitch-checkbox:checked+.onoffswitch-label .modeswitch-inner,.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner{margin-left:0}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch{right:0}.modeswitch-inner:before{content:"MIN";padding-left:12px;background-color:#fff;color:#000}.modeswitch-inner:after{content:"SEC";padding-right:12px;background-color:#fff;color:#000;text-align:right}a.uhr-configlink{cursor:pointer;background:url(../resources/settings.png) no-repeat;width:24px;height:24px;display:inline-block;margin:2px;vertical-align:top}.uhr-controlpanel{border-radius:.5em;box-shadow:0 0 1em #000;background-color:#fff;display:inline-block;padding:.5em;position:sticky;bottom:0;margin-left:1em}.uhr-controlpanel .content{position:relative}a.uhr-closecontrolpanel{cursor:pointer;display:inline-block;position:absolute;right:0;top:-1em;width:24px;height:24px;background:url(../resources/close.png) no-repeat}#disclaimer{font-size:.5em}#disclaimer a{color:#444;text-decoration:underline}

View file

@ -1,5 +1,5 @@
CACHE MANIFEST
# Version 8.0.4-dev.0
# Version 9.0.0-dev.0
/
dist/jquery.uhr.base.min.js

5271
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
{
"name": "uhr",
"version": "8.0.4-dev.0",
"version": "9.0.0-dev.0",
"description": "jQuery QLOCKTWO plugin",
"keywords": [
"jquery-plugin",
@ -23,28 +23,28 @@
],
"license": "GPL-3.0",
"dependencies": {
"jquery": "~2.1.3",
"jquery-ui": "github:jquery/jquery-ui#1.11.4",
"jquery.cookie": "~1.4.1"
"jquery": "3.4.1",
"jquery-ui": "1.12.1",
"jquery.cookie": "1.4.1"
},
"devDependencies": {
"grunt": "~0.4.5",
"grunt-cli": "^0.1.13",
"grunt-contrib-clean": "~0.6.0",
"grunt-contrib-concat": "~0.5.0",
"grunt-contrib-connect": "~0.11.0",
"grunt-contrib-cssmin": "^0.14.0",
"grunt-contrib-jshint": "~0.11.0",
"grunt-contrib-qunit": "~0.7.0",
"grunt-contrib-uglify": "~0.9.2",
"grunt-contrib-watch": "~0.6.1",
"grunt-mocha-phantomjs": "^2.0.0",
"grunt-version": "^1.0.0",
"jshint-stylish": "~2.0.1",
"load-grunt-tasks": "~3.3.0",
"phantomjs": "^1.9.18",
"time-grunt": "~1.2.1",
"mocha": "~2.3.3",
"chai": "~3.3.0"
"grunt": "1.0.4",
"grunt-cli": "1.3.2",
"grunt-contrib-clean": "2.0.0",
"grunt-contrib-concat": "1.0.1",
"grunt-contrib-connect": "2.0.0",
"grunt-contrib-cssmin": "3.0.0",
"grunt-contrib-jshint": "2.1.0",
"grunt-contrib-qunit": "3.1.0",
"grunt-contrib-uglify": "4.0.1",
"grunt-contrib-watch": "1.1.0",
"grunt-mocha-phantomjs": "4.0.0",
"grunt-version": "1.3.0",
"jshint-stylish": "2.2.1",
"load-grunt-tasks": "4.0.0",
"phantomjs-prebuilt": "2.1.16",
"time-grunt": "2.0.0",
"mocha": "6.1.4",
"chai": "4.2.0"
}
}

File diff suppressed because it is too large Load diff

View file

@ -8,6 +8,13 @@ suite('Bärneruhr', function () {
elem = $('#u');
});
function cleanupCookies(id) {
$.removeCookie('uhr-language' + id);
$.removeCookie('uhr-mode' + id);
$.removeCookie('uhr-status' + id);
$.removeCookie('uhr-theme' + id);
}
teardown(function () {
var uhr = elem.uhr('instance');
if (uhr !== undefined) {
@ -21,13 +28,6 @@ suite('Bärneruhr', function () {
window.location.hash = '';
});
function cleanupCookies(id) {
$.removeCookie('uhr-language' + id);
$.removeCookie('uhr-mode' + id);
$.removeCookie('uhr-status' + id);
$.removeCookie('uhr-theme' + id);
}
test('create and destroy widget', function () {
var uhr = elem.uhr('instance');
var id;
@ -95,8 +95,10 @@ suite('Bärneruhr', function () {
language: 'klingon'
});
uhr = elem.uhr('instance');
// NB: 'de' is just the first language that is included in the page. that may change!
assert.equal(uhr.options.language, 'de');
// The 'uhr' element must be created, and a fall-back language must have been selected
assert.isTrue(!!uhr);
assert.isTrue(!!uhr.options.language);
assert.notEqual(uhr.options.language, 'klingon');
});
test('unknown theme', function () {