Compare commits

...

91 commits

Author SHA1 Message Date
d82bd08d12 Merge pull request 'feature/3-migrate-from-grunt-to-webpack' (#13) from feature/3-migrate-from-grunt-to-webpack into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #13
2021-02-24 17:01:19 +01:00
5d6f519564 Use newer docker image for build.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2021-02-24 16:56:43 +01:00
2fdbbe888e Delete Gruntfile.js.
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-24 16:51:54 +01:00
a45d25ded6 Reorganize all build related files into a more or less sensible folder structure. 2021-02-24 16:45:25 +01:00
09b6658788 Remove all dependencies on grunt and the like. 2021-02-24 16:28:25 +01:00
3cb1a940f0 Generate the CSS files by rollup as well. Grunt is now obsolete.
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-24 16:19:00 +01:00
41c8f57146 Move all build config javascript files to a dedicated folder. 2021-02-24 14:30:29 +01:00
e06d1d6f73 Simplify all rollup build configs.
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-24 13:45:07 +01:00
621468b27f Build JS assets with rollup instead of grunt.
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-24 13:19:33 +01:00
b6a368040c Don't call grunt directly, thus decoupling it from the build process.
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-24 10:25:08 +01:00
4f82a9175f Merge pull request 'Run npm audit fix' (#11) from feature/3-migrate-from-grunt-to-webpack into develop
Reviewed-on: #11
2021-02-24 09:48:00 +01:00
4979cb2371 Run npm audit fix 2021-02-24 09:39:23 +01:00
079bda7fb0 Merge branch 'feature/build-on-drone-ci' of manuel/uhr into develop
All checks were successful
continuous-integration/drone/push Build is passing
2019-05-04 00:25:58 +02:00
dd8356861f Make the test less strict.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2019-05-04 00:21:38 +02:00
92817becc8 Lift version to 9.0.0-dev.0, since there were several large dependency upgrades
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2019-05-04 00:04:11 +02:00
1655a24aa4 Fix test again (to run on Linux, screw Windows) and re-add all files in dist/.
Some checks failed
continuous-integration/drone/push Build is failing
2019-05-03 23:54:30 +02:00
3355ee5cf5 Various clean ups
All checks were successful
continuous-integration/drone/push Build is passing
2019-05-03 23:52:23 +02:00
40d762f90a Add rebuilt file
All checks were successful
continuous-integration/drone/push Build is passing
2019-05-03 23:44:03 +02:00
864f0052b4 Fix test 2019-05-03 23:43:51 +02:00
1583f73220 Don't include deprecated jquery-ui.core.js, which breaks everything. 2019-05-03 23:43:10 +02:00
5a3e672b9c Fix various linting errors 2019-05-03 22:27:16 +02:00
82f867a8ec Update all dependencies to their latest versions
Some checks failed
continuous-integration/drone/push Build is failing
2019-05-03 19:01:49 +02:00
17fd6f70b8 Add .drone.yml for continuous integration on Drone CI.
All checks were successful
continuous-integration/drone/push Build is passing
2019-05-03 18:48:36 +02:00
d7581628af Fix Readme
Gitea renders differently. Need to fix.
2018-06-22 12:15:54 +02:00
a482920f44 Merge branch 'feature/remove-bower' into 'develop'
Feature/remove bower



See merge request !49
2016-06-27 20:49:58 +02:00
9f63969eff revert tests to previous state 2016-06-27 20:44:55 +02:00
fc8dc28fb7 final clean up 2016-06-27 20:34:43 +02:00
bb0dab5434 the build runs! 2016-06-27 20:26:20 +02:00
c5bc72c0ad update .gitlab-ci.yml 2016-06-27 19:49:06 +02:00
909e263d41 moved stuff from bower to npm, adapted gruntfile. tests fail for now. 2016-06-27 18:07:24 +02:00
852ff910f0 update version to next dev (8.0.4-dev.0) 2016-06-27 01:49:37 +02:00
61d180fcfd release version 8.0.3, as 8.0.2 is utterly unusable. sorry. 2016-06-27 01:48:21 +02:00
eec51682ac Merge branch 'master' into develop
Conflicts:
	dist/libs.js
	dist/libs.min.js
2016-06-27 01:45:28 +02:00
cf27fa9d04 release version 8.0.2 2016-06-27 01:42:40 +02:00
57aba62acf Merge branch 'feature/set-up-environments' into 'develop'
Feature/set up environments

enable continuous delivery!

See merge request !48
2016-06-27 01:27:26 +02:00
cdb30e405f make sure we're using a javascript-enabled runner for the builds 2016-06-27 01:19:34 +02:00
1c2015b41b obviously, we don't want to print the destination path in the build
output
2016-06-27 01:13:09 +02:00
7d774e6f6a also relete hidden files and directories 2016-06-27 01:12:12 +02:00
f6a24858d0 making progress: the deploy script seems somewhat useful now. 2016-06-27 01:10:08 +02:00
1163a6e357 perhaps use switch-statement? 2016-06-27 00:58:36 +02:00
36a94a07a7 some testing 2016-06-27 00:54:38 +02:00
9cb3b60335 ... and do it properly 2016-06-27 00:49:00 +02:00
c218052556 try to simplify stuff 2016-06-27 00:47:59 +02:00
c7dc93e092 fixed CD. 2016-06-27 00:28:31 +02:00
65c113913f first attempt at CD! 2016-06-27 00:23:08 +02:00
7448563449 use job template to prevent copy&pasting 2016-06-27 00:11:18 +02:00
491a130991 fixed path to deploy.sh (hopefully) 2016-06-27 00:03:40 +02:00
9a2c22ec64 added new environment for deploying branch builds 2016-06-27 00:00:20 +02:00
12838e31ee only include minified files in artifact 2016-06-26 23:56:15 +02:00
c942c42bf6 reverted ALL unintended changes now 2016-06-26 23:50:54 +02:00
5206457484 Revert "even the tests are linted!"
This reverts commit c666ee8022.
2016-06-26 23:46:44 +02:00
797088c988 Revert "... and more linting"
This reverts commit 6f7a77e355.
2016-06-26 23:46:33 +02:00
49b4fc4dfe Revert "get rid of more linting errors"
This reverts commit 0035264f27.
2016-06-26 23:46:20 +02:00
9e4a00e4bc Revert "get rid of linting errors, hopefully"
This reverts commit 0b26225c87.
2016-06-26 23:46:02 +02:00
bc835598a4 these files were committes accidentally 2016-06-26 23:41:41 +02:00
f810da8f0e force-removing the directories might prevent the cleanup builds from
failing all the time.
2016-06-26 23:36:56 +02:00
c666ee8022 even the tests are linted! 2016-06-26 23:35:04 +02:00
6f7a77e355 ... and more linting 2016-06-26 23:29:50 +02:00
0035264f27 get rid of more linting errors 2016-06-26 23:26:45 +02:00
0b26225c87 get rid of linting errors, hopefully 2016-06-26 23:22:05 +02:00
63cbc1da3c define cleanup jobs 2016-06-26 23:02:18 +02:00
a64b1d02e7 clean up after we're done 2016-06-26 22:53:54 +02:00
b919bc2243 perhaps a new variable fixes it 2016-06-26 22:51:03 +02:00
574d3ad271 tried to fix setting of PATH 2016-06-26 22:44:26 +02:00
306b54c3e9 try and use locally installed node packages of bower and grunt 2016-06-26 22:42:49 +02:00
dc93de27e5 fixed YAML, again 2016-06-26 22:28:07 +02:00
3e2a37f3e7 fixed YAML 2016-06-26 22:22:09 +02:00
2394301b10 first attempt at creating environments and some sophisticated CI stuff. 2016-06-26 22:20:30 +02:00
b57ee1534a Merge branch '29-typo-in-readme-md' into 'develop'
fixed typo

Closes #29

See merge request !47
2016-05-28 21:33:50 +02:00
6075d74022 fixed typo 2016-05-28 21:24:30 +02:00
a3cbfe8de5 Merge branch 'feature/update-markdown' into 'develop'
updated README.md to use syntax highlighting in the markdown



See merge request !46
2016-05-27 17:52:38 +02:00
4ff55d967e updated README.md to use syntax highlighting in the markdown 2016-05-17 22:16:39 +02:00
a261d807cc Merge branch 'bugfix/build-failure' into 'develop'
Bugfix/build failure

Fixed the build failure. Lifted all dependencies to their latest versions.

See merge request !45
2015-10-07 19:50:35 +02:00
2daf130c68 updated all dependencies to the latest available versions and re-generated some files in dist/ 2015-10-07 19:43:41 +02:00
04afcad428 okay, so deleting these dirs is not required 2015-10-07 19:16:03 +02:00
3b2fcbe16e tried to fix .gitlab-ci.yml 2015-10-07 19:14:09 +02:00
fcf16cc80e renamed COPYING to LICENSE 2015-10-07 19:00:37 +02:00
2bc132b76b incremented version to next dev: 8.0.2-dev.0 2015-07-15 20:02:05 +02:00
f07ccb9918 updated version to next release, 8.0.1 2015-07-15 17:51:13 +02:00
5db6f042cf Merge branch 'feature/language-pt' into 'develop'
Feature/language pt

See merge request !44
2015-07-15 17:47:54 +02:00
b98913ccf8 added dist-files 2015-07-15 17:43:35 +02:00
5944c3d487 added "fast forward" test page and added license header to the existing
test file
2015-07-15 17:36:17 +02:00
250a5beb73 Merge branch 'develop' into feature/language-pt 2015-07-14 00:53:31 +02:00
672c453b90 added dist-files for portuguese 2015-07-14 00:39:34 +02:00
7c227ef572 corrected language string 2015-07-14 00:39:08 +02:00
2ab2e36349 added dist-files for portuguese language 2015-07-14 00:38:07 +02:00
2f57cb4054 Merge branch 'feature/gitlab-ci-yml' into 'develop'
added .gitlab-ci.yml build descriptor

See merge request !43
2015-07-14 00:09:47 +02:00
9ead720de6 added .gitlab-ci.yml build descriptor 2015-07-14 00:06:29 +02:00
e19e11e4d6 added portuguese translation 2015-07-13 23:53:44 +02:00
6e7e5afc55 Merge branch 'bugfix/issue-28-fix-readme' into 'develop'
fixed paragraph 6 in the README.md. this fixes #28

See merge request !42
2015-06-17 00:11:19 +02:00
11495c1cca fixed paragraph 6 in the README.md. this fixes #28 2015-06-17 00:05:30 +02:00
63 changed files with 12487 additions and 6108 deletions

View file

@ -1,3 +0,0 @@
{
"directory": "bower_components"
}

13
.drone.yml Normal file
View file

@ -0,0 +1,13 @@
kind: pipeline
type: docker
name: default
steps:
- name: prepare
image: node:15-alpine
commands:
- npm install
- name: build
image: node:15-alpine
commands:
- npm run build

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,181 +0,0 @@
module.exports = function (grunt) {
'use strict';
// Load all grunt tasks
require('load-grunt-tasks')(grunt);
// Show elapsed time at the end
require('time-grunt')(grunt);
// Project configuration.
grunt.initConfig({
// Metadata.
pkg: grunt.file.readJSON('package.json'),
banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
'<%= pkg.homepage ? "* " + pkg.homepage + "\\n" : "" %>' +
'* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
' Licensed <%= pkg.licenses[0].type %> */\n',
// Task configuration.
clean: {
files: ['dist']
},
concat: {
options: {
banner: '<%= banner %>',
stripBanners: true
},
libs: {
src: [
'bower_components/jquery/dist/jquery.js',
'bower_components/jquery-ui/ui/core.js',
'bower_components/jquery-ui/ui/widget.js',
'bower_components/jquery-cookie/jquery.cookie.js'
],
dest: 'dist/libs.js'
},
dist: {
src: ['src/uhr.js', 'src/uhr-*.js'],
dest: 'dist/jquery.<%= pkg.name %>.complete.js'
},
main: {
src: ['src/uhr.js'],
dest: 'dist/jquery.<%= pkg.name %>.main.js'
},
base: {
src: ['src/uhr.js', 'src/uhr-de_CH.js'],
dest: 'dist/jquery.<%= pkg.name %>.base.js'
},
baselangs: {
src: ['src/uhr-*.js'],
exclude: ['src/uhr-de_CH.js'],
dest: 'dist/jquery.<%= pkg.name %>.baselangs.js'
},
langs: {
src: ['src/uhr-*.js'],
dest: 'dist/jquery.<%= pkg.name %>.langs.js'
}
},
uglify: {
options: {
banner: '<%= banner %>'
},
libs: {
src: '<%= concat.libs.dest %>',
dest: 'dist/libs.min.js'
},
dist: {
src: '<%= concat.dist.dest %>',
dest: 'dist/jquery.<%= pkg.name %>.complete.min.js'
},
main: {
src: '<%= concat.main.dest %>',
dest: 'dist/jquery.<%= pkg.name %>.main.min.js'
},
base: {
src: '<%= concat.base.dest %>',
dest: 'dist/jquery.<%= pkg.name %>.base.min.js'
},
baselangs: {
src: '<%= concat.baselangs.dest %>',
dest: 'dist/jquery.<%= pkg.name %>.baselangs.min.js'
},
langs: {
src: '<%= concat.langs.dest %>',
dest: 'dist/jquery.<%= pkg.name %>.langs.min.js'
}
},
cssmin: {
allcss: {
files: [{
expand: true,
cwd: 'css',
src: ['*.css'],
dest: 'dist',
ext: '.min.css'
}]
}
},
mocha_phantomjs: {
all: {
options: {
urls: ['http://localhost:9000/test/test.html']
}
}
},
jshint: {
options: {
reporter: require('jshint-stylish')
},
gruntfile: {
options: {
jshintrc: '.jshintrc'
},
src: 'Gruntfile.js'
},
src: {
options: {
jshintrc: '.jshintrc'
},
src: ['src/**/*.js']
},
test: {
options: {
jshintrc: 'test/.jshintrc'
},
src: ['test/*.js']
}
},
watch: {
gruntfile: {
files: '<%= jshint.gruntfile.src %>',
tasks: ['jshint:gruntfile']
},
src: {
files: '<%= jshint.src.src %>',
tasks: ['jshint:src', 'mocha_phantomjs']
},
test: {
files: ['test/test.html', '<%= jshint.test.src %>'],
tasks: ['jshint:test', 'mocha_phantomjs']
}
},
connect: {
server: {
options: {
hostname: '*',
port: 9000
}
}
},
version: {
VERSION: {
options: {
prefix: ''
},
src: ['VERSION']
},
bower: {
src: ['bower.json']
},
manifest: {
options: {
prefix: 'Version\\s+'
},
src: ['manifest.appcache']
}
}
});
grunt.loadNpmTasks('grunt-mocha-phantomjs');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-version');
// Default task.
grunt.registerTask('default', ['jshint', 'clean', 'version', 'concat', 'connect', 'mocha_phantomjs', 'uglify', 'cssmin']);
grunt.registerTask('buildonly', ['clean', 'version', 'concat', 'uglify', 'cssmin']);
grunt.registerTask('server', function () {
grunt.log.warn('The `server` task has been deprecated. Use `grunt serve` to start a server.');
grunt.task.run(['serve']);
});
grunt.registerTask('serve', ['connect', 'watch']);
grunt.registerTask('test', ['jshint', 'connect', 'mocha_phantomjs']);
};

View file

153
README.md
View file

@ -1,10 +1,7 @@
Bärneruhr
=========
# Bärneruhr
Du willst Bärneruhr auf deiner Website verwenden? Dank des jQuery-Plugins geht das so einfach, dass es sogar deine Grossmutter tun könnte!
1. Benötigte Dateien einbinden
------------------------------
## 1. Benötigte Dateien einbinden
* Binde folgende CSS-Datei im HTML-Dokument ein:
* dist/uhr.min.css
* Binde zusätzlich mindestens eine der folgenden CSS-Dateien im HTML ein, je nach dem, welche Farben deine Uhr unterstützen soll:
@ -18,17 +15,19 @@ Du willst Bärneruhr auf deiner Website verwenden? Dank des jQuery-Plugins geht
Beim Einbinden muss das attribut `data-class` angegeben werden, welches die CSS-Klasse des Themes definiert. Optional kann mit `data-name` ein im Dropdown anzuzeigender Name angegeben werden. Beispiel:
<link rel="stylesheet" type="text/css" href="dist/uhr-black.min.css" data-class="black" data-name="Schwarz" />
```html
<link rel="stylesheet" type="text/css" href="dist/uhr-black.min.css" data-class="black" data-name="Schwarz" />
```
* 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ützden Sprachdateien
* 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)
* dist/jquery.uhr.main.min.js: Enthält ausschliesslich die Hauptdatei. Zusätzlich muss noch mindestens eine Sprachdatei eingebunden werden (siehe unten).
@ -44,24 +43,27 @@ Je nach dem, in welchen Sprachen du die Uhr verwenden willst, noch eine der folg
* src/uhr-fr.js (Französisch)
* src/uhr-it.js (Italienisch)
* src/uhr-nl.js (Niederländisch)
* src/uhr-pt.js (Portugiesisch)
`src/uhr-de_CH_genau.js` ist eine Variante von Bärndütsch, bei der zur vollen Stunde zusätzlich das Wort "genau" angezeigt wird (also z.B. um 15:00 Uhr "ES ISCH GENAU DRÜ" anstelle von "ES ISCH DRÜ").
2. Uhr-Element im HTML-Dokument einfügen
----------------------------------------
## 2. Uhr-Element im HTML-Dokument einfügen
Erstelle ein leeres `<div>` mit einer ID:
<div id="uhrcontainer"></div>
```html
<div id="uhrcontainer"></div>
```
3. Uhr per Javascript konfigurieren
-----------------------------------
## 3. Uhr per Javascript konfigurieren
Initialisiere die Uhr mit einer einzigen Zeile Javascript:
jQuery('#uhrcontainer').uhr();
```javascript
jQuery('#uhrcontainer').uhr();
```
Damit wird eine Uhr in der Standardkonfiguration erzeugt. Das heisst:
* Breite ist 100% des Eltenelements
* Breite ist 100% des Elternelements
* Farbe ist diejenige des ersten eingebundenen Theme-Stylesheets.
* Sprache ist Bärndütsch
* Die Uhr ist eingeschaltet
@ -75,71 +77,79 @@ Wie du diese Optionen bereits in der Konfiguration ändern kannst, verrät der n
Es kann natürlich auch eine Collection von Elementen übergeben werden. Mit
jQuery('div').uhr();
```javascript
jQuery('div').uhr();
```
würde also jedes `<div>`-Element der Seite in eine Uhr umgewandelt.
4. Weitere Optionen
-------------------
## 4. Weitere Optionen
Der uhr()-Methode kann ein Options-Objekt mitgegeben werden:
jQuery('#uhrcontainer').uhr({
status: 'on', // 'on' (default) oder 'off'
theme: 'black', // 'black' (default), 'white', 'red', 'yellow', 'green', 'blue' oder 'pink' (je nach eingebundenen Theme-Stylesheets)
language: 'de_CH', // 'de_CH' (default), 'de_CH_genau', 'de', 'dk', 'en', 'es', 'fr', 'it' oder 'nl' (je nach eingebundenen Sprachdateien)
mode: 'normal', // 'normal' (default): Die Uhr zeigt die aktuelle Zeit (Stunden und Minuten) in Worten an
// 'seconds': Die Uhr zeigt die aktuellen Sekunden als grosse Ziffern an
width: '100%', // eine CSS-Grössenangabe (default: 100%)
force: false, // false (default): Falls ein Cookie im Browser besteht, werden dessen Konfigurationswerte übernommen;
// true: immer die angegebene Konfiguration verwenden
controls: true, // true (default): Die Bedienelemente (Ein-/Ausschalter, Theme-, Zeitmodus- und Sprachwähler) werden angezeigt
// false: Die Bedienelemente werden nicht angezeigt
autoresize: true, // true (default): Die Uhr passt ihre Grösse dynamisch an
// false: Die Uhr behält ihre anfängliche Grösse
cookiePath: undefined // Gibt den Cookie-Pfad an. Ist normalerweise nicht definiert; in diesem Fall wird der Pfad der Datei benutzt, welche die Uhr anzeigt. Kann für spezielle Zwecke aber explizit gesetzt werden.
});
```javascript
jQuery('#uhrcontainer').uhr({
status: 'on', // 'on' (default) oder 'off'
theme: 'black', // 'black' (default), 'white', 'red', 'yellow', 'green', 'blue' oder 'pink' (je nach eingebundenen Theme-Stylesheets)
language: 'de_CH', // 'de_CH' (default), 'de_CH_genau', 'de', 'dk', 'en', 'es', 'fr', 'it', 'nl' oder 'pt' (je nach eingebundenen Sprachdateien)
mode: 'normal', // 'normal' (default): Die Uhr zeigt die aktuelle Zeit (Stunden und Minuten) in Worten an
// 'seconds': Die Uhr zeigt die aktuellen Sekunden als grosse Ziffern an
width: '100%', // Eine CSS-Grössenangabe (default: 100%)
force: false, // false (default): Falls ein Cookie im Browser besteht, werden dessen Konfigurationswerte übernommen;
// true: immer die angegebene Konfiguration verwenden
controls: true, // true (default): Die Bedienelemente (Ein-/Ausschalter, Theme-, Zeitmodus- und Sprachwähler) werden angezeigt
// false: Die Bedienelemente werden nicht angezeigt
autoresize: true, // true (default): Die Uhr passt ihre Grösse dynamisch an
// false: Die Uhr behält ihre anfängliche Grösse
cookiePath: undefined // Gibt den Cookie-Pfad an. Ist normalerweise nicht definiert; in diesem Fall wird der Pfad der Datei benutzt, welche die Uhr anzeigt. Kann für spezielle Zwecke aber explizit gesetzt werden.
});
```
5. Sonderfunktionen
-------------------
## 5. Sonderfunktionen
Es gibt noch einen zusätzlichen Konfigurationsparameter. Mittels
{
time: new Date()
}
```javascript
{
time: new Date()
}
```
kann die Uhr auf eine fixe Zeit eingestellt werden. Sie bleibt dann statisch und aktualisiert sich nicht, sondern zeigt immer diese Zeit an. Beim Klick auf den On/Off-Schalter oder beim Wechsel der Sprache wird dies allerdings rückgängig gemacht und die Uhr nimmt das Standardverhalten mit der aktuellen Systemzeit an.
Die Zeit kann auch über einen Methodenaufruf dynamisch eingestellt werden:
jQuery('#uhrcontainer').uhr("time", new Date());
```javascript
jQuery('#uhrcontainer').uhr("time", new Date());
```
6. Konfiguration über die URL
-----------------------------
Es ist möglich, die Uhr durch den Aufruf mit URL-Parameters zu konfigurieren. Dies übersteuert auch allfällig bereits in einem Cookie gespeicherte Einstellungen. Die Einstellungen werden für alle Uhr-Elemente übernommen, welche sich auf der Seite befinden. Folgende Parameter werden unterstützt, wenn du sie mit einem Hash (`#`) an die URL anhängst:
* `l` oder `language`: Bestimmt die Sprache. Der Wert ist der Sprach-Code (abhängig von den eingebundenen Sprachdateien):
* de_CH: Bärndütsch
* de_CH_genau: Bärndütsch (mit "genau")
* de: Deutsch
* dk: Dänisch
* en: Englisch
* es: Spanisch
* fr: Französisch
* it: Italienisch
* nl: Niederländisch
* `t` oder `theme`: Bestimmt die Farbe der Uhr. Der Wert ist der Farb-Code (abhängig von den eingebundenen CSS-Dateien):
* black: Schwarz
* white: Weiss
* red: Rot
* yellow: Gelb
* green: Grün
* blue: Blau
* pink: Pink
* `m` oder `mode`: Bestimmt den Modus der Uhr. Mögliche Werte sind:
* normal: Die Uhr zeit Stunde und Minute an
* seconds: Die Uhr zeigt die Sekunden an
* `s` oder `status`: Bestimmt den anfänglichen Zustand der Uhr.
* on: Die Uhr ist eingeschaltet
* off: Die Uhr ist ausgeschaltet
Eine URL kann also beispielweise so aussehen:
## 6. Konfiguration über die URL
Es ist möglich, die Uhr durch den Aufruf mit URL-Parametern zu konfigurieren. Dies übersteuert auch allfällig bereits in einem Cookie gespeicherte Einstellungen. Die Einstellungen werden für alle Uhr-Elemente übernommen, welche sich auf der Seite befinden. Folgende Parameter werden unterstützt, wenn du sie mit einem Hash (`#`) an die URL anhängst:
* `l` oder `language`: Bestimmt die Sprache. Der Wert ist der Sprach-Code (abhängig von den eingebundenen Sprachdateien):
* de_CH: Bärndütsch
* de_CH_genau: Bärndütsch (mit "genau")
* de: Deutsch
* dk: Dänisch
* en: Englisch
* es: Spanisch
* fr: Französisch
* it: Italienisch
* nl: Niederländisch
* pt: Portugiesisch
* `t` oder `theme`: Bestimmt die Farbe der Uhr. Der Wert ist der Farb-Code (abhängig von den eingebundenen CSS-Dateien):
* black: Schwarz
* white: Weiss
* red: Rot
* yellow: Gelb
* green: Grün
* blue: Blau
* pink: Pink
* `m` oder `mode`: Bestimmt den Modus der Uhr. Mögliche Werte sind:
* normal: Die Uhr zeit Stunde und Minute an
* seconds: Die Uhr zeigt die Sekunden an
* `s` oder `status`: Bestimmt den anfänglichen Zustand der Uhr.
* on: Die Uhr ist eingeschaltet
* off: Die Uhr ist ausgeschaltet
Eine URL kann also beispielsweise so aussehen:
http://example.com/uhr.html#l=fr&t=red&m=seconds&s=on
@ -147,8 +157,7 @@ Dies zeigt dann die Uhr auf Französisch in Rot, im Sekunden-Modus und eingescha
Viel Spass!
A. Lizenzbestimmungen
=====================
# A. Lizenzbestimmungen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or

View file

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

View file

@ -1,13 +0,0 @@
{
"name": "uhr",
"version": "8.0.1-dev.0",
"dependencies": {
"jquery": "~2.1.3",
"jquery-ui": "~1.11.2",
"jquery-cookie": "~1.4.1"
},
"devDependencies": {
"mocha": "~2.1.0",
"chai": "~1.10.0"
}
}

View file

@ -0,0 +1 @@
import '../../css/uhr.css';

View file

@ -0,0 +1 @@
import '../../css/uhr-black.css';

View file

@ -0,0 +1 @@
import '../../css/uhr-blue.css';

View file

@ -0,0 +1 @@
import '../../css/uhr-green.css';

View file

@ -0,0 +1 @@
import '../../css/uhr-pink.css';

View file

@ -0,0 +1 @@
import '../../css/uhr-red.css';

View file

@ -0,0 +1 @@
import '../../css/uhr-white.css';

View file

@ -0,0 +1 @@
import '../../css/uhr-yellow.css';

View file

@ -0,0 +1 @@
import '../../src/uhr';

View file

@ -0,0 +1,2 @@
import '../../src/uhr';
import '../../src/uhr-de_CH';

View file

@ -0,0 +1,9 @@
import '../../src/uhr-de';
import '../../src/uhr-de_CH_genau';
import '../../src/uhr-dk';
import '../../src/uhr-en';
import '../../src/uhr-es';
import '../../src/uhr-fr';
import '../../src/uhr-it';
import '../../src/uhr-nl';
import '../../src/uhr-pt';

View file

@ -0,0 +1,11 @@
import '../../src/uhr';
import '../../src/uhr-de';
import '../../src/uhr-de_CH';
import '../../src/uhr-de_CH_genau';
import '../../src/uhr-dk';
import '../../src/uhr-en';
import '../../src/uhr-es';
import '../../src/uhr-fr';
import '../../src/uhr-it';
import '../../src/uhr-nl';
import '../../src/uhr-pt';

View file

@ -0,0 +1,10 @@
import '../../src/uhr-de';
import '../../src/uhr-de_CH';
import '../../src/uhr-de_CH_genau';
import '../../src/uhr-dk';
import '../../src/uhr-en';
import '../../src/uhr-es';
import '../../src/uhr-fr';
import '../../src/uhr-it';
import '../../src/uhr-nl';
import '../../src/uhr-pt';

View file

@ -0,0 +1,3 @@
import 'jquery';
import 'jquery-ui';
import 'jquery.cookie';

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from "postcss";
import cssnano from "cssnano";
export default {
input: 'build-config/entrypoints/css-app.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr.min.css'
})]
}

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from 'postcss';
import cssnano from 'cssnano';
export default {
input: 'build-config/entrypoints/css-black.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr-black.min.css'
})]
}

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from 'postcss';
import cssnano from 'cssnano';
export default {
input: 'build-config/entrypoints/css-blue.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr-blue.min.css'
})]
}

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from 'postcss';
import cssnano from 'cssnano';
export default {
input: 'build-config/entrypoints/css-green.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr-green.min.css'
})]
}

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from 'postcss';
import cssnano from 'cssnano';
export default {
input: 'build-config/entrypoints/css-pink.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr-pink.min.css'
})]
}

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from 'postcss';
import cssnano from 'cssnano';
export default {
input: 'build-config/entrypoints/css-red.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr-red.min.css'
})]
}

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from 'postcss';
import cssnano from 'cssnano';
export default {
input: 'build-config/entrypoints/css-white.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr-white.min.css'
})]
}

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from 'postcss';
import cssnano from 'cssnano';
export default {
input: 'build-config/entrypoints/css-yellow.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr-yellow.min.css'
})]
}

View file

@ -0,0 +1,23 @@
import {terser} from 'rollup-plugin-terser';
export default {
external: [
'jquery',
'jquery-ui',
'jquery.cookie'
],
input: 'build-config/entrypoints/js-app.js',
output: [
{
dir: 'dist',
entryFileNames: 'jquery.uhr.main.js',
format: 'cjs'
},
{
dir: 'dist',
entryFileNames: 'jquery.uhr.main.min.js',
format: 'cjs',
plugins: [terser()]
}
]
}

View file

@ -0,0 +1,23 @@
import {terser} from 'rollup-plugin-terser';
export default {
external: [
'jquery',
'jquery-ui',
'jquery.cookie'
],
input: 'build-config/entrypoints/js-base.js',
output: [
{
dir: 'dist',
entryFileNames: 'jquery.uhr.base.js',
format: 'cjs'
},
{
dir: 'dist',
entryFileNames: 'jquery.uhr.base.min.js',
format: 'cjs',
plugins: [terser()]
}
]
}

View file

@ -0,0 +1,23 @@
import {terser} from 'rollup-plugin-terser';
export default {
external: [
'jquery',
'jquery-ui',
'jquery.cookie'
],
input: 'build-config/entrypoints/js-baselangs.js',
output: [
{
dir: 'dist',
entryFileNames: 'jquery.uhr.baselangs.js',
format: 'cjs'
},
{
dir: 'dist',
entryFileNames: 'jquery.uhr.baselangs.min.js',
format: 'cjs',
plugins: [terser()]
}
]
}

View file

@ -0,0 +1,23 @@
import {terser} from 'rollup-plugin-terser';
export default {
external: [
'jquery',
'jquery-ui',
'jquery.cookie'
],
input: 'build-config/entrypoints/js-complete.js',
output: [
{
dir: 'dist',
entryFileNames: 'jquery.uhr.complete.js',
format: 'cjs'
},
{
dir: 'dist',
entryFileNames: 'jquery.uhr.complete.min.js',
format: 'cjs',
plugins: [terser()]
}
]
}

View file

@ -0,0 +1,23 @@
import {terser} from 'rollup-plugin-terser';
export default {
external: [
'jquery',
'jquery-ui',
'jquery.cookie'
],
input: 'build-config/entrypoints/js-langs.js',
output: [
{
dir: 'dist',
entryFileNames: 'jquery.uhr.langs.js',
format: 'cjs'
},
{
dir: 'dist',
entryFileNames: 'jquery.uhr.langs.min.js',
format: 'cjs',
plugins: [terser()]
}
]
}

View file

@ -0,0 +1,21 @@
import {terser} from 'rollup-plugin-terser';
import {nodeResolve} from '@rollup/plugin-node-resolve';
export default {
input: 'build-config/entrypoints/js-libs.js',
output: [
{
dir: 'dist',
entryFileNames: 'libs.js',
format: 'cjs'
},
{
dir: 'dist',
entryFileNames: 'libs.min.js',
format: 'cjs',
plugins: [terser()]
}
],
context: 'this',
plugins: [nodeResolve()]
}

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -1,8 +1,20 @@
/*! uhr - v8.0.1-dev.0 - 2015-01-19
* http://bärneruhr.ch/
* Copyright (c) 2015 Manuel Friedli; Licensed GPLv3 */
'use strict';
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var es_ist = {1: [1, 2, 4, 5, 6]};
var uhr = {10: [9, 10, 11]};
var nach = {4: [8, 9, 10, 11]};
@ -61,91 +73,22 @@
};
$.fritteli.uhr.register('de', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
// hilfsvariablen
var es_isch = {1: [1, 2, 4, 5, 6, 7]};
var ab = {4: [1, 2]};
var vor = {3: [9, 10, 11]};
var haubi = {4: [4, 5, 6, 7, 8]};
var fuef = {1: [9, 10, 11]};
var zae = {2: [9, 10, 11]};
var viertu = {2: [1, 2, 3, 4, 5, 6]};
var zwaenzg = {3: [1, 2, 3, 4, 5, 6]};
var layout = {
// version: zur Zeit immer 2 (Pflichtattribut)
"version": 2,
// Sprechender Name der Sprache
"language": 'Bärndütsch',
// Buchstabenfeld als Array von Strings.
"letters": [
'ESKISCHAFÜF',
'VIERTUBFZÄÄ',
'ZWÄNZGSIVOR',
'ABOHAUBIEGE',
'EISZWÖISDRÜ',
'VIERIFÜFIQT',
'SÄCHSISIBNI',
'ACHTINÜNIEL',
'ZÄNIERBEUFI',
'ZWÖUFINAUHR'
],
// Permanent aktive Buchstaben. <array-or-object>, vgl. ausführliche Beschreibung bei "minutes".
"permanent": es_isch,
/*
* Minuten: Objekt im folgenden Format:
* {
* <minuten>: <array-or-object>,
* ...
* }
* <minuten>: String von Komma-separierten Minutenwerten, zu welchem die in <array-or-object> angegebenen Buchstaben aktiv sein sollen
* <array-or-object> : [ <object>, ...] | <object>
* <object>: { <zeile> : [ <spalte>, ... ] }
* <zeile>: Die Zeile, in welcher die Buchstaben liegen; von oben gezählt, oben ist 1.
* <spalte>: Die Spalte, in der ein einzelner Buchstabe liegt; von links gezählt, links ist 1.
* Beispiel:
* "minutes": {
* "0,1": {1: [6, 7, 9]},
* "5": [ {3: [1, 2]}, {4: [10, 11]} ]
* }
* Erklärung:
* Bei Minuten 0 und 1 sind die Buchstaben 6, 7 und 9 der ersten Zeile aktiv.
* Bei Minute 5 sind die Buchstaben 1 und 2 der Zeile 3 sowie die Buchstaben 10 und 11 der Zeile 4 aktiv.
*/
"minutes": {
"5,6,7,8,9": [fuef, ab],
"10,11,12,13,14": [zae, ab],
"15,16,17,18,19": [viertu, ab],
"20,21,22,23,24": [zwaenzg, ab],
"25,26,27,28,29": [fuef, vor, haubi],
"30,31,32,33,34": haubi,
"35,36,37,38,39": [fuef, ab, haubi],
"40,41,42,43,44": [zwaenzg, vor],
"45,46,47,48,49": [viertu, vor],
"50,51,52,53,54": [zae, vor],
"55,56,57,58,59": [fuef, vor]
},
// Die Stunden; gleiches Format wie bei den Minuten
"hours": {
"0,12": {10: [1, 2, 3, 4, 5, 6]},
"1,13": {5: [1, 2, 3]},
"2,14": {5: [4, 5, 6, 7]},
"3,15": {5: [9, 10, 11]},
"4,16": {6: [1, 2, 3, 4, 5]},
"5,17": {6: [6, 7, 8, 9]},
"6,18": {7: [1, 2, 3, 4, 5, 6]},
"7,19": {7: [7, 8, 9, 10, 11]},
"8,20": {8: [1, 2, 3, 4, 5]},
"9,21": {8: [6, 7, 8, 9]},
"10,22": {9: [1, 2, 3, 4]},
"11,23": {9: [8, 9, 10, 11]}
}
};
// Das Layout bei der Uhr unter dem Code "de_CH" registrieren.
$.fritteli.uhr.register('de_CH', layout);
}(jQuery));
(function($) {
'use strict';
var es_isch = {1: [1, 2, 4, 5, 6, 7]};
var genau = {3: [7, 8, 9, 10, 11]};
var ab = {4: [4, 5]};
@ -202,6 +145,7 @@
};
$.fritteli.uhr.register('de_CH_genau', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -217,7 +161,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var klokken_er = {1: [1, 2, 3, 4, 5, 6, 7, 9, 10]};
var minutter = {4: [4, 5, 6, 7, 8, 9, 10, 11]};
@ -282,8 +225,22 @@
};
$.fritteli.uhr.register('dk', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var it_is = {1: [1, 2, 4, 5]};
var half = {4: [1, 2, 3, 4]};
var to = {4: [10, 11]};
@ -349,8 +306,22 @@
};
$.fritteli.uhr.register('en', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var es_la = {1: [1, 2, 6, 7]};
var son_las = {1: [2, 3, 4, 6, 7, 8]};
var y = {7: [6]};
@ -416,8 +387,21 @@
$.fritteli.uhr.register('es', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var il_est = {1: [1, 2, 4, 5, 6]};
var et = {8: [1, 2]};
var moins = {7: [1, 2, 3, 4, 5]};
@ -517,8 +501,22 @@
};
$.fritteli.uhr.register('fr', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var sono_le = {1: [1, 2, 3, 4, 6, 7]};
var e_l = {2: [1, 3, 4]};
var e = {8: [1]};
@ -583,8 +581,22 @@
};
$.fritteli.uhr.register('it', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var het_is = {1: [1, 2, 3, 5, 6]};
var over1 = {3: [1, 2, 3, 4]};
var voor1 = {2: [8, 9, 10, 11]};
@ -649,4 +661,83 @@
}
};
$.fritteli.uhr.register('nl', layout);
}(jQuery));
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function ($) {
var e_ = {1: [1]};
var sao = {1: [2, 3, 4]};
var e1 = {7: [8]};
var e2 = {10: [5]};
var menos = {7: [7, 8, 9, 10, 11]};
var meia = {8: [8, 9, 10, 11]};
var cinco = {10: [7, 8, 9, 10, 11]};
var dez = {10: [1, 2, 3]};
var um_quarto = {9: [1, 2, 4, 5, 6, 7, 8, 9]};
var vinte = {8: [1, 2, 3, 4, 5]};
var layout = {
"version": 2,
"language": 'Português',
"letters": [
'ÉSÃOUMATRÊS',
'MEIOLDIADEZ',
'DUASEISETEY',
'QUATROHNOVE',
'CINCOITONZE',
'ZMEIALNOITE',
'HORASYMENOS',
'VINTECAMEIA',
'UMVQUARTOPM',
'DEZOEYCINCO'
],
"minutes": {
"5,6,7,8,9": [e1, cinco],
"10,11,12,13,14": [e1, dez],
"15,16,17,18,19": [e1, um_quarto],
"20,21,22,23,24": [e1, vinte],
"25,26,27,28,29": [e1, vinte, e2, cinco],
"30,31,32,33,34": [e1, meia],
"35,36,37,38,39": [menos, vinte, e2, cinco],
"40,41,42,43,44": [menos, vinte],
"45,46,47,48,49": [menos, um_quarto],
"50,51,52,53,54": [menos, dez],
"55,56,57,58,59": [menos, cinco]
},
"hours": {
"0": [e_, {"6": [2, 3, 4, 5, 7, 8, 9, 10, 11]}],
"12": [e_, {"2": [1, 2, 3, 4, 6, 7, 8]}],
"1,13": [e_, {"1": [5, 6, 7]}],
"2,14": [sao, {"3": [1, 2, 3, 4]}],
"3,15": [sao, {"1": [8, 9, 10, 11]}],
"4,16": [sao, {"4": [1, 2, 3, 4, 5, 6]}],
"5,17": [sao, {"5": [1, 2, 3, 4, 5]}],
"6,18": [sao, {"3": [4, 5, 6, 7]}],
"7,19": [sao, {"3": [7, 8, 9, 10]}],
"8,20": [sao, {"5": [5, 6, 7, 8]}],
"9,21": [sao, {"4": [8, 9, 10, 11]}],
"10,22": [sao, {"2": [9, 10, 11]}],
"11,23": [sao, {"5": [8, 9, 10, 11]}]
},
"getHour": function (date) {
var hour = date.getHours();
if (date.getMinutes() >= 35) {
return (hour + 1) % 24;
}
return hour;
}
};
$.fritteli.uhr.register('pt', layout);
}(jQuery));

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,8 +1,20 @@
/*! uhr - v8.0.1-dev.0 - 2015-01-19
* http://bärneruhr.ch/
* Copyright (c) 2015 Manuel Friedli; Licensed GPLv3 */
'use strict';
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var es_ist = {1: [1, 2, 4, 5, 6]};
var uhr = {10: [9, 10, 11]};
var nach = {4: [8, 9, 10, 11]};
@ -61,8 +73,22 @@
};
$.fritteli.uhr.register('de', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
// hilfsvariablen
var es_isch = {1: [1, 2, 4, 5, 6, 7]};
var ab = {4: [1, 2]};
@ -144,8 +170,22 @@
// Das Layout bei der Uhr unter dem Code "de_CH" registrieren.
$.fritteli.uhr.register('de_CH', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var es_isch = {1: [1, 2, 4, 5, 6, 7]};
var genau = {3: [7, 8, 9, 10, 11]};
var ab = {4: [4, 5]};
@ -202,6 +242,7 @@
};
$.fritteli.uhr.register('de_CH_genau', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -217,7 +258,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var klokken_er = {1: [1, 2, 3, 4, 5, 6, 7, 9, 10]};
var minutter = {4: [4, 5, 6, 7, 8, 9, 10, 11]};
@ -282,8 +322,22 @@
};
$.fritteli.uhr.register('dk', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var it_is = {1: [1, 2, 4, 5]};
var half = {4: [1, 2, 3, 4]};
var to = {4: [10, 11]};
@ -349,8 +403,22 @@
};
$.fritteli.uhr.register('en', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var es_la = {1: [1, 2, 6, 7]};
var son_las = {1: [2, 3, 4, 6, 7, 8]};
var y = {7: [6]};
@ -416,8 +484,21 @@
$.fritteli.uhr.register('es', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var il_est = {1: [1, 2, 4, 5, 6]};
var et = {8: [1, 2]};
var moins = {7: [1, 2, 3, 4, 5]};
@ -517,8 +598,22 @@
};
$.fritteli.uhr.register('fr', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var sono_le = {1: [1, 2, 3, 4, 6, 7]};
var e_l = {2: [1, 3, 4]};
var e = {8: [1]};
@ -583,8 +678,22 @@
};
$.fritteli.uhr.register('it', layout);
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) {
'use strict';
var het_is = {1: [1, 2, 3, 5, 6]};
var over1 = {3: [1, 2, 3, 4]};
var voor1 = {2: [8, 9, 10, 11]};
@ -649,4 +758,83 @@
}
};
$.fritteli.uhr.register('nl', layout);
}(jQuery));
}(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function ($) {
var e_ = {1: [1]};
var sao = {1: [2, 3, 4]};
var e1 = {7: [8]};
var e2 = {10: [5]};
var menos = {7: [7, 8, 9, 10, 11]};
var meia = {8: [8, 9, 10, 11]};
var cinco = {10: [7, 8, 9, 10, 11]};
var dez = {10: [1, 2, 3]};
var um_quarto = {9: [1, 2, 4, 5, 6, 7, 8, 9]};
var vinte = {8: [1, 2, 3, 4, 5]};
var layout = {
"version": 2,
"language": 'Português',
"letters": [
'ÉSÃOUMATRÊS',
'MEIOLDIADEZ',
'DUASEISETEY',
'QUATROHNOVE',
'CINCOITONZE',
'ZMEIALNOITE',
'HORASYMENOS',
'VINTECAMEIA',
'UMVQUARTOPM',
'DEZOEYCINCO'
],
"minutes": {
"5,6,7,8,9": [e1, cinco],
"10,11,12,13,14": [e1, dez],
"15,16,17,18,19": [e1, um_quarto],
"20,21,22,23,24": [e1, vinte],
"25,26,27,28,29": [e1, vinte, e2, cinco],
"30,31,32,33,34": [e1, meia],
"35,36,37,38,39": [menos, vinte, e2, cinco],
"40,41,42,43,44": [menos, vinte],
"45,46,47,48,49": [menos, um_quarto],
"50,51,52,53,54": [menos, dez],
"55,56,57,58,59": [menos, cinco]
},
"hours": {
"0": [e_, {"6": [2, 3, 4, 5, 7, 8, 9, 10, 11]}],
"12": [e_, {"2": [1, 2, 3, 4, 6, 7, 8]}],
"1,13": [e_, {"1": [5, 6, 7]}],
"2,14": [sao, {"3": [1, 2, 3, 4]}],
"3,15": [sao, {"1": [8, 9, 10, 11]}],
"4,16": [sao, {"4": [1, 2, 3, 4, 5, 6]}],
"5,17": [sao, {"5": [1, 2, 3, 4, 5]}],
"6,18": [sao, {"3": [4, 5, 6, 7]}],
"7,19": [sao, {"3": [7, 8, 9, 10]}],
"8,20": [sao, {"5": [5, 6, 7, 8]}],
"9,21": [sao, {"4": [8, 9, 10, 11]}],
"10,22": [sao, {"2": [9, 10, 11]}],
"11,23": [sao, {"5": [8, 9, 10, 11]}]
},
"getHour": function (date) {
var hour = date.getHours();
if (date.getMinutes() >= 35) {
return (hour + 1) % 24;
}
return hour;
}
};
$.fritteli.uhr.register('pt', layout);
}(jQuery));

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

9080
dist/libs.js vendored

File diff suppressed because it is too large Load diff

48
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)}
.black .onoffswitch-inner:before,.uhr.black{background-color:#111}.uhr.black .dot:not(.active){border-color:hsla(0,0%,100%,.1);box-shadow:0 0 .1em hsla(0,0%,100%,.1)}.uhr.black .letter:not(.active){color:hsla(0,0%,100%,.1);text-shadow:0 0 .1em hsla(0,0%,100%,.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)}
.blue .onoffswitch-inner:before,.uhr.blue{background-color:#00a}.uhr.blue .dot:not(.active){border-color:hsla(0,0%,100%,.1);box-shadow:0 0 .1em hsla(0,0%,100%,.1)}.uhr.blue .letter:not(.active){color:hsla(0,0%,100%,.1);text-shadow:0 0 .1em hsla(0,0%,100%,.1)}

View file

@ -1 +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)}
.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:hsla(0,0%,100%,.1);box-shadow:0 0 .1em hsla(0,0%,100%,.1)}.uhr.pink .letter:not(.active){color:hsla(0,0%,100%,.1);text-shadow:0 0 .1em hsla(0,0%,100%,.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)}
.red .onoffswitch-inner:before,.uhr.red{background-color:#700}.uhr.red .dot:not(.active){border-color:hsla(0,0%,100%,.1);box-shadow:0 0 .1em hsla(0,0%,100%,.1)}.uhr.red .letter:not(.active){color:hsla(0,0%,100%,.1);text-shadow:0 0 .1em hsla(0,0%,100%,.1)}

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}.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;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;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}
@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,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.05) 40%,hsla(0,0%,100%,0) 0) 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{right:3.75%}.dot3,.dot4{bottom: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;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

@ -171,6 +171,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<li>fr</li>
<li>it</li>
<li>nl</li>
<li>pt</li>
</ul>
<br/>Typ: String
<br/>Default: <code>'de_CH'</code></dd>
@ -246,6 +247,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<li>fr</li>
<li>it</li>
<li>nl</li>
<li>pt</li>
</ul>
</dd>
<dt><code>t</code> oder <code>theme</code></dt>

View file

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

3953
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,43 +1,63 @@
{
"name": "uhr",
"version": "8.0.1-dev.0",
"description": "jQuery QLOCKTWO plugin",
"keywords": [
"jquery-plugin",
"qlocktwo"
],
"homepage": "http://bärneruhr.ch/",
"author": {
"name": "Manuel Friedli",
"email": "manuel@fritteli.ch",
"url": "http://www.fritteli.ch/"
},
"repository": {
"type": "git",
"url": "https://gittr.ch/manuel/uhr"
},
"licenses": [
{
"type": "GPLv3"
"name": "uhr",
"version": "9.0.0-dev.0",
"description": "jQuery QLOCKTWO plugin",
"keywords": [
"jquery-plugin",
"qlocktwo"
],
"scripts": {
"prebuild": "npm run clean",
"build": "npm-run-all --parallel rollup:js:* rollup:css:*",
"clean": "rimraf dist",
"rollup:js:app": "rollup --config build-config/rollup.config.js-app.js",
"rollup:js:base": "rollup --config build-config/rollup.config.js-base.js",
"rollup:js:baselangs": "rollup --config build-config/rollup.config.js-baselangs.js",
"rollup:js:complete": "rollup --config build-config/rollup.config.js-complete.js",
"rollup:js:langs": "rollup --config build-config/rollup.config.js-langs.js",
"rollup:js:libs": "rollup --config build-config/rollup.config.js-libs.js",
"rollup:css:app": "rollup --config build-config/rollup.config.css-app.js",
"rollup:css:black": "rollup --config build-config/rollup.config.css-black.js",
"rollup:css:blue": "rollup --config build-config/rollup.config.css-blue.js",
"rollup:css:green": "rollup --config build-config/rollup.config.css-green.js",
"rollup:css:pink": "rollup --config build-config/rollup.config.css-pink.js",
"rollup:css:red": "rollup --config build-config/rollup.config.css-red.js",
"rollup:css:white": "rollup --config build-config/rollup.config.css-white.js",
"rollup:css:yellow": "rollup --config build-config/rollup.config.css-yellow.js"
},
"homepage": "http://bärneruhr.ch/",
"author": {
"name": "Manuel Friedli",
"email": "manuel@fritteli.ch",
"url": "http://www.fritteli.ch/"
},
"repository": {
"type": "git",
"url": "https://gittr.ch/manuel/uhr"
},
"licenses": [
{
"type": "GPL-3.0"
}
],
"license": "GPL-3.0",
"dependencies": {
"jquery": "^3.5.0",
"jquery-ui": "1.12.1",
"jquery.cookie": "1.4.1"
},
"devDependencies": {
"@rollup/plugin-node-resolve": "^11.2.0",
"chai": "4.2.0",
"cssnano": "^4.1.10",
"jshint-stylish": "2.2.1",
"mocha": "^8.3.0",
"npm-run-all": "^4.1.5",
"phantomjs-prebuilt": "2.1.16",
"postcss": "^8.2.6",
"rimraf": "^3.0.2",
"rollup": "^2.39.1",
"rollup-plugin-css-bundle": "^1.0.4",
"rollup-plugin-terser": "^7.0.2"
}
],
"devDependencies": {
"bower": "^1.3.12",
"grunt": "~0.4.5",
"grunt-cli": "^0.1.13",
"grunt-contrib-clean": "~0.5.0",
"grunt-contrib-concat": "~0.4.0",
"grunt-contrib-connect": "~0.8.0",
"grunt-contrib-cssmin": "^0.11.0",
"grunt-contrib-jshint": "~0.10.0",
"grunt-contrib-qunit": "~0.5.1",
"grunt-contrib-uglify": "~0.5.0",
"grunt-contrib-watch": "~0.6.1",
"grunt-mocha-phantomjs": "^0.6.0",
"grunt-version": "^0.3.0",
"jshint-stylish": "~0.2.0",
"load-grunt-tasks": "~0.6.0",
"phantomjs": "^1.9.13",
"time-grunt": "~0.3.2"
}
}

View file

@ -1,7 +1,3 @@
/*
* Copyright (C) Schweizerische Bundesbahnen SBB, 2014.
*/
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -81,4 +77,4 @@
}
};
$.fritteli.uhr.register('dk', layout);
}(jQuery));
}(jQuery));

79
src/uhr-pt.js Normal file
View file

@ -0,0 +1,79 @@
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function ($) {
'use strict';
var e_ = {1: [1]};
var sao = {1: [2, 3, 4]};
var e1 = {7: [8]};
var e2 = {10: [5]};
var menos = {7: [7, 8, 9, 10, 11]};
var meia = {8: [8, 9, 10, 11]};
var cinco = {10: [7, 8, 9, 10, 11]};
var dez = {10: [1, 2, 3]};
var um_quarto = {9: [1, 2, 4, 5, 6, 7, 8, 9]};
var vinte = {8: [1, 2, 3, 4, 5]};
var layout = {
"version": 2,
"language": 'Português',
"letters": [
'ÉSÃOUMATRÊS',
'MEIOLDIADEZ',
'DUASEISETEY',
'QUATROHNOVE',
'CINCOITONZE',
'ZMEIALNOITE',
'HORASYMENOS',
'VINTECAMEIA',
'UMVQUARTOPM',
'DEZOEYCINCO'
],
"minutes": {
"5,6,7,8,9": [e1, cinco],
"10,11,12,13,14": [e1, dez],
"15,16,17,18,19": [e1, um_quarto],
"20,21,22,23,24": [e1, vinte],
"25,26,27,28,29": [e1, vinte, e2, cinco],
"30,31,32,33,34": [e1, meia],
"35,36,37,38,39": [menos, vinte, e2, cinco],
"40,41,42,43,44": [menos, vinte],
"45,46,47,48,49": [menos, um_quarto],
"50,51,52,53,54": [menos, dez],
"55,56,57,58,59": [menos, cinco]
},
"hours": {
"0": [e_, {"6": [2, 3, 4, 5, 7, 8, 9, 10, 11]}],
"12": [e_, {"2": [1, 2, 3, 4, 6, 7, 8]}],
"1,13": [e_, {"1": [5, 6, 7]}],
"2,14": [sao, {"3": [1, 2, 3, 4]}],
"3,15": [sao, {"1": [8, 9, 10, 11]}],
"4,16": [sao, {"4": [1, 2, 3, 4, 5, 6]}],
"5,17": [sao, {"5": [1, 2, 3, 4, 5]}],
"6,18": [sao, {"3": [4, 5, 6, 7]}],
"7,19": [sao, {"3": [7, 8, 9, 10]}],
"8,20": [sao, {"5": [5, 6, 7, 8]}],
"9,21": [sao, {"4": [8, 9, 10, 11]}],
"10,22": [sao, {"2": [9, 10, 11]}],
"11,23": [sao, {"5": [8, 9, 10, 11]}]
},
"getHour": function (date) {
var hour = date.getHours();
if (date.getMinutes() >= 35) {
return (hour + 1) % 24;
}
return hour;
}
};
$.fritteli.uhr.register('pt', layout);
}(jQuery));

File diff suppressed because it is too large Load diff

76
test/fastforward.html Normal file
View file

@ -0,0 +1,76 @@
<!DOCTYPE html>
<!--
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<html lang="de" manifest="manifest.appcache">
<head>
<title>Fastforward bärneruhr.ch</title>
<meta charset="utf-8"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<meta name="apple-mobile-web-app-title" content="Bärneruhr"/>
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1"/>
<link rel="stylesheet" type="text/css" href="../dist/uhr.min.css"/>
<link rel="stylesheet" type="text/css" href="../dist/uhr-black.min.css" data-class="black" data-name="Schwarz"/>
<link rel="stylesheet" type="text/css" href="../dist/uhr-white.min.css" data-class="white" data-name="Weiss"/>
<link rel="stylesheet" type="text/css" href="../dist/uhr-red.min.css" data-class="red" data-name="Rot"/>
<link rel="stylesheet" type="text/css" href="../dist/uhr-yellow.min.css" data-class="yellow" data-name="Gelb"/>
<link rel="stylesheet" type="text/css" href="../dist/uhr-green.min.css" data-class="green" data-name="Grün"/>
<link rel="stylesheet" type="text/css" href="../dist/uhr-blue.min.css" data-class="blue" data-name="Blau"/>
<link rel="stylesheet" type="text/css" href="../dist/uhr-pink.min.css" data-class="pink" data-name="Pink"/>
<link rel="shortcut icon" type="image/png" href="../resources/favicon.png"/>
<link rel="apple-touch-icon-precomposed" href="../resources/apple-touch-icon-precomposed.png"/>
<script type="text/javascript" src="../dist/libs.min.js"></script>
<script type="text/javascript" src="../dist/jquery.uhr.complete.min.js"></script>
</head>
<body>
<div id="uhr"></div>
<button id="timer">Start</button>
<button id="reset">Reset</button>
<script type="text/javascript">
(function ($) {
var time = new Date(2000, 0, 1, 0, 0, 0, 0);
var timer = null;
$('#timer').on('click', function () {
if (timer == null) {
timer = window.setInterval(function () {
var minutes = time.getMinutes();
var hours = time.getHours();
minutes = (minutes + 1) % 60;
if (minutes == 0) {
hours = (hours + 1) % 24;
time.setHours(hours);
}
time.setMinutes(minutes);
$('#uhr').uhr('time', time);
}, 200);
$('#timer').html('Pause');
} else {
window.clearInterval(timer);
timer = null;
$('#timer').html('Start');
}
});
$('#reset').on('click', function () {
time = new Date(2000, 0, 1, 0, 0, 0, 0);
$('#uhr').uhr('time', time);
});
$('#uhr').uhr({
width: '200px',
time: time
});
})(jQuery);
</script>
</body>
</html>

View file

@ -1,4 +1,18 @@
<!DOCTYPE html>
<!--
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<html>
<head lang="en">
<meta charset="UTF-8">

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 () {