updated documentation

This commit is contained in:
Manuel Friedli 2014-10-18 17:18:45 +02:00
parent 92abc8e15b
commit ff4c90c673
2 changed files with 88 additions and 55 deletions

View file

@ -34,7 +34,7 @@ Beim Einbinden muss das attribut `data-class` angegeben werden, welches die CSS-
* uhr-fr.js * uhr-fr.js
* uhr-it.js * uhr-it.js
`uhr-de_CH_genau.js` ist eine Variante von Berndeutsch, bei der zur vollen Stunde zusätlich das Wort "genau" angezeigt wird (also z.B. um 15:00 Uhr "ES ISCH GENAU DRÜ"). `uhr-de_CH_genau.js` ist eine Variante von Berndeutsch, bei der zur vollen Stunde zusätzlich das Wort "genau" angezeigt wird (also z.B. um 15:00 Uhr "ES ISCH GENAU DRÜ").
2. Uhr-Element im HTML-Dokument einfügen 2. Uhr-Element im HTML-Dokument einfügen
---------------------------------------- ----------------------------------------
@ -56,10 +56,11 @@ Damit wird eine Uhr in der Standardkonfiguration erzeugt. Das heisst:
* Die Uhr ist eingeschaltet * Die Uhr ist eingeschaltet
* Die Bedienelemente werden angezeigt * Die Bedienelemente werden angezeigt
* Die Uhr passt sich in der Grösse an, wenn das Elternelement seine Grösse ändert * Die Uhr passt sich in der Grösse an, wenn das Elternelement seine Grösse ändert
* Die Uhr zeigt die aktuelle Stunde und Minute
Mit den Bedienelementen kannst du die Uhr ein- und ausschalten sowie Sprache und Farbe wechseln. Mit den Bedienelementen kannst du die Uhr ein- und ausschalten, zwischen Stunden/Minuten- oder Sekundenanzeige wechseln sowie Sprache und Farbe einstellen.
Wie du diese Optionen ändern kannst, verrät der nächte Abschnitt. Wie du diese Optionen ändern kannst, verrät der nächste Abschnitt.
Es kann natürlich auch eine Collection von Elementen übergeben werden. Mit Es kann natürlich auch eine Collection von Elementen übergeben werden. Mit
@ -75,10 +76,12 @@ Der uhr()-Methode kann ein Options-Objekt mitgegeben werden:
status: 'on', // 'on' (default) oder 'off' status: 'on', // 'on' (default) oder 'off'
theme: 'black', // 'black' (default), 'white', 'red', 'yellow', 'green', 'blue' oder 'pink' (je nach eingebundenen Theme-Stylesheets) 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', 'en', 'fr' oder 'it' (je nach eingebundenen Sprachdateien) language: 'de_CH', // 'de_CH' (default), 'de_CH_genau', 'de', 'en', 'fr' oder 'it' (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%) width: '100%', // eine CSS-Grössenangabe (default: 100%)
force: false, // false (default): Falls ein Cookie im Browser besteht, werden dessen Konfigurationswerte übernommen; force: false, // false (default): Falls ein Cookie im Browser besteht, werden dessen Konfigurationswerte übernommen;
// true: immer die angegebene Konfiguration verwenden // true: immer die angegebene Konfiguration verwenden
controls: true, // true (default): Die Bedienelemente (Ein-/Ausschalter, Theme- und Sprachwähler) werden angezeigt controls: true, // true (default): Die Bedienelemente (Ein-/Ausschalter, Theme-, Zeitmodus- und Sprachwähler) werden angezeigt
// false: Die Bedienelemente werden nicht angezeigt // false: Die Bedienelemente werden nicht angezeigt
autoresize: true // true (default): Die Uhr passt ihre Grösse dynamisch an autoresize: true // true (default): Die Uhr passt ihre Grösse dynamisch an
// false: Die Uhr behält ihre anfängliche Grösse // false: Die Uhr behält ihre anfängliche Grösse

View file

@ -20,6 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<meta name="viewport" content="width=device-width,user-scalable=yes,initial-scale=1"/> <meta name="viewport" content="width=device-width,user-scalable=yes,initial-scale=1"/>
<link rel="stylesheet" type="text/css" href="../css/uhr.css"/> <link rel="stylesheet" type="text/css" href="../css/uhr.css"/>
<link rel="stylesheet" type="text/css" href="../css/uhr-black.css" data-class="black"/> <link rel="stylesheet" type="text/css" href="../css/uhr-black.css" data-class="black"/>
<link rel="stylesheet" type="text/css" href="../css/uhr-red.css" data-class="red"/>
<link rel="stylesheet" type="text/css" href="info.css"/> <link rel="stylesheet" type="text/css" href="info.css"/>
<link rel="shortcut icon" type="image/png" href="../resources/favicon.png"/> <link rel="shortcut icon" type="image/png" href="../resources/favicon.png"/>
<script type="text/javascript" src="../lib/jquery-2.1.0.min.js"></script> <script type="text/javascript" src="../lib/jquery-2.1.0.min.js"></script>
@ -44,7 +45,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<li><a href="#requirements">Benötigte Bibliotheken</a></li> <li><a href="#requirements">Benötigte Bibliotheken</a></li>
<li><a href="#include-in-html">Einbinden in HTML</a> <li><a href="#include-in-html">Einbinden in HTML</a>
<ol> <ol>
<li><a href="#js-and-css-in-head">Javascript- und CSS-Dateien im <code class="inline">&lt;head&gt;</code></a></li> <li><a href="#js-and-css-in-head">Javascript- und CSS-Dateien im <code class="inline">&lt;head&gt;</code></a>
</li>
<li><a href="#clock-element">Uhr-Element auf der Seite</a></li> <li><a href="#clock-element">Uhr-Element auf der Seite</a></li>
<li><a href="#initialize">Uhr initialisieren</a></li> <li><a href="#initialize">Uhr initialisieren</a></li>
</ol> </ol>
@ -60,16 +62,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<p>Hallo, Besucher!</p> <p>Hallo, Besucher!</p>
<p>Hier gibt's vertiefte Informationen über diese Uhr, die dir sagt, <p>Hier gibt's vertiefte Informationen über diese Uhr, die dir sagt, wie spät es ist. Hier erfährt du, wie du sie selber
wie spät es ist. Hier erfährt du, wie du sie selber auf deiner auf deiner Website einbauen kannst. Denn das darfst du gerne tun, solange du dich dabei an die Regeln der <a
Website einbauen kannst. Denn das darfst du gerne tun, solange du href="#license">Lizenz</a> hältst.</p>
dich dabei an die Regeln der <a href="#license">Lizenz</a> hältst.</p>
<p><a onclick="go('../')" href="#">Das interessiert mich nicht, ich will zurück zur grossen Uhr!</a></p> <p><a onclick="go('../')" href="#">Das interessiert mich nicht, ich will zurück zur grossen Uhr!</a></p>
<h2 id="the-clock">Die Uhr<a href="#toc" class="toclink">Zum Inhalt</a></h2> <h2 id="the-clock">Die Uhr<a href="#toc" class="toclink">Zum Inhalt</a></h2>
<a onclick="go('../')" href="#"> <a onclick="go('../')" href="#">
<div id="uhr1"></div> <div id="uhr1" style="display:inline-block"></div>
<div id="uhr2" style="display:inline-block"></div>
</a> </a>
<h3 id="requirements">Benötigte Bibliotheken<a href="#toc" class="toclink">Zum Inhalt</a></h3> <h3 id="requirements">Benötigte Bibliotheken<a href="#toc" class="toclink">Zum Inhalt</a></h3>
@ -84,9 +86,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<li><a href="https://github.com/carhartl/jquery-cookie/releases">jQuery-cookie</a> (getestet mit Version 1.4.0)</li> <li><a href="https://github.com/carhartl/jquery-cookie/releases">jQuery-cookie</a> (getestet mit Version 1.4.0)</li>
</ul> </ul>
<h3 id="include-in-html">Einbinden in HTML<a href="#toc" class="toclink">Zum Inhalt</a></h3> <h3 id="include-in-html">Einbinden in HTML<a href="#toc" class="toclink">Zum Inhalt</a></h3>
<h4 id="js-and-css-in-head">Javascript- und CSS-Dateien im <code>&lt;head&gt;</code><a href="#toc" class="toclink">Zum Inhalt</a></h4> <h4 id="js-and-css-in-head">Javascript- und CSS-Dateien im <code>&lt;head&gt;</code><a href="#toc" class="toclink">Zum
Inhalt</a></h4>
<p>Füge folgende Zeilen im <code>&lt;head&gt;</code>-Tag deines HTML-Dokumentes ein. <strong>Beachte dabei, dass die CSS-Dateien <em>vor</em> den <p>Füge folgende Zeilen im <code>&lt;head&gt;</code>-Tag deines HTML-Dokumentes ein. <strong>Beachte dabei, dass die
CSS-Dateien <em>vor</em> den
Javascript eingebunden werden</strong>.<br/> Javascript eingebunden werden</strong>.<br/>
<code>&lt;link rel="stylesheet" type="text/css" href="uhr.css" /&gt; <code>&lt;link rel="stylesheet" type="text/css" href="uhr.css" /&gt;
&lt;link rel="stylesheet" type="text/css" href="uhr-black.css" data-class="black" data-name="Schwarz" /&gt; &lt;link rel="stylesheet" type="text/css" href="uhr-black.css" data-class="black" data-name="Schwarz" /&gt;
@ -108,12 +112,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
&lt;script type="text/javascript" src="uhr-it.js"&gt;&lt;/script&gt;</code> &lt;script type="text/javascript" src="uhr-it.js"&gt;&lt;/script&gt;</code>
</p> </p>
<p>Von den Stylesheets zwingend ist <code>uhr.css</code> und mindestens eines der Farbschema-Stylesheets. Die Attribute <code>data-class</code> bzw. <p>Von den Stylesheets zwingend ist <code>uhr.css</code> und mindestens eines der Farbschema-Stylesheets. Die
<code>data-name</code> definieren dabei die im Stylesheet deklarierte Klasse bzw. den im Auswahlmenu anzuzeigenden Namen. Der Name kann frei Attribute <code>data-class</code> bzw. <code>data-name</code> definieren dabei die im Stylesheet deklarierte
gewählt werden, die Style-Klasse muss mit der im Stylesheet definierten übereinstimmen.</p> Klasse bzw. den im Auswahlmenu anzuzeigenden Namen. Der Name kann frei gewählt werden, die Style-Klasse muss mit
der im Stylesheet definierten übereinstimmen.</p>
<p><code>uhr-de_CH_genau.js</code> ist eine Variante von Berndeutsch, bei der zur vollen Stunde zusätlich das Wort <code class="inline">genau</code> <p><code>uhr-de_CH_genau.js</code> ist eine Variante von Berndeutsch, bei der zur vollen Stunde zusätlich das Wort <code
angezeigt wird (also z.B. um 15:00 Uhr <code class="inline">ES ISCH GENAU DRÜ</code>).</p> class="inline">genau</code> angezeigt wird (also z.B. um 15:00 Uhr <code class="inline">ES ISCH GENAU
DRÜ</code>).</p>
<h4 id="clock-element">Uhr-Element auf der Seite<a href="#toc" class="toclink">Zum Inhalt</a></h4> <h4 id="clock-element">Uhr-Element auf der Seite<a href="#toc" class="toclink">Zum Inhalt</a></h4>
<p>Definiere an der Stelle, wo die Uhr angezeigt werden soll, ein leeres <code>&lt;div&gt;</code>-Element:<br/> <p>Definiere an der Stelle, wo die Uhr angezeigt werden soll, ein leeres <code>&lt;div&gt;</code>-Element:<br/>
@ -121,7 +127,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
</p> </p>
<h4 id="initialize">Uhr initialisieren<a href="#toc" class="toclink">Zum Inhalt</a></h4> <h4 id="initialize">Uhr initialisieren<a href="#toc" class="toclink">Zum Inhalt</a></h4>
<p>Definiere im HTML-Dokument (<code>&lt;head&gt;</code> oder <code>&lt;body&gt;</code>) ein Javascript-Snippet, um die Uhr zu initialisieren:<br/> <p>Definiere im HTML-Dokument (<code>&lt;head&gt;</code> oder <code>&lt;body&gt;</code>) ein Javascript-Snippet, um die
Uhr zu initialisieren:<br/>
<code>&lt;script type="text/javascript"&gt; <code>&lt;script type="text/javascript"&gt;
jQuery(document).ready(function() { jQuery(document).ready(function() {
jQuery('#meine-uhr').uhr(); jQuery('#meine-uhr').uhr();
@ -129,10 +136,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
&lt;/script&gt;</code> &lt;/script&gt;</code>
</p> </p>
<p>Die Uhr wird so in der Standardkonfiguration angezeigt, das heisst: Berndeutsche Sprache, in der Farbe der ersten eingebundenen CSS-Datei (im <p>Die Uhr wird so in der Standardkonfiguration angezeigt, das heisst: Berndeutsche Sprache, in der Farbe der ersten
Beispiel also Schwarz), eingeschaltet, Breite 100% des Elternelementes. Wenn dies nicht deinen Bedürfnissen entspricht, lässt sich die Uhr wie im eingebundenen CSS-Datei (im Beispiel also Schwarz), eingeschaltet, Breite 100% des Elternelementes. Wenn dies
folgenden Abschnitt beschrieben konfigurieren. Die Konfiguration wird der <code>.uhr()</code>-Methode als JSON-Objekt übergeben, beispielsweise nicht deinen Bedürfnissen entspricht, lässt sich die Uhr wie im folgenden Abschnitt beschrieben konfigurieren.
so:<br/> Die Konfiguration wird der <code>.uhr()</code>-Methode als JSON-Objekt übergeben, beispielsweise so:<br/>
<code>jQuery('#uhr').uhr({ <code>jQuery('#uhr').uhr({
width: '200px', width: '200px',
theme: 'red' theme: 'red'
@ -143,40 +150,47 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<p>Es existieren die folgenden Konfigurationsoptionen:</p> <p>Es existieren die folgenden Konfigurationsoptionen:</p>
<dl> <dl>
<dt><code>width</code></dt> <dt><code>autoresize</code></dt>
<dd>Die Breite der Uhr als CSS-String, z.B. <code>'50%'</code>, <code>'120px'</code> oder <code>'2.8em'</code>. Die Höhe passt sich automatisch <dd>Gibt an, ob die Uhr ihre Grösse dynamisch anpassen soll, wenn das Elternelement seine Grösse ändert, oder ob
der Breite an, so dass die Uhr immer quadratisch ist. sie immer die anfängliche Grösse behält. Mögliche Werte sind <code>true</code> oder <code>false</code>.
<br/>Typ: boolean
<br/>Default: <code>true</code></dd>
<dt><code>controls</code></dt>
<dd>Gibt an, ob die Steuerelemente zur Auswahl von Farbe und Sprache und der Ein-/Ausschalter angezeigt werden
sollen. Mögliche Werte sind <code>true</code> oder <code>false</code>.
<br/>Typ: boolean
<br/>Default: <code>true</code></dd>
<dt><code>force</code></dt>
<dd>Legt fest, ob die in der Konfiguration angegebenen Werte allfällig in einem Browser-Cookie gespeicherte
Einstellungen überschreiben sollen oder nicht. Mögliche Werte sind <code>true</code> (Konfiguration
überschreibt Cookie-Werte) oder <code>false</code> (Cookie-Werte haben Vorrang).
<br/>Typ: boolean
<br/>Default: <code>false</code></dd>
<dt><code>language</code></dt>
<dd>Die anfänglich ausgewählte Sprache als String. Welche Sprachen unterstützt werden, hängt davon ab, welche
Sprachdateien eingebunden werden.
<br/>Typ: String <br/>Typ: String
<br/>Default: <code>'100%'</code></dd> <br/>Default: <code>'de_CH'</code></dd>
<dt><code>mode</code></dt>
<dd>Der Zeit-Anzeigemodus, entweder <code>'normal'</code> (aktuelle Zeit in Worten anzeigen als "ES IST VIER
UHR") oder <code>'seconds'</code> (aktuelle Sekunden als grosse Ziffern anzeigen).
<br/>Typ: String
<br/>Default: <code>'normal'</code></dd>
<dt><code>status</code></dt> <dt><code>status</code></dt>
<dd>Der Anfangszustand der Uhr, entweder <code>'on'</code> oder <code>'off'</code> <dd>Der Anfangszustand der Uhr, entweder <code>'on'</code> oder <code>'off'</code>
<br/>Typ: String <br/>Typ: String
<br/> Default: <code>'on'</code></dd> <br/> Default: <code>'on'</code></dd>
<dt><code>language</code></dt>
<dd>Die anfänglich ausgewählte Sprache als String. Welche Sprachen unterstützt werden, hängt davon ab, welche Sprachdateien eingebunden werden.
<br/>Typ: String
<br/>Default: <code>'de_CH'</code></dd>
<dt><code>theme</code></dt> <dt><code>theme</code></dt>
<dd>Die anfänglich ausgewählte Farbe der Uhr. Welche Farben unterstützt werden, hängt davon ab, welche CSS-Dateien eingebunden werden. <dd>Die anfänglich ausgewählte Farbe der Uhr. Welche Farben unterstützt werden, hängt davon ab, welche
CSS-Dateien eingebunden werden.
<br/>Typ: String <br/>Typ: String
<br/>Default: Farbe der ersten eingebundenen CSS-Datei <br/>Default: Farbe der ersten eingebundenen CSS-Datei
</dd> </dd>
<dt><code>force</code></dt> <dt><code>width</code></dt>
<dd>Legt fest, ob die in der Konfiguration angegebenen Werte allfällig in einem Browser-Cookie gespeicherte Einstellungen überschreiben sollen <dd>Die Breite der Uhr als CSS-String, z.B. <code>'50%'</code>, <code>'120px'</code> oder <code>'2.8em'</code>.
oder nicht. Mögliche Werte sind <code>true</code> (Konfiguration überschreibt Cookie-Werte) oder <code>false</code> (Cookie-Werte haben Die Höhe passt sich automatisch der Breite an, so dass die Uhr immer quadratisch ist.
Vorrang). <br/>Typ: String
<br/>Typ: boolean <br/>Default: <code>'100%'</code></dd>
<br/>Default: <code>false</code></dd>
<dt><code>controls</code></dt>
<dd>Gibt an, ob die Steuerelemente zur Auswahl von Farbe und Sprache und der Ein-/Ausschalter angezeigt werden sollen. Mögliche Werte sind <code>true</code>
oder <code>false</code>.
<br/>Typ: boolean
<br/>Default: <code>true</code></dd>
<dt><code>autoresize</code></dt>
<dd>Gibt an, ob die Uhr ihre Grösse dynamisch anpassen soll, wenn das Elternelement seine Grösse ändert, oder ob sie immer die anfängliche Grösse
behält. Mögliche Werte sind <code>true</code> oder <code>false</code>.
<br/>Typ: boolean
<br/>Default: <code>true</code></dd>
</dl> </dl>
<script type="text/javascript"> <script type="text/javascript">
(function($) { (function($) {
@ -186,23 +200,38 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
theme: 'black', theme: 'black',
controls: false, controls: false,
force: true, force: true,
autoresize: false autoresize: false,
mode: 'normal'
});
$('#uhr2').uhr({
width: '200px',
language: 'de_CH',
theme: 'red',
controls: false,
force: true,
autoresize: false,
mode: 'seconds'
}); });
})(jQuery); })(jQuery);
</script> </script>
<h2 id="information">Informationen<a href="#toc" class="toclink">Zum Inhalt</a></h2> <h2 id="information">Informationen<a href="#toc" class="toclink">Zum Inhalt</a></h2>
<p>Programmiert von <a href="mailto:manuel@fritteli.ch">Manuel Friedli</a> mit Inspiration von <a href="http://www.qlocktwo.com/">QLOCKTWO</a>.<br/> <p>Programmiert von <a href="mailto:manuel@fritteli.ch">Manuel Friedli</a> mit Inspiration von <a
Diese Uhr ist aus Freude am Programmieren und am Konzept einer die Zeit in Worten ausdrückenden Uhr entstanden. Sollte daraus jemandem Schaden href="http://www.qlocktwo.com/">QLOCKTWO</a>.<br/>
oder ein gravierender Nachteil erwachsen, so soll sich diese Person bei mir melden und wir werden bestimmt eine Lösung finden, die für alle Diese Uhr ist aus Freude am Programmieren und am Konzept einer die Zeit in Worten ausdrückenden Uhr entstanden.
beteiligten angemessen ist. Allen anderen Personen wünsche ich viel Freude mit der Zeit im Wort.</p> Sollte daraus jemandem Schaden oder ein gravierender Nachteil erwachsen, so soll sich diese Person bei mir melden
und wir werden bestimmt eine Lösung finden, die für alle beteiligten angemessen ist. Allen anderen Personen
wünsche ich viel Freude mit der Zeit im Wort.</p>
<p>Der Quellcode ist frei zugänglich unter <a href="https://gittr.ch/manuel/uhr">https://gittr.ch/manuel/uhr</a>.</p> <p>Der Quellcode ist frei zugänglich unter <a href="https://gittr.ch/manuel/uhr">https://gittr.ch/manuel/uhr</a>.</p>
<h2 id="license">Lizenzbestimmungen<a href="#toc" class="toclink">Zum Inhalt</a></h2> <h2 id="license">Lizenzbestimmungen<a href="#toc" class="toclink">Zum Inhalt</a></h2>
<p>Der komplette Sourcecode ist unter der GNU GPL 3.0 lizenziert und darf nach deren Vorgaben verwendet, kopiert, weitergegeben und verändert werden. <p>Der komplette Sourcecode ist unter der GNU GPL 3.0 lizenziert und darf nach deren Vorgaben verwendet, kopiert,
Die GNU GPL 3.0 findest Du unter folgendem Link: <a href="https://www.gnu.org/licenses/gpl-3.0">GNU GPL 3.0</a>. Und direkt hier:</p> weitergegeben und verändert werden. Die GNU GPL 3.0 findest Du unter folgendem Link: <a
href="https://www.gnu.org/licenses/gpl-3.0">GNU GPL 3.0</a>. Und direkt hier:</p>
<h3 id="gpl-v3" style="text-align: center;">GNU GENERAL PUBLIC LICENSE</h3> <h3 id="gpl-v3" style="text-align: center;">GNU GENERAL PUBLIC LICENSE</h3>
@ -904,6 +933,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
may consider it more useful to permit linking proprietary applications with may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read Public License instead of this License. But first, please read
&lt;<a href="http://www.gnu.org/philosophy/why-not-lgpl.html">http://www.gnu.org/philosophy/why-not-lgpl.html</a>&gt;.</p> &lt;<a href="http://www.gnu.org/philosophy/why-not-lgpl.html">http://www.gnu.org/philosophy/why-not-lgpl.html</a>&gt;.
</p>
</body> </body>
</html> </html>