diff --git a/android-chrome-192x192.png b/android-chrome-192x192.png new file mode 100644 index 0000000..fa7d2bb Binary files /dev/null and b/android-chrome-192x192.png differ diff --git a/android-chrome-384x384.png b/android-chrome-384x384.png new file mode 100644 index 0000000..1e15944 Binary files /dev/null and b/android-chrome-384x384.png differ diff --git a/apple-touch-icon.png b/apple-touch-icon.png new file mode 100644 index 0000000..016f4fd Binary files /dev/null and b/apple-touch-icon.png differ diff --git a/boilerplate.css b/boilerplate.css new file mode 100644 index 0000000..2af74e8 --- /dev/null +++ b/boilerplate.css @@ -0,0 +1,280 @@ +@charset "utf-8"; +/* +/* + * HTML5 ✰ Boilerplate + * + * Das Folgende ist das Ergebnis umfangreicher Nachforschungen zum browserunabhängigen Webdesign. + * Verweise auf die Urheber finden Sie in den Codekommentaren, außerdem ein herzliches Dankeschön an Nicolas Gallagher, Jonathan Neal, + * Kroc Camen und die H5BP-Entwicklergemeinde und das H5BP-Team. + * + * Ausführliche Informationen über diesen CSS-Code gibt's unter h5bp.com/css + * + * Dreamweaver-Modifikationen: + * 1. Auswahlmarkierung auskommentiert + * 2. Abschnitt über Medienabfrage entfernt (wir definieren unsere eigene Medienabfrage in einer gesonderten Datei) + * + * ==|== Normalisieren ====================================================== + */ + + +/* ============================================================================= + HTML5-Anzeigedefinitionen + ========================================================================== */ + +article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; } +audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; } +audio:not([controls]) { display: none; } +[hidden] { display: none; } + +/* ============================================================================= + Basis + ========================================================================== */ + +/* + * 1. Die Anpassung der Textgröße führt in IE6/7 zu merkwürdigen Resultaten, wenn die Schriftgröße des Bodytexts in em-Einheiten angegeben ist + * 2. Erzwingen einer vertikalen Bildlaufleiste in Nicht-IE-Browsern + * 3. Verhindern der iOS-Textgrößenanpassung beim Ändern der Geräteausrichtung ohne den Benutzerzoom zu deaktivieren: h5bp.com/g + */ + +html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } + +body { margin: 0; font-size: 13px; line-height: 1.231; } + +body, button, input, select, textarea { font-family: sans-serif; color: #222; } + +/* + * Textschatten in der Auswahlmarkierung entfernen: h5bp.com/i + * Die folgenden Auswahldeklarationen müssen getrennt voneinander erfolgen + * Außerdem: leuchtendes Pink! (Die Hintergrundfarbe kann auch an das Design angepasst werden.) + */ + +/* Dreamweaver: die folgenden Codestellen auskommentieren, wenn die Auswahlmarkierung angepasst werden soll + *::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; } + *::selection { background: #fe57a1; color: #fff; text-shadow: none; } + */ + +/* ============================================================================= + Hyperlinks + ========================================================================== */ + +a { color: #00e; } +a:visited { color: #551a8b; } +a:hover { color: #06e; } +a:focus { outline: thin dotted; } + +/* Verbessert in allen Browsern die Lesbarkeit von Hyperlinks, die über die Tabulatortaste fokussiert werden (focus) und von Hyperlinks, auf die der Mauszeiger gerichtet ist (hover): h5bp.com/h */ +a:hover, a:active { outline: 0; } + + +/* ============================================================================= + Typografie + ========================================================================== */ + +abbr[title] { border-bottom: 1px dotted; } + +b, strong { font-weight: bold; } + +blockquote { margin: 1em 40px; } + +dfn { font-style: italic; } + +hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } + +ins { background: #ff9; color: #000; text-decoration: none; } + +mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; } + +/* Nichtproportionale Schriftfamilie neu deklarieren: h5bp.com/j */ +pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; } + +/* In allen Browsern die Lesbarkeit von vorformatiertem Text verbessern */ +pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; } + +q { quotes: none; } +q:before, q:after { content: ""; content: none; } + +small { font-size: 85%; } + +/* Text höher oder tiefer stellen ohne die Zeilenhöhe zu beeinflussen: h5bp.com/k */ +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } +sup { top: -0.5em; } +sub { bottom: -0.25em; } + + +/* ============================================================================= + Listen + ========================================================================== */ + +ul, ol { margin: 1em 0; padding: 0 0 0 40px; } +dd { margin: 0 0 0 40px; } +nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; } + + +/* ============================================================================= + Eingebetteter Inhalt + ========================================================================== */ + +/* + * 1. Verbessern der Bildqualität beim Skalieren in IE7: h5bp.com/d + * 2. Entfernen der Lücke zwischen Bildern und Rahmen in Bildcontainern: h5bp.com/e + */ + +img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; } + +/* + * Korrekter Überlauf in IE9 nicht verborgen + */ + +svg:not(:root) { overflow: hidden; } + + +/* ============================================================================= + Abbildungen + ========================================================================== */ + +figure { margin: 0; } + + +/* ============================================================================= + Formulare + ========================================================================== */ + +form { margin: 0; } +fieldset { border: 0; margin: 0; padding: 0; } + +/* Festlegen, dass 'label' den Fokus auf das betreffende Forularelement setzt */ +label { cursor: pointer; } + +/* + * 1. Korrekte Farbe wird in IE6/7/8/9 nicht vererbt + * 2. Korrekte Ausrichtung wird in IE6/7 merkwürdig angezeigt + */ + +legend { border: 0; *margin-left: -7px; padding: 0; } + +/* + * 1. Korrekte Schriftgröße wird in keinem der Browser vererbt + * 2. Entfernen von Rändern in FF3/4 S5 Chrome + * 3. Definieren konsistenter vertikaler Ausrichtung für alle Browser + */ + +button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; } + +/* + * 1. Für eine Übereinstimmung mit FF3/4 die Zeilenhöhe als normal definieren (im UA-Stylesheet '!important' verwenden) + * 2. Korrekter innerer Abstand wird in IE6/7 merkwürdig angezeigt + */ + +button, input { line-height: normal; *overflow: visible; } + +/* + * In 'table' inneren Abstand wieder einführen, um Überlappungen zu vermeiden und IE6/7-Probleme mit Leerraum zu vermeiden. + */ + +table button, table input { *overflow: auto; } + +/* + * 1. Anzeigen des Handcursors bei klickbaren Formularelementen + * 2. Gestaltung klickbarer Formularelemente in iOS ermöglichen + */ + +button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; } + +/* + * Konsistente Größe und Darstellung von Feldern + */ + +input[type="checkbox"], input[type="radio"] { box-sizing: border-box; } +input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; } +input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } + +/* + * In FF3/4 innere Auffüllung und Rahmen entfernen: h5bp.com/l + */ + +button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } + +/* + * 1. In IE6/7/8/9 vertikale Standardbildlaufleiste entfernen + * 2. Größenänderung nur in der Vertikale zulassen + */ + +textarea { overflow: auto; vertical-align: top; resize: vertical; } + +/* Farben für die Formularüberprüfung */ +input:valid, textarea:valid { } +input:invalid, textarea:invalid { background-color: #f0dddd; } + + +/* ============================================================================= + Tabellen + ========================================================================== */ + +table { border-collapse: collapse; border-spacing: 0; } +td { vertical-align: top; } + + +/* ==|== Primärstile ======================================================== + Autor: + ========================================================================== */ + + + + + + + + + + + + + + + + +/* ==|== nichtsemantische Helferklassen ======================================== + Definieren Sie Ihre Stile vor dieser Auswahl + ========================================================================== */ + +/* Für den Austausch von Bildern */ +.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; } +.ir br { display: none; } + +/* Vor Bildschirmleseprogrammen und Browsern verbergen: h5bp.com/u */ +.hidden { display: none !important; visibility: hidden; } + +/* Nur visuell verbergen, aber für Bildschirmleseprogramme bereithalten: h5bp.com/v */ +.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } + +/* Erweitert die Klasse ".visuallyhidden" so, dass das Element bei der Tastaturnavigation den Fokus erhält: h5bp.com/p */ +.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } + +/* Visuell und vor Bildschirmleseprogrammen verbergen, aber das Layout beibehalten */ +.invisible { visibility: hidden; } + +/* Floats beinhalten: h5bp.com/q */ +.clearfix:before, .clearfix:after { content: ""; display: table; } +.clearfix:after { clear: both; } +.clearfix { zoom: 1; } + + +/* ==|== Druckstile ========================================================== + Druckstile. + Innen, um die erforderliche HTTP-Verbindung zu vermeiden: h5bp.com/r + ========================================================================== */ + + @media print { + * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Schwarz druckt schneller: h5bp.com/s */ + a, a:visited { text-decoration: underline; } + a[href]:after { content: " (" attr(href) ")"; } + abbr[title]:after { content: " (" attr(title) ")"; } + .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Keine Bildverweise anzeigen und keine javascript/internal- Hyperlinks */ + pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } + thead { display: table-header-group; } /* h5bp.com/t */ + tr, img { page-break-inside: avoid; } + img { max-width: 100% !important; } + @page { margin: 0.5cm; } + p, h2, h3 { orphans: 3; widows: 3; } + h2, h3 { page-break-after: avoid; } +} diff --git a/browserconfig.xml b/browserconfig.xml new file mode 100644 index 0000000..13989e8 --- /dev/null +++ b/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #73401e + + + diff --git a/error/400.html b/error/400.html new file mode 100644 index 0000000..05a3b3c --- /dev/null +++ b/error/400.html @@ -0,0 +1,61 @@ + + + + FEHLER 400 - Ungültige Anforderung! + + + + + +
+ +
+

Folgender Fehler ist aufgetreten:

+

Sie verwenden eine ungültige Anforderung.

+

Bei Problemen wenden Sie sich bitte an den Webmaster.

+
+ +
+ + diff --git a/error/401.html b/error/401.html new file mode 100644 index 0000000..3e84dc7 --- /dev/null +++ b/error/401.html @@ -0,0 +1,61 @@ + + + + FEHLER 401 - Zugriff verweigert! + + + + + +
+ +
+

Folgender Fehler ist aufgetreten:

+

Der Anmeldeversuch ist fehlgeschlagen, vermutlich, weil ein ungültiger Benutzername oder ein ungültiges Kennwort verwendet wurde.

+

Bei weiteren Problemen wenden Sie sich bitte an den Webmaster.

+
+ +
+ + diff --git a/error/403.html b/error/403.html new file mode 100644 index 0000000..c7d0da9 --- /dev/null +++ b/error/403.html @@ -0,0 +1,61 @@ + + + + FEHLER 403 - Unzulässig! + + + + + +
+ +
+

Folgender Fehler ist aufgetreten:

+

Sie besitzen nicht die erforderlichen Rechte, die angegebene URL zu öffnen.

+

Bei weiteren Problemen wenden Sie sich bitte an den Webmaster.

+
+ +
+ + diff --git a/error/404.html b/error/404.html new file mode 100644 index 0000000..c476050 --- /dev/null +++ b/error/404.html @@ -0,0 +1,61 @@ + + + + FEHLER 404 - Nicht gefunden! + + + + + +
+ +
+

Folgender Fehler ist aufgetreten:

+

Die angegebene URL wurde auf diesem Server nicht gefunden.

+

Bitte überprüfen Sie die Schreibweise der URL oder wenden Sie sich an den Webmaster.

+
+ +
+ + diff --git a/error/405.html b/error/405.html new file mode 100644 index 0000000..cdada31 --- /dev/null +++ b/error/405.html @@ -0,0 +1,61 @@ + + + + FEHLER 405 - Methode unzulässig! + + + + + +
+ +
+

Folgender Fehler ist aufgetreten:

+

Für Zugriff auf diese Seite verwendetes HTTP-Verb ist nicht zulässig, Methode unzulässig.

+

Bei Problemen wenden Sie sich bitte an den Webmaster.

+
+ +
+ + diff --git a/error/500.html b/error/500.html new file mode 100644 index 0000000..99d2e4f --- /dev/null +++ b/error/500.html @@ -0,0 +1,61 @@ + + + + FEHLER 500 - Interner Serverfehler! + + + + + +
+ +
+

Folgender Fehler ist aufgetreten:

+

Beim Aufruf der angegebenen URL ist ein interner Serverfehler aufgetreten.

+

Sollten Sie diese Fehlermeldung öfter erhalten, wenden Sie sich bitte an den Webmaster.

+
+ +
+ + diff --git a/error/502.html b/error/502.html new file mode 100644 index 0000000..1d7afb3 --- /dev/null +++ b/error/502.html @@ -0,0 +1,61 @@ + + + + FEHLER 502 - Fehlerhaftes Gateway! + + + + + +
+ +
+

Folgender Fehler ist aufgetreten:

+

Dieser Server hat eine ungültige Antwort von einem Upstream-Server erhalten, auf den zugegriffen wurde, um die Anforderung zu erfüllen.

+

Sollten Sie diese Fehlermeldung öfter erhalten, wenden Sie sich bitte an den Webmaster.

+
+ +
+ + diff --git a/error/503.html b/error/503.html new file mode 100644 index 0000000..43dbef8 --- /dev/null +++ b/error/503.html @@ -0,0 +1,62 @@ + + + + FEHLER 503 - Dienst nicht verfügbar! + + + + + + +
+ +
+

Folgender Fehler ist aufgetreten:

+

Der Dienst ist momentan überlastet. Bitte versuchen Sie es später noch einmal.

+

Sollten Sie diese Fehlermeldung öfter erhalten, wenden Sie sich bitte an den Webmaster.

+
+ +
+ + diff --git a/favicon-16x16.png b/favicon-16x16.png new file mode 100644 index 0000000..949dbf1 Binary files /dev/null and b/favicon-16x16.png differ diff --git a/favicon-32x32.png b/favicon-32x32.png new file mode 100644 index 0000000..2f1b541 Binary files /dev/null and b/favicon-32x32.png differ diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..4930476 Binary files /dev/null and b/favicon.ico differ diff --git a/impressum.php b/impressum.php new file mode 100644 index 0000000..816500e --- /dev/null +++ b/impressum.php @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + +Nutellarechner + + + + + + +
+
+

Impressum

Angaben gemäß § 5 TMG

Florian Otto
+Hammerweg 37
+59929 Brilon-Wald
+

Vertreten durch:
+Florian Otto
+

Kontakt:
+
+1692
+1692

+

Haftungsausschluss:

Haftung für Inhalte

+Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.

Haftung für Links

+Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.

Urheberrecht

+Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet. Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.

Datenschutz

+Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder eMail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben.
+Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.
+Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-Mails, vor.
+

+ +
+
+ + + diff --git a/index.html_bak b/index.html_bak new file mode 100644 index 0000000..0ee0d1d --- /dev/null +++ b/index.html_bak @@ -0,0 +1,34 @@ + + + + + Mettcalc – calc all you need + + + + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+
+
+ + + diff --git a/index.php b/index.php new file mode 100644 index 0000000..04ca93c --- /dev/null +++ b/index.php @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + +Nutellarechner + + + + + + +
+
+

nutellarechner.de
+(Funktioniert auch für Nusspli ;) )

+

Brötchenhälften: +
+ Wie dick schmierst du? + +
+
+ +

+ +

+ +

+

+
+Ich will lieber Mett! +
+

+
+
+ + + diff --git a/mett.js b/mett.js new file mode 100644 index 0000000..c1d7357 --- /dev/null +++ b/mett.js @@ -0,0 +1,61 @@ +!!(function() { + var aUnits = { + 'wenig': 30, + 'normal': 40, + 'viel': 50, + 'sehr viel': 60 + } + var iHunger = 40; + var iRolls = 1; + var $oRolls = $('#halfRolls'); + var $oSelect = $('#hunger'); + var aMeasures = ['G', 'KG', 'T']; + + var inf = function(iIn) { + var sIn = String(Math.round(iIn)); + var rGx = /(\d+)(\d{3})/; + while(rGx.test(sIn)) sIn = sIn.replace(rGx, '$1.$2'); + return sIn; + } + var nf = function(fIn) { + var aIn = String(parseFloat(fIn).toFixed(2)).split('.'); + var rGx = /(\d+)(\d{3})/; + while(rGx.test(aIn[0])) aIn[0] = aIn[0].replace(rGx, '$1.$2'); + return aIn.join(','); + } + var calc = function() { + var fHack = iRolls * iHunger; + var sMeas = ''; + var bDiv = false; + for(var i in aMeasures) { + sMeas = aMeasures[i]; + if(fHack < 1000) break; + fHack /= 1000; + bDiv = true; + } + document.location.hash = 'r'+iRolls+'-m'+iHunger; + $('#out').text('Bestell '+(bDiv ? nf(fHack) : inf(fHack))+' '+sMeas+' Mett beim Metzger, bro.'); + } + + var aMatch = document.location.hash.match(/r(\d+)-m(\d+)/); + if(aMatch) { + iRolls = parseInt(aMatch[1]); + iHunger = parseInt(aMatch[2]); + calc(); + } + + $oRolls.val(iRolls).on('change', function() { + iRolls = parseInt($oRolls.val()); + }); + + $.each(aUnits, function(name, e) { + $oSelect.append($('