delete old stuff
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
|
||||
<cross-domain-policy>
|
||||
<allow-access-from domain="piwik.higgsboson.tk" />
|
||||
</cross-domain-policy>
|
BIN
source/cv.pdf
@ -1,14 +0,0 @@
|
||||
Endpoint: dn42-2.higgsboson.tk
|
||||
Public IP for GRE: 2a03:b0c0:0:1010::3d:b001
|
||||
ASN: 4242420092
|
||||
Tech: IPSEC/GRE only via ipv6, tinc/openvpn also ipv4
|
||||
Internal IPs: 172.23.75.65 / fe80::93/64
|
||||
|
||||
Ipsec EC384:
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE37k1EY8RfNZNEQfG6WtZWPw2whj0hHdv
|
||||
rN8OCbGeGWLncvtT3mCxAL3b9EpoxaDK4fvz02dcRPSPsDr8SN8NxLZYyQAjfgy/
|
||||
nw9DqgKhxI6Z4dQvsiCKuVH6zWpNcX2C
|
||||
-----END PUBLIC KEY-----
|
||||
|
||||
Tinc ED25519: 5h4UU4iiH7IikZaXK0zthlkkiXgBlMECmbNpUr/JT2G
|
@ -1,33 +0,0 @@
|
||||
Endpoint: dn42.higgsboson.tk
|
||||
Public IP for GRE: 2a03:4000:13:31e:1::1
|
||||
ASN: 4242420092
|
||||
Tech: IPSEC/GRE only over ipv6, tinc/openvpn/wireguard also ipv4
|
||||
Internal IPs: 172.23.75.1 / fe80::92/64
|
||||
|
||||
Wireguard: fxiGmHUK1aMa07cejTP3SHxYivIj3aXZwdvzTEXmYHM=
|
||||
|
||||
Tinc ed25519: 5h4UU4iiH7IikZaXK0zthlkkiXgBlMECmbNpUr/JT2G
|
||||
|
||||
Ipsec EC384:
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEkDo2/LTNj67UXZzufqBgHKK3MQDAz1I
|
||||
m474yvGRCyUHSqU/KfJrJzVmx3EwGm9CH5kOUeDyezx6W25q0SuTLvppqaMAc3ws
|
||||
oJvvi8/4giWopUrSoLM9Tr3taHZ8JQKj
|
||||
-----END PUBLIC KEY-----
|
||||
|
||||
Ipsec 4096 RSA:
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAu4E47rtn6yY4caxRbD5f
|
||||
gWwg6NLClGAFab5KMWsWiVEwU03kWGeWC5sb0xDfUPuXY8tWyaHZFRsXaOObtT00
|
||||
M0XLNYK+6pYy7YqKAbbKZ388vrKn3t/TkFaGP6no/k+gIL9RD015wgG431oYY2z7
|
||||
zocrchwE5p+6ED1yICed1BYsuxlbTgdIZYNMbBOKFMswVF2vlEScMVSNCRHWwlUw
|
||||
5KQCUf6GVYGKUjOnOhBymZPMUVHKnDdDv0ux3zSCwAyqmFxK75BprKGSRSJ5ctt2
|
||||
9+t9IgaV60cuMfn3Fb76eC6+TBHfySLV8f55zlQMbXekeHaJVq3zkbnHhmq1CZug
|
||||
lpeiu3efTM4Tcmv4R1WY7Ufa84SuU959Zf6qAyG1P/IaL7jkLl2cr0dJ0D+dtLMh
|
||||
vRHrfaaJcIf+BODO3ZrmdM71rE0jhsxIN2TY7lNkfuADicBt4qe0TBr7nb/h2YGY
|
||||
2Ri+iB39D4LylhEbNt2ITde/9PXr1lGYS+w4WBxNooPp728n+V3N6tFhspIrYkFV
|
||||
1ViIW9hCrJG4Pf1kPeQG5Uo9vh/4qH/ED6Rqi5S8CKMyY/Bi5XtnC4QLh+fJ2BTb
|
||||
9bicgVa7ArEF0rly6dcI31sXTYk8VRkvzb139+swzL0bR0GPMogFc9ouYK8qN+mV
|
||||
5W7maQ8UsMq2zHjpK/SPSZkCAwEAAQ==
|
||||
-----END PUBLIC KEY-----
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@ -1,44 +0,0 @@
|
||||
StartFontMetrics 2.0
|
||||
Comment Generated by FontForge 20110222
|
||||
Comment Creation Date: Sat Jan 5 16:32:52 2013
|
||||
FontName fontawesome
|
||||
FullName fontawesome
|
||||
FamilyName fontawesome
|
||||
Weight Book
|
||||
Notice (Copyright 2013 Adobe Systems Incorporated. All rights reserved.)
|
||||
ItalicAngle 0
|
||||
IsFixedPitch false
|
||||
UnderlinePosition -89
|
||||
UnderlineThickness 90
|
||||
Version 1.00 2012
|
||||
EncodingScheme ISO10646-1
|
||||
FontBBox 0 -144 1072 858
|
||||
Descender -2147483648
|
||||
StartCharMetrics 25
|
||||
C -1 ; WX 1000 ; N envelope ; B 0 -72 1000 715 ;
|
||||
C -1 ; WX 928 ; N star ; B 0 -47 929 840 ;
|
||||
C -1 ; WX 785 ; N user ; B 0 -72 786 786 ;
|
||||
C -1 ; WX 785 ; N trash ; B 0 -72 786 786 ;
|
||||
C -1 ; WX 928 ; N download_alt ; B 0 -72 929 715 ;
|
||||
C -1 ; WX 857 ; N inbox ; B 0 0 858 715 ;
|
||||
C -1 ; WX 642 ; N lock ; B 0 0 643 786 ;
|
||||
C -1 ; WX 785 ; N qrcode ; B 0 0 786 786 ;
|
||||
C -1 ; WX 1000 ; N edit ; B 0 0 996 786 ;
|
||||
C -1 ; WX 1000 ; N comment ; B 0 -144 1000 715 ;
|
||||
C -1 ; WX 1000 ; N key ; B 0 -103 940 786 ;
|
||||
C -1 ; WX 1000 ; N comments ; B 0 -72 1000 715 ;
|
||||
C -1 ; WX 857 ; N github_sign ; B 0 -72 858 786 ;
|
||||
C -1 ; WX 928 ; N upload_alt ; B 0 -72 929 750 ;
|
||||
C -1 ; WX 1071 ; N twitter ; B 0 -72 1047 786 ;
|
||||
C -1 ; WX 857 ; N github ; B 0 -72 858 786 ;
|
||||
C -1 ; WX 785 ; N rss ; B 0 0 786 786 ;
|
||||
C -1 ; WX 857 ; N circle_arrow_left ; B 0 -72 858 786 ;
|
||||
C -1 ; WX 857 ; N globe ; B 0 -72 858 786 ;
|
||||
C -1 ; WX 1071 ; N group ; B 0 -143 1072 858 ;
|
||||
C -1 ; WX 1071 ; N cloud ; B 0 0 1072 786 ;
|
||||
C -1 ; WX 928 ; N google_plus ; B 0 -143 929 786 ;
|
||||
C -1 ; WX 1000 ; N envelope_alt ; B 0 -72 1000 715 ;
|
||||
C -1 ; WX 1000 ; N comment_alt ; B 0 -143 1000 715 ;
|
||||
C -1 ; WX 928 ; N github_alt ; B 0 -72 929 715 ;
|
||||
EndCharMetrics
|
||||
EndFontMetrics
|
Before Width: | Height: | Size: 1.2 MiB |
@ -1,23 +0,0 @@
|
||||
/* the humans responsible & colophon */
|
||||
/* humanstxt.org */
|
||||
|
||||
|
||||
/* TEAM */
|
||||
IOS Programmer: Albert Schulz <--- hire this guy
|
||||
Twitter: @albert_sn
|
||||
Location: Germany
|
||||
|
||||
Programmer & Admin: Jörg Thalheim
|
||||
Twitter: @Mic_92
|
||||
Location: Germany
|
||||
|
||||
/* THANKS */
|
||||
Names (& URL):
|
||||
|
||||
/* SITE */
|
||||
Last update: 2012/08/10
|
||||
Standards: HTML5, CSS3
|
||||
Css Framework: pure (http://purecss.io)
|
||||
Fonts: Lobster, Cabin
|
||||
Software: middleman, sass, slim
|
||||
IDE: vim
|
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 15 KiB |
@ -1,223 +0,0 @@
|
||||
.container
|
||||
h1 Impressum
|
||||
p Angaben gemäß § 5 TMG:
|
||||
p
|
||||
| Albert Schulz
|
||||
br/
|
||||
| Hauptstraße 25
|
||||
br/
|
||||
| 01097 Dresden
|
||||
br/
|
||||
h2 Kontakt:
|
||||
table.pure-table summary="How to contact us"
|
||||
tr
|
||||
td
|
||||
p Telefon:
|
||||
td
|
||||
p 0176 / 30329588
|
||||
tr
|
||||
td
|
||||
p Telefax:
|
||||
td
|
||||
p -
|
||||
tr
|
||||
td
|
||||
p E-Mail:
|
||||
td
|
||||
p albert.schulz@me.com
|
||||
p
|
||||
' Quelle:
|
||||
i Impressumsgenerator,
|
||||
' Rechtsanwalt für
|
||||
a href="http://www.e-recht24.de" Sören Siebert
|
||||
h2 Haftungsausschluss:
|
||||
p
|
||||
strong Haftung für Inhalte
|
||||
p
|
||||
' 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.
|
||||
p
|
||||
strong Haftung für Links
|
||||
p
|
||||
' 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.
|
||||
p
|
||||
strong Urheberrecht
|
||||
p
|
||||
' 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.
|
||||
p
|
||||
strong Datenschutz
|
||||
p
|
||||
' 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.
|
||||
p
|
||||
' 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.
|
||||
p
|
||||
' 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.
|
||||
p
|
||||
strong
|
||||
' Datenschutzerklärung für die Nutzung von Facebook-Plugins
|
||||
(Like-Button)
|
||||
p
|
||||
' Auf unseren Seiten sind Plugins des sozialen Netzwerks Facebook,
|
||||
1601 South California Avenue, Palo Alto, CA 94304, USA integriert.
|
||||
Die Facebook-Plugins erkennen Sie an dem Facebook-Logo oder
|
||||
dem "Like-Button" ("Gefällt mir") auf unserer Seite. Eine Übersicht
|
||||
über die Facebook-Plugins finden Sie hier:
|
||||
a href="http://developers.facebook.com/docs/plugins/" target="_blank" http://developers.facebook.com/docs/plugins/
|
||||
|
||||
br/
|
||||
' Wenn Sie unsere Seiten
|
||||
besuchen, wird über das Plugin eine direkte Verbindung zwischen Ihrem
|
||||
Browser und dem Facebook-Server hergestellt. Facebook erhält dadurch
|
||||
die Information, dass Sie mit Ihrer IP-Adresse unsere Seite
|
||||
besucht haben. Wenn Sie den Facebook "Like-Button" anklicken während
|
||||
Sie in Ihrem Facebook-Account eingeloggt sind, können Sie die Inhalte
|
||||
unserer Seiten auf Ihrem Facebook-Profil verlinken. Dadurch kann
|
||||
Facebook den Besuch unserer Seiten Ihrem Benutzerkonto zuordnen. Wir
|
||||
weisen darauf hin, dass wir als Anbieter der Seiten keine Kenntnis vom
|
||||
Inhalt der übermittelten Daten sowie deren Nutzung durch Facebook
|
||||
erhalten. Weitere Informationen hierzu finden Sie in der
|
||||
Datenschutzerklärung von facebook unter
|
||||
a href="http://de-de.facebook.com/policy.php" target="_blank" http://de-de.facebook.com/policy.php
|
||||
p
|
||||
' Wenn Sie nicht wünschen, dass Facebook den Besuch unserer Seiten Ihrem
|
||||
Facebook-Nutzerkonto zuordnen kann, loggen Sie sich bitte aus Ihrem
|
||||
Facebook-Benutzerkonto aus.
|
||||
p
|
||||
strong Datenschutzerklärung für die Nutzung von Google Adsense
|
||||
p
|
||||
' Diese Website benutzt Google AdSense, einen Dienst zum Einbinden
|
||||
von Werbeanzeigen der Google Inc. ("Google"). Google AdSense
|
||||
verwendet sog. "Cookies", Textdateien, die auf Ihrem Computer
|
||||
gespeichert werden und die eine Analyse der Benutzung der Website
|
||||
ermöglicht. Google AdSense verwendet auch so genannte Web Beacons
|
||||
(unsichtbare Grafiken). Durch diese Web Beacons können Informationen
|
||||
wie der Besucherverkehr auf diesen Seiten ausgewertet werden.
|
||||
p
|
||||
' Die durch Cookies und Web Beacons erzeugten Informationen über
|
||||
die Benutzung dieser Website (einschließlich Ihrer IP-Adresse) und
|
||||
Auslieferung von Werbeformaten werden an einen Server von Google
|
||||
in den USA übertragen und dort gespeichert. Diese Informationen können
|
||||
von Google an Vertragspartner von Google weiter gegeben werden.
|
||||
Google wird Ihre IP-Adresse jedoch nicht mit anderen von Ihnen
|
||||
gespeicherten Daten zusammenführen.
|
||||
p
|
||||
' Sie können die Installation der Cookies durch eine entsprechende
|
||||
Einstellung Ihrer Browser Software verhindern; wir weisen Sie jedoch
|
||||
darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche
|
||||
Funktionen dieser Website voll umfänglich nutzen können. Durch die
|
||||
Nutzung dieser Website erklären Sie sich mit der Bearbeitung der
|
||||
über Sie erhobenen Daten durch Google in der zuvor beschriebenen
|
||||
Art und Weise und zu dem zuvor benannten Zweck einverstanden.
|
||||
p
|
||||
strong Datenschutzerklärung für die Nutzung von Google +1
|
||||
p
|
||||
i Erfassung und Weitergabe von Informationen:
|
||||
br/
|
||||
' Mithilfe der Google +1-Schaltfläche können Sie Informationen weltweit
|
||||
veröffentlichen. über die Google +1-Schaltfläche erhalten Sie und andere
|
||||
Nutzer personalisierte Inhalte von Google und unseren Partnern. Google
|
||||
speichert sowohl die Information, dass Sie für einen Inhalt +1 gegeben
|
||||
haben, als auch Informationen über die Seite, die Sie beim Klicken auf
|
||||
+1 angesehen haben. Ihre +1 können als Hinweise zusammen mit Ihrem
|
||||
Profilnamen und Ihrem Foto in Google-Diensten, wie etwa in
|
||||
Suchergebnissen oder in Ihrem Google-Profil, oder an anderen Stellen auf
|
||||
Websites und Anzeigen im Internet eingeblendet werden.
|
||||
br/
|
||||
' Google zeichnet Informationen über Ihre +1-Aktivitäten auf, um die
|
||||
Google-Dienste für Sie und andere zu verbessern. Um die Google
|
||||
+1-Schaltfläche verwenden zu können, benötigen Sie ein weltweit
|
||||
sichtbares, öffentliches Google-Profil, das zumindest den für das
|
||||
Profil gewählten Namen enthalten muss. Dieser Name wird in allen
|
||||
Google-Diensten verwendet. In manchen Fällen kann dieser Name auch
|
||||
einen anderen Namen ersetzen, den Sie beim Teilen von Inhalten über
|
||||
Ihr Google-Konto verwendet haben. Die Identität Ihres Google-Profils
|
||||
kann Nutzern angezeigt werden, die Ihre E-Mail-Adresse kennen oder
|
||||
über andere identifizierende Informationen von Ihnen verfügen.
|
||||
br/
|
||||
br/
|
||||
i Verwendung der erfassten Informationen:
|
||||
br/
|
||||
' Neben den oben erläuterten Verwendungszwecken werden die von Ihnen
|
||||
bereitgestellten Informationen gemäß den geltenden
|
||||
Google-Datenschutzbestimmungen genutzt. Google veröffentlicht
|
||||
möglicherweise zusammengefasste Statistiken über die +1-Aktivitäten
|
||||
der Nutzer bzw. gibt diese an Nutzer und Partner weiter, wie etwa
|
||||
Publisher, Inserenten oder verbundene Websites.
|
||||
p
|
||||
strong Datenschutzerklärung für die Nutzung von Twitter
|
||||
p
|
||||
' Auf unseren Seiten sind Funktionen des Dienstes Twitter eingebunden.
|
||||
Diese Funktionen werden angeboten durch die Twitter Inc., 795
|
||||
Folsom St., Suite 600, San Francisco, CA 94107, USA. Durch das Benutzen
|
||||
von Twitter und der Funktion "Re-Tweet" werden die von Ihnen
|
||||
besuchten Webseiten mit Ihrem Twitter-Account verknüpft und anderen
|
||||
Nutzern bekannt gegeben. Dabei werden auch Daten an Twitter übertragen.
|
||||
p
|
||||
' Wir weisen darauf hin, dass wir als Anbieter der Seiten keine
|
||||
Kenntnis vom Inhalt der übermittelten Daten sowie deren Nutzung durch
|
||||
Twitter erhalten. Weitere Informationen hierzu finden Sie in der
|
||||
Datenschutzerklärung von Twitter unter
|
||||
a href="http://twitter.com/privacy" target="_blank"
|
||||
| http://twitter.com/privacy
|
||||
p
|
||||
' Ihre Datenschutzeinstellungen bei Twitter können Sie in den
|
||||
' Konto-Einstellungen unter
|
||||
a href="http://twitter.com/account/settings" target="_blank"
|
||||
| http://twitter.com/account/settings
|
||||
' ändern.
|
||||
p
|
||||
strong Piwik
|
||||
/! piwik
|
||||
iframe frameborder="no" height="250px" src="//piwik.higgsboson.tk/index.php?module=CoreAdminHome&action=optOut&language=de" width="600px"
|
||||
/! piwik
|
||||
p
|
||||
strong Quellen:
|
||||
ul
|
||||
li
|
||||
a href="http://www.e-recht24.de/muster-disclaimer.htm" target="_blank" Disclaimer eRecht24
|
||||
li
|
||||
a href="http://www.e-recht24.de/artikel/datenschutz/6590-facebook-like-button-datenschutz-disclaimer.html" target="_blank" Facebook Disclaimer
|
||||
li
|
||||
a href="http://www.e-recht24.de/artikel/datenschutz/6635-datenschutz-rechtliche-risiken-bei-der-nutzung-von-google-analytics-und-googleadsense.html" target="_blank" eRecht24 Datenschutzerklärung Google Adsense
|
||||
li
|
||||
a href="http://www.google.com/intl/de/+/policy/+1button.html" target="_blank" Datenschutzerklärung für Google +1
|
||||
li
|
||||
a href="http://twitter.com/privacy" target="_blank" Twitter Bedingungen
|
||||
|
@ -1,164 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Dropbox Uploader
|
||||
*
|
||||
* Copyright (c) 2009 Jaka Jancar
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
* @author Jaka Jancar [jaka@kubje.org] [http://jaka.kubje.org/]
|
||||
* @version 1.1.7
|
||||
*/
|
||||
class DropboxUploader {
|
||||
protected $email;
|
||||
protected $password;
|
||||
protected $caCertSourceType = self::CACERT_SOURCE_SYSTEM;
|
||||
const CACERT_SOURCE_SYSTEM = 0;
|
||||
const CACERT_SOURCE_FILE = 1;
|
||||
const CACERT_SOURCE_DIR = 2;
|
||||
protected $caCertSource;
|
||||
protected $loggedIn = false;
|
||||
protected $cookies = array();
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param string $email
|
||||
* @param string|null $password
|
||||
* @throws Exception
|
||||
*/
|
||||
public function __construct($email, $password) {
|
||||
// Check requirements
|
||||
if (!extension_loaded('curl'))
|
||||
throw new Exception('DropboxUploader requires the cURL extension.');
|
||||
|
||||
$this->email = $email;
|
||||
$this->password = $password;
|
||||
}
|
||||
|
||||
public function setCaCertificateFile($file)
|
||||
{
|
||||
$this->caCertSourceType = self::CACERT_SOURCE_FILE;
|
||||
$this->caCertSource = $file;
|
||||
}
|
||||
|
||||
public function setCaCertificateDir($dir)
|
||||
{
|
||||
$this->caCertSourceType = self::CACERT_SOURCE_DIR;
|
||||
$this->caCertSource = $dir;
|
||||
}
|
||||
|
||||
public function upload($source, $remoteDir='/', $remoteName=null) {
|
||||
if (!is_file($source) or !is_readable($source))
|
||||
throw new Exception("File '$source' does not exist or is not readable.");
|
||||
|
||||
if (!is_string($remoteDir))
|
||||
throw new Exception("Remote directory must be a string, is ".gettype($remoteDir)." instead.");
|
||||
|
||||
if (is_null($remoteName)) {
|
||||
# intentionally left blank
|
||||
} else if (!is_string($remoteName)) {
|
||||
throw new Exception("Remote filename must be a string, is ".gettype($remoteDir)." instead.");
|
||||
} else {
|
||||
$source .= ';filename='.$remoteName;
|
||||
}
|
||||
|
||||
if (!$this->loggedIn)
|
||||
$this->login();
|
||||
|
||||
$data = $this->request('https://www.dropbox.com/home');
|
||||
$token = $this->extractToken($data, 'https://dl-web.dropbox.com/upload');
|
||||
|
||||
|
||||
$postData = array('plain'=>'yes', 'file'=>'@'.$source, 'dest'=>$remoteDir, 't'=>$token);
|
||||
$data = $this->request('https://dl-web.dropbox.com/upload', true, $postData);
|
||||
if (strpos($data, 'HTTP/1.1 302 FOUND') === false)
|
||||
throw new Exception('Upload failed!');
|
||||
}
|
||||
|
||||
protected function login() {
|
||||
$data = $this->request('https://www.dropbox.com/login');
|
||||
$token = $this->extractTokenFromLoginForm($data);
|
||||
|
||||
$postData = array('login_email'=>$this->email, 'login_password'=>$this->password, 't'=>$token);
|
||||
$data = $this->request('https://www.dropbox.com/login', true, $postData);
|
||||
|
||||
if (stripos($data, 'location: /home') === false)
|
||||
throw new Exception('Login unsuccessful.');
|
||||
|
||||
$this->loggedIn = true;
|
||||
}
|
||||
|
||||
protected function request($url, $post=false, $postData=array()) {
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
|
||||
switch ($this->caCertSourceType) {
|
||||
case self::CACERT_SOURCE_FILE:
|
||||
curl_setopt($ch, CURLOPT_CAINFO, $this->caCertSource);
|
||||
break;
|
||||
case self::CACERT_SOURCE_DIR:
|
||||
curl_setopt($ch, CURLOPT_CAPATH, $this->caCertSource);
|
||||
break;
|
||||
}
|
||||
curl_setopt($ch, CURLOPT_HEADER, 1);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
if ($post) {
|
||||
curl_setopt($ch, CURLOPT_POST, $post);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
|
||||
}
|
||||
|
||||
// Send cookies
|
||||
$rawCookies = array();
|
||||
foreach ($this->cookies as $k=>$v)
|
||||
$rawCookies[] = "$k=$v";
|
||||
$rawCookies = implode(';', $rawCookies);
|
||||
curl_setopt($ch, CURLOPT_COOKIE, $rawCookies);
|
||||
|
||||
$data = curl_exec($ch);
|
||||
|
||||
if ($data === false) {
|
||||
throw new Exception(sprintf('Curl error: (#%d) %s', curl_errno($ch), curl_error($ch)));
|
||||
}
|
||||
|
||||
// Store received cookies
|
||||
preg_match_all('/Set-Cookie: ([^=]+)=(.*?);/i', $data, $matches, PREG_SET_ORDER);
|
||||
foreach ($matches as $match)
|
||||
$this->cookies[$match[1]] = $match[2];
|
||||
|
||||
curl_close($ch);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
protected function extractTokenFromLoginForm($html) {
|
||||
// <input type="hidden" name="t" value="UJygzfv9DLLCS-is7cLwgG7z" />
|
||||
if (!preg_match('#<input type="hidden" name="t" value="([A-Za-z0-9_-]+)" />#', $html, $matches))
|
||||
throw new Exception('Cannot extract login CSRF token.');
|
||||
return $matches[1];
|
||||
}
|
||||
|
||||
protected function extractToken($html, $formAction) {
|
||||
if (!preg_match('/<form [^>]*'.preg_quote($formAction, '/').'[^>]*>.*?(<input [^>]*name="t" [^>]*value="(.*?)"[^>]*>).*?<\/form>/is', $html, $matches) || !isset($matches[2]))
|
||||
throw new Exception("Cannot extract token! (form action=$formAction)");
|
||||
return $matches[2];
|
||||
}
|
||||
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
== javascript_include_tag "dropzone.js"
|
||||
|
||||
h1 Inbox
|
||||
p All uploaded files are sent to us
|
||||
p
|
||||
form#my-awesome-dropzone.dropzone.clickable action="/upload"
|
@ -1,62 +0,0 @@
|
||||
<?php
|
||||
require 'DropboxUploader.php';
|
||||
|
||||
|
||||
function trimds($s) {
|
||||
return rtrim($s, DIRECTORY_SEPARATOR);
|
||||
}
|
||||
|
||||
function joinpaths() {
|
||||
$trimmed = array_map('trimds', func_get_args());
|
||||
return implode(DIRECTORY_SEPARATOR, $trimmed);
|
||||
}
|
||||
|
||||
function upload($src, $filename, $directory, $email, $password) {
|
||||
$subdir = basename($directory);
|
||||
$dest = joinpaths("Server", "inbox", $subdir);
|
||||
|
||||
try {
|
||||
if ($filename === "") {
|
||||
throw new Exception('File name not supplied by the browser.');
|
||||
}
|
||||
|
||||
|
||||
$uploader = new DropboxUploader($email, $password);
|
||||
$uploader->upload($src, $dest, $filename);
|
||||
} catch (Exception $e) {
|
||||
$stored_exc = $e; // workaround missing finally-block
|
||||
}
|
||||
|
||||
if (isset($stored_exc)) {
|
||||
throw($stored_exc);
|
||||
}
|
||||
};
|
||||
|
||||
if ($_POST) {
|
||||
try {
|
||||
if (isset($_POST['dest'])) {
|
||||
$dest = $_POST['dest'];
|
||||
} else {
|
||||
$dest = "";
|
||||
}
|
||||
$file = "../../dropbox-secret.ini";
|
||||
if (file_exists($file) && is_readable($file)) {
|
||||
$secret = parse_ini_file($file);
|
||||
$email = $secret["email"];
|
||||
$password = $secret["password"];
|
||||
upload($_POST['file_path'], $_POST['file_name'], $dest,
|
||||
$email, $password);
|
||||
echo 'File successfully uploaded to your Dropbox!';
|
||||
} else {
|
||||
echo("$file not readable");
|
||||
}
|
||||
} catch(Exception $e) {
|
||||
#http_response_code(404);
|
||||
echo 'Error: ' . htmlspecialchars($e->getMessage());
|
||||
}
|
||||
|
||||
if (isset($file) && file_exists($file)) {
|
||||
unlink($file);
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,44 +0,0 @@
|
||||
.hero
|
||||
h1#pagetitle Higgs-Boson
|
||||
h2#pagesubtitle
|
||||
' by Albert
|
||||
span.amp &
|
||||
' Jörg
|
||||
|
||||
section
|
||||
ul.overview.icons
|
||||
li
|
||||
i.icon-rss.icon-2x
|
||||
span
|
||||
a href="http://blog.higgsboson.tk" title="My little Techblog" Blog
|
||||
li
|
||||
i.icon-edit.icon-2x
|
||||
span
|
||||
a href="http://pad.higgsboson.tk" title="collaborative editing" Etherpad Lite
|
||||
li
|
||||
i.icon-comments.icon-2x
|
||||
span
|
||||
== link_to "Jabber", "/jabber", title: "Our jabber server"
|
||||
li
|
||||
i.icon-github-sign.icon-2x
|
||||
span
|
||||
a href="http://git.higgsboson.tk/explore/projects" title="Webinterface to our public git repos" Gitlab
|
||||
/ TODO: readd nginx upload module
|
||||
/li
|
||||
/ i.icon-inbox.icon-2x
|
||||
/ span
|
||||
/ == link_to "Inbox", "/inbox", title: "Send us your files"
|
||||
li
|
||||
i.icon-download-alt.icon-2x
|
||||
span
|
||||
a href="http://ftp.higgsboson.tk" title="Some static files" Files
|
||||
li
|
||||
i.icon-qrcode.icon-2x
|
||||
span
|
||||
== link_to "QR-Code Generator", "/qr", title: "html5 qr-code generator"
|
||||
li
|
||||
i.icon-lock.icon-2x
|
||||
span
|
||||
== link_to "Private", "/privat.html", title: "Internal pages"
|
||||
|
||||
a style="visibility: false;" href='https://alpha.app.net/mic92' rel='me'
|
@ -1,49 +0,0 @@
|
||||
-content_for(:head)
|
||||
link rel="stylesheet" type="text/css" media="screen" href="https://cdn.conversejs.org/css/converse.min.css"
|
||||
script src="https://cdn.conversejs.org/dist/converse.min.js"
|
||||
javascript:
|
||||
require(['converse'], function (converse) {
|
||||
converse.initialize({
|
||||
auto_list_rooms: false,
|
||||
auto_subscribe: false,
|
||||
bosh_service_url: '/http-bind/',
|
||||
hide_muc_server: false,
|
||||
i18n: locales.en,
|
||||
prebind: false,
|
||||
show_controlbox_by_default: true,
|
||||
xhr_user_search: false
|
||||
});
|
||||
});
|
||||
h1 Our Jabber-Server
|
||||
|
||||
h2 Connection information
|
||||
p Open for registration!
|
||||
|
||||
table.pure-table.pure-table-bordered summary="Connection information"
|
||||
tr
|
||||
td Server Address:
|
||||
td higgsboson.tk
|
||||
tr
|
||||
td
|
||||
' MUC:
|
||||
br
|
||||
'(Chat Rooms)
|
||||
td muc.higgsboson.tk
|
||||
tr
|
||||
td
|
||||
' File Proxy:
|
||||
br
|
||||
' (to send files)
|
||||
td proxy.higgsboson.tk:5000
|
||||
|
||||
p
|
||||
' Don't have a jabber client?
|
||||
' Just visit our
|
||||
a href="http://muc.higgsboson.tk/" browser-based chat
|
||||
|
||||
#chatpanel
|
||||
#collective-xmpp-chat-data"
|
||||
#toggle-controlbox
|
||||
a href="#" class="chat toggle-online-users"
|
||||
strong.conn-feedback Toggle chat
|
||||
strong#online-count style="display: none" (0)
|
@ -1,64 +0,0 @@
|
||||
//---------------------------------------------------------------------
|
||||
// JavaScript-HTML5 QRCode Generator
|
||||
//
|
||||
// Copyright (c) 2011 Amanuel Tewolde
|
||||
//
|
||||
// Licensed under the MIT license:
|
||||
// http://www.opensource.org/licenses/mit-license.php
|
||||
//
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
// Generates a QRCode of text provided.
|
||||
// First QRCode is rendered to a canvas.
|
||||
// The canvas is then turned to an image PNG
|
||||
// before being returned as an <img> tag.
|
||||
function showQRCode(text) {
|
||||
|
||||
|
||||
var dotsize = 5; // size of box drawn on canvas
|
||||
var padding = 10; // (white area around your QRCode)
|
||||
var black = "rgb(0,0,0)";
|
||||
var white = "rgb(255,255,255)";
|
||||
var QRCodeVersion = 15; // 1-40 see http://www.denso-wave.com/qrcode/qrgene2-e.html
|
||||
|
||||
var canvas=document.createElement('canvas');
|
||||
var qrCanvasContext = canvas.getContext('2d');
|
||||
try {
|
||||
// QR Code Error Correction Capability
|
||||
// Higher levels improves error correction capability while decreasing the amount of data QR Code size.
|
||||
// QRErrorCorrectLevel.L (5%) QRErrorCorrectLevel.M (15%) QRErrorCorrectLevel.Q (25%) QRErrorCorrectLevel.H (30%)
|
||||
// eg. L can survive approx 5% damage...etc.
|
||||
var qr = new QRCode(QRCodeVersion, QRErrorCorrectLevel.L);
|
||||
qr.addData(text);
|
||||
qr.make();
|
||||
}
|
||||
catch(err) {
|
||||
var errorChild = document.createElement("p");
|
||||
var errorMSG = document.createTextNode("QR Code FAIL! " + err);
|
||||
errorChild.appendChild(errorMSG);
|
||||
return errorChild;
|
||||
}
|
||||
|
||||
var qrsize = qr.getModuleCount();
|
||||
canvas.setAttribute('height',(qrsize * dotsize) + padding);
|
||||
canvas.setAttribute('width',(qrsize * dotsize) + padding);
|
||||
var shiftForPadding = padding/2;
|
||||
if (canvas.getContext){
|
||||
for (var r = 0; r < qrsize; r++) {
|
||||
for (var c = 0; c < qrsize; c++) {
|
||||
if (qr.isDark(r, c))
|
||||
qrCanvasContext.fillStyle = black;
|
||||
else
|
||||
qrCanvasContext.fillStyle = white;
|
||||
qrCanvasContext.fillRect ((c*dotsize) +shiftForPadding,(r*dotsize) + shiftForPadding,dotsize,dotsize); // x, y, w, h
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var imgElement = document.createElement("img");
|
||||
imgElement.src = canvas.toDataURL("image/png");
|
||||
|
||||
return imgElement;
|
||||
|
||||
}
|
||||
|
4
source/javascripts/modernizr.custom.54013.js
vendored
@ -1,86 +0,0 @@
|
||||
==================================================================
|
||||
https://keybase.io/mic92
|
||||
--------------------------------------------------------------------
|
||||
|
||||
I hereby claim:
|
||||
|
||||
* I am an admin of https://thalheim.io
|
||||
* I am mic92 (https://keybase.io/mic92) on keybase.
|
||||
* I have a public key with fingerprint 3DEE 1C55 6E1C 3DC5 54F5 875A 003F 2096 411B 5F92
|
||||
|
||||
To do so, I am signing this object:
|
||||
|
||||
{
|
||||
"body": {
|
||||
"key": {
|
||||
"eldest_kid": "010168e960a47ca2bdd76bc6519349f9a5809dbff18f981cb6d1fb43f6db8a6a055c0a",
|
||||
"fingerprint": "3dee1c556e1c3dc554f5875a003f2096411b5f92",
|
||||
"host": "keybase.io",
|
||||
"key_id": "003f2096411b5f92",
|
||||
"kid": "010106aad5a9aaf0c5545554e800b83d5e1bd6a6697748714271c5dcb1995132ab420a",
|
||||
"uid": "f9e2f6a48ba81016fb4b204ef3f1aa00",
|
||||
"username": "mic92"
|
||||
},
|
||||
"merkle_root": {
|
||||
"ctime": 1548286116,
|
||||
"hash_meta": "a431e6f653248f3fe4b24319002d2878e4dd1e7a495eca74ca17dc04fdc97acb",
|
||||
"seqno": 4595760
|
||||
},
|
||||
"revoke": {
|
||||
"sig_ids": [
|
||||
"f00fd732b1c6e3da83520e918d2719b07c76f1692ea4a79d0b691f346eb544df0f"
|
||||
]
|
||||
},
|
||||
"service": {
|
||||
"hostname": "thalheim.io",
|
||||
"protocol": "https:"
|
||||
},
|
||||
"type": "web_service_binding",
|
||||
"version": 1
|
||||
},
|
||||
"ctime": 1548286118,
|
||||
"expire_in": 157680000,
|
||||
"prev": "454b19ef79177c612ef661003605ceefd084eeb16e79c73fce8edf931af3bdc9",
|
||||
"seqno": 38,
|
||||
"tag": "signature"
|
||||
}
|
||||
|
||||
which yields the signature:
|
||||
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
owJ4nGVTbVAVVRgGBFFGUoO0gcl0AyYN8Zzds2d3L2NqZomWH2A/Uuh2ds85l5XL
|
||||
vdd715uG5BdWfmQIKtRMBtNkotcRlXHKhgE/Ij8qLZpAyGz6oZP90TFHQZPOoo4z
|
||||
9WN3z77neZ/3eZ/3nOrUIXEp8YdvdmeOsH0n48/+acYVz779fYVkBulKyVMhlbHB
|
||||
D/NTFnG8ZTaVPBKAAGKdGRgQpFlENinVsGlhFRoKMrhBVB0Y1OQc6tzQoWViCrmJ
|
||||
FI6pqRNMgKpagEi5ErcDPhYOhe2AI2gVyhi0VBWLt0LFAnFV11QCgMJlYGAEoaly
|
||||
QxaJpcGImyHEmSTC8uygiIkf7315/8c/0g0wIVQlBiEcuCVU8TAdAFNXqMqgSTHB
|
||||
2NA0pGsQyZrQQy0TGoYKFZmYSB7UvXyQjhtM5pgg3SS664ho0ZQBYlzhkAjVLjDC
|
||||
wgFSzgS63LaElMpcqZyFy/zMGw4GHddZy7HdfagiXdYxhFh0RyKl3nLmEJFGkAIZ
|
||||
5lhVZKQLZiZqiJABgExlXdMZohQyjSBDZRbRkEWgRi2AOLUMjVimEBFhywJByYNU
|
||||
Q9UwEArCLBosY27xiO0TnkUkzxKJA8CpprRHZBNamCmU6IoqA2ZAnQofDBNoloY5
|
||||
xIbMCCKaQYGJDcgVhJmpIkQ54FJJpVsuHLWtQXp3TA/ad0qJv5TZ5fdnFQoHnaAV
|
||||
9IuNUscJRTyuMc7KkIt8i5neBxxe0w5QcUZERpSFI3YwIIwSyP96pudKbEXIDjOv
|
||||
7SJEm2KiALh1WFRQIhWJGTKuGVDTLAxlxjGG4pxgoFqMcQp0xJgJMdMMS1O4xXRG
|
||||
uaFAwhVTGPnIREWUcohPcArrAsRZHmZSZcrGBCUxLj4l7qkxExLJj0kHc/emZzoL
|
||||
f1/88F4lJbiXKi5l+KiHkdohIweKazYvPL3ntQ5yvak+MnHGt9duP77KP+23wPkn
|
||||
U0eivJN3t824cGNWBhr7z4mjDad7kxtSN/em93RMURYt2v3euUCGdbWtFTVu1zLm
|
||||
HLp15u6W0+0NSR+u27fjdp/Tfu+5HX+v6cjL2fBZRbkvVrWpcUvd4vG12U3vzxoe
|
||||
4++W4sL+td3n04qXzl89dGJza04aeHFAVtIS8qIFodxsnHCrK1TUemQnG3fsQuy4
|
||||
p6Q2P/Ni26i9DdKwHxxPZ8uYl0cd6i98+gN7aO+p5FvrqyZ9uvhe7dxYQ93om5Of
|
||||
Ode4tiep+olN3/QPW5UdP7zIll9asHbE2KvqV9dXb5059Zc1XbPzNlaeTFwwuYvN
|
||||
/Hzdr00lY+c0VfRmTGnDZ07t+fmPniM0eecr04oSrqVebs39Qi32P/8GKZwOXlh/
|
||||
ZcLo1urmzJYs40DJ3uuXtqY+NgJnJZ5I3LjjWObWZ/tC9Qvm9/na+jsv5/tzvot+
|
||||
dOSSsb1mRsP0zqI5s81XIwn545yz82LtqRl3Pt5Vltyzb8hA3TY6880V2pr0JO2T
|
||||
w7Wd4w/eWXG8ZH/F6i/V13enbz56JUaWzO3oiTXmX8q6kXkmflfWBHlSy/iU/vpl
|
||||
zX193YV17+zP+WtXRRrunhWt6+x6u2V389T1U8yfDrbLBeRU95LtSwcuxm/gBXc6
|
||||
C+YFfAeShlkFVVlVvsSa7DhSv7Bt59yv/wUcqP+k
|
||||
=qHe2
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
And finally, I am proving ownership of this host by posting or
|
||||
appending to this document.
|
||||
|
||||
View my publicly-auditable identity here: https://keybase.io/mic92
|
||||
|
||||
==================================================================
|
@ -1 +0,0 @@
|
||||
pong
|
@ -1,394 +0,0 @@
|
||||
/* The MIT License */
|
||||
.dropzone,
|
||||
.dropzone *,
|
||||
.dropzone-previews,
|
||||
.dropzone-previews * {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.dropzone {
|
||||
position: relative;
|
||||
border: 1px solid rgba(0,0,0,0.08);
|
||||
background: rgba(0,0,0,0.02);
|
||||
padding: 1em;
|
||||
}
|
||||
.dropzone.clickable {
|
||||
cursor: pointer;
|
||||
}
|
||||
.dropzone.clickable .message {
|
||||
cursor: pointer;
|
||||
}
|
||||
.dropzone.clickable * {
|
||||
cursor: default;
|
||||
}
|
||||
.dropzone .message {
|
||||
opacity: 1;
|
||||
-ms-filter: none;
|
||||
filter: none;
|
||||
}
|
||||
.dropzone.drag-hover {
|
||||
border-color: rgba(0,0,0,0.15);
|
||||
background: rgba(0,0,0,0.04);
|
||||
}
|
||||
.dropzone.started .message {
|
||||
display: none;
|
||||
}
|
||||
.dropzone .preview,
|
||||
.dropzone-previews .preview {
|
||||
background: rgba(255,255,255,0.8);
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
margin: 17px;
|
||||
vertical-align: top;
|
||||
border: 1px solid #acacac;
|
||||
padding: 6px 6px 6px 6px;
|
||||
}
|
||||
.dropzone .preview .details,
|
||||
.dropzone-previews .preview .details {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
position: relative;
|
||||
background: #ebebeb;
|
||||
padding: 5px;
|
||||
margin-bottom: 22px;
|
||||
}
|
||||
.dropzone .preview .details .filename,
|
||||
.dropzone-previews .preview .details .filename {
|
||||
overflow: hidden;
|
||||
height: 100%;
|
||||
}
|
||||
.dropzone .preview .details img,
|
||||
.dropzone-previews .preview .details img {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
.dropzone .preview .details .size,
|
||||
.dropzone-previews .preview .details .size {
|
||||
position: absolute;
|
||||
bottom: -28px;
|
||||
left: 3px;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
}
|
||||
.dropzone .preview.error .error-mark,
|
||||
.dropzone-previews .preview.error .error-mark {
|
||||
display: block;
|
||||
}
|
||||
.dropzone .preview.success .success-mark,
|
||||
.dropzone-previews .preview.success .success-mark {
|
||||
display: block;
|
||||
}
|
||||
.dropzone .preview:hover .details img,
|
||||
.dropzone-previews .preview:hover .details img {
|
||||
display: none;
|
||||
}
|
||||
.dropzone .preview:hover .success-mark,
|
||||
.dropzone-previews .preview:hover .success-mark,
|
||||
.dropzone .preview:hover .error-mark,
|
||||
.dropzone-previews .preview:hover .error-mark {
|
||||
display: none;
|
||||
}
|
||||
.dropzone .preview .success-mark,
|
||||
.dropzone-previews .preview .success-mark,
|
||||
.dropzone .preview .error-mark,
|
||||
.dropzone-previews .preview .error-mark {
|
||||
display: none;
|
||||
position: absolute;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
font-size: 30px;
|
||||
text-align: center;
|
||||
right: -10px;
|
||||
top: -10px;
|
||||
}
|
||||
.dropzone .preview .success-mark,
|
||||
.dropzone-previews .preview .success-mark {
|
||||
color: #8cc657;
|
||||
}
|
||||
.dropzone .preview .error-mark,
|
||||
.dropzone-previews .preview .error-mark {
|
||||
color: #ee162d;
|
||||
}
|
||||
.dropzone .preview .progress,
|
||||
.dropzone-previews .preview .progress {
|
||||
position: absolute;
|
||||
top: 100px;
|
||||
left: 6px;
|
||||
right: 6px;
|
||||
height: 6px;
|
||||
background: #d7d7d7;
|
||||
display: none;
|
||||
}
|
||||
.dropzone .preview .progress .upload,
|
||||
.dropzone-previews .preview .progress .upload {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 0%;
|
||||
background-color: #8cc657;
|
||||
}
|
||||
.dropzone .preview.processing .progress,
|
||||
.dropzone-previews .preview.processing .progress {
|
||||
display: block;
|
||||
}
|
||||
.dropzone .preview .error-message,
|
||||
.dropzone-previews .preview .error-message {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: -20px;
|
||||
background: rgba(245,245,245,0.8);
|
||||
padding: 8px 10px;
|
||||
color: #800;
|
||||
min-width: 140px;
|
||||
max-width: 500px;
|
||||
z-index: 500;
|
||||
}
|
||||
.dropzone .preview:hover.error .error-message,
|
||||
.dropzone-previews .preview:hover.error .error-message {
|
||||
display: block;
|
||||
}
|
||||
.dropzone {
|
||||
border: 1px solid rgba(0,0,0,0.03);
|
||||
min-height: 360px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
background: rgba(0,0,0,0.03);
|
||||
padding: 23px;
|
||||
}
|
||||
.dropzone .default.message {
|
||||
opacity: 1;
|
||||
-ms-filter: none;
|
||||
filter: none;
|
||||
-webkit-transition: opacity 0.3s ease-in-out;
|
||||
-moz-transition: opacity 0.3s ease-in-out;
|
||||
-o-transition: opacity 0.3s ease-in-out;
|
||||
-ms-transition: opacity 0.3s ease-in-out;
|
||||
transition: opacity 0.3s ease-in-out;
|
||||
background-image: url("../images/spritemap.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0 0;
|
||||
position: absolute;
|
||||
width: 428px;
|
||||
height: 123px;
|
||||
margin-left: -214px;
|
||||
margin-top: -61.5px;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
}
|
||||
@media all and (-webkit-min-device-pixel-ratio: 1.5) {
|
||||
.dropzone .default.message {
|
||||
background-image: url("../images/spritemap@2x.png");
|
||||
-webkit-background-size: 428px 406px;
|
||||
-moz-background-size: 428px 406px;
|
||||
background-size: 428px 406px;
|
||||
}
|
||||
}
|
||||
.dropzone .default.message span {
|
||||
display: none;
|
||||
}
|
||||
.dropzone.square .default.message {
|
||||
background-position: 0 -123px;
|
||||
width: 268px;
|
||||
margin-left: -134px;
|
||||
height: 174px;
|
||||
margin-top: -87px;
|
||||
}
|
||||
.dropzone.drag-hover .message {
|
||||
opacity: 0.15;
|
||||
filter: alpha(opacity=15);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=15)";
|
||||
}
|
||||
.dropzone.started .message {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
}
|
||||
.dropzone .preview,
|
||||
.dropzone-previews .preview {
|
||||
-webkit-box-shadow: 1px 1px 4px rgba(0,0,0,0.16);
|
||||
box-shadow: 1px 1px 4px rgba(0,0,0,0.16);
|
||||
font-size: 14px;
|
||||
}
|
||||
.dropzone .preview .details img,
|
||||
.dropzone-previews .preview .details img {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
.dropzone .preview.image-preview:hover .details img,
|
||||
.dropzone-previews .preview.image-preview:hover .details img {
|
||||
display: block;
|
||||
opacity: 0.1;
|
||||
filter: alpha(opacity=10);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
|
||||
}
|
||||
.dropzone .preview.success .success-mark,
|
||||
.dropzone-previews .preview.success .success-mark {
|
||||
opacity: 1;
|
||||
-ms-filter: none;
|
||||
filter: none;
|
||||
}
|
||||
.dropzone .preview.error .error-mark,
|
||||
.dropzone-previews .preview.error .error-mark {
|
||||
opacity: 1;
|
||||
-ms-filter: none;
|
||||
filter: none;
|
||||
}
|
||||
.dropzone .preview.error .progress .upload,
|
||||
.dropzone-previews .preview.error .progress .upload {
|
||||
background: #ee1e2d;
|
||||
}
|
||||
.dropzone .preview .error-mark,
|
||||
.dropzone-previews .preview .error-mark,
|
||||
.dropzone .preview .success-mark,
|
||||
.dropzone-previews .preview .success-mark {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
-webkit-transition: opacity 0.4s ease-in-out;
|
||||
-moz-transition: opacity 0.4s ease-in-out;
|
||||
-o-transition: opacity 0.4s ease-in-out;
|
||||
-ms-transition: opacity 0.4s ease-in-out;
|
||||
transition: opacity 0.4s ease-in-out;
|
||||
background-image: url("../images/spritemap.png");
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
@media all and (-webkit-min-device-pixel-ratio: 1.5) {
|
||||
.dropzone .preview .error-mark,
|
||||
.dropzone-previews .preview .error-mark,
|
||||
.dropzone .preview .success-mark,
|
||||
.dropzone-previews .preview .success-mark {
|
||||
background-image: url("../images/spritemap@2x.png");
|
||||
-webkit-background-size: 428px 406px;
|
||||
-moz-background-size: 428px 406px;
|
||||
background-size: 428px 406px;
|
||||
}
|
||||
}
|
||||
.dropzone .preview .error-mark span,
|
||||
.dropzone-previews .preview .error-mark span,
|
||||
.dropzone .preview .success-mark span,
|
||||
.dropzone-previews .preview .success-mark span {
|
||||
display: none;
|
||||
}
|
||||
.dropzone .preview .error-mark,
|
||||
.dropzone-previews .preview .error-mark {
|
||||
background-position: -268px -123px;
|
||||
}
|
||||
.dropzone .preview .success-mark,
|
||||
.dropzone-previews .preview .success-mark {
|
||||
background-position: -268px -163px;
|
||||
}
|
||||
.dropzone .preview .progress .upload,
|
||||
.dropzone-previews .preview .progress .upload {
|
||||
-webkit-animation: loading 0.4s linear infinite;
|
||||
-moz-animation: loading 0.4s linear infinite;
|
||||
-o-animation: loading 0.4s linear infinite;
|
||||
-ms-animation: loading 0.4s linear infinite;
|
||||
animation: loading 0.4s linear infinite;
|
||||
-webkit-transition: width 0.3s ease-in-out;
|
||||
-moz-transition: width 0.3s ease-in-out;
|
||||
-o-transition: width 0.3s ease-in-out;
|
||||
-ms-transition: width 0.3s ease-in-out;
|
||||
transition: width 0.3s ease-in-out;
|
||||
-webkit-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 0%;
|
||||
height: 100%;
|
||||
background-image: url("../images/spritemap.png");
|
||||
background-repeat: repeat-x;
|
||||
background-position: 0px -400px;
|
||||
}
|
||||
@media all and (-webkit-min-device-pixel-ratio: 1.5) {
|
||||
.dropzone .preview .progress .upload,
|
||||
.dropzone-previews .preview .progress .upload {
|
||||
background-image: url("../images/spritemap@2x.png");
|
||||
-webkit-background-size: 428px 406px;
|
||||
-moz-background-size: 428px 406px;
|
||||
background-size: 428px 406px;
|
||||
}
|
||||
}
|
||||
.dropzone .preview.success .progress,
|
||||
.dropzone-previews .preview.success .progress {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
-webkit-transition: opacity 0.4s ease-in-out;
|
||||
-moz-transition: opacity 0.4s ease-in-out;
|
||||
-o-transition: opacity 0.4s ease-in-out;
|
||||
-ms-transition: opacity 0.4s ease-in-out;
|
||||
transition: opacity 0.4s ease-in-out;
|
||||
}
|
||||
.dropzone .preview .error-message,
|
||||
.dropzone-previews .preview .error-message {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
-webkit-transition: opacity 0.3s ease-in-out;
|
||||
-moz-transition: opacity 0.3s ease-in-out;
|
||||
-o-transition: opacity 0.3s ease-in-out;
|
||||
-ms-transition: opacity 0.3s ease-in-out;
|
||||
transition: opacity 0.3s ease-in-out;
|
||||
}
|
||||
.dropzone .preview:hover.error .error-message,
|
||||
.dropzone-previews .preview:hover.error .error-message {
|
||||
opacity: 1;
|
||||
-ms-filter: none;
|
||||
filter: none;
|
||||
}
|
||||
@-moz-keyframes loading {
|
||||
0% {
|
||||
background-position: 0 -400px;
|
||||
}
|
||||
|
||||
100% {
|
||||
background-position: -7px -400px;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes loading {
|
||||
0% {
|
||||
background-position: 0 -400px;
|
||||
}
|
||||
|
||||
100% {
|
||||
background-position: -7px -400px;
|
||||
}
|
||||
}
|
||||
@-o-keyframes loading {
|
||||
0% {
|
||||
background-position: 0 -400px;
|
||||
}
|
||||
|
||||
100% {
|
||||
background-position: -7px -400px;
|
||||
}
|
||||
}
|
||||
@-ms-keyframes loading {
|
||||
0% {
|
||||
background-position: 0 -400px;
|
||||
}
|
||||
|
||||
100% {
|
||||
background-position: -7px -400px;
|
||||
}
|
||||
}
|
||||
@keyframes loading {
|
||||
0% {
|
||||
background-position: 0 -400px;
|
||||
}
|
||||
|
||||
100% {
|
||||
background-position: -7px -400px;
|
||||
}
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
/*!
|
||||
* Font Awesome 3.0.2
|
||||
* the iconic font designed for use with Twitter Bootstrap
|
||||
* -------------------------------------------------------
|
||||
* The full suite of pictographic icons, examples, and documentation
|
||||
* can be found at: http://fortawesome.github.com/Font-Awesome/
|
||||
*
|
||||
* License
|
||||
* -------------------------------------------------------
|
||||
* - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL
|
||||
* - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
|
||||
* http://opensource.org/licenses/mit-license.html
|
||||
* - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
|
||||
* - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
|
||||
* "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"
|
||||
|
||||
* Contact
|
||||
* -------------------------------------------------------
|
||||
* Email: dave@davegandy.com
|
||||
* Twitter: http://twitter.com/fortaweso_me
|
||||
* Work: Lead Product Designer @ http://kyruus.com
|
||||
*/.icon-large{font-size:1.3333333333333333em;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px;vertical-align:middle}.nav [class^="icon-"],.nav [class*=" icon-"]{vertical-align:inherit;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px}.nav [class^="icon-"].icon-large,.nav [class*=" icon-"].icon-large{vertical-align:-25%}.nav-pills [class^="icon-"].icon-large,.nav-tabs [class^="icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large{line-height:.75em;margin-top:-7px;padding-top:5px;margin-bottom:-5px;padding-bottom:4px}.btn [class^="icon-"].pull-left,.btn [class*=" icon-"].pull-left,.btn [class^="icon-"].pull-right,.btn [class*=" icon-"].pull-right{vertical-align:inherit}.btn [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large{margin-top:-0.5em}a [class^="icon-"],a [class*=" icon-"]{cursor:pointer}ul.icons{text-indent:-1.5em;margin-left:3em}.icon-envelope { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-star { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-user { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-trash { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-download-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-inbox { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-lock { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-qrcode { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-edit { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-comment { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-retweet { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-key { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-comments { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-github-sign { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-upload-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-twitter { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-github { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-rss { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-globe { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-group { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-cloud { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-google-plus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-envelope-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-comment-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-github-alt { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
@ -1,288 +0,0 @@
|
||||
/*!
|
||||
* Font Awesome 3.0.2
|
||||
* the iconic font designed for use with Twitter Bootstrap
|
||||
* -------------------------------------------------------
|
||||
* The full suite of pictographic icons, examples, and documentation
|
||||
* can be found at: http://fortawesome.github.com/Font-Awesome/
|
||||
*
|
||||
* License
|
||||
* -------------------------------------------------------
|
||||
* - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL
|
||||
* - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
|
||||
* http://opensource.org/licenses/mit-license.html
|
||||
* - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
|
||||
* - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
|
||||
* "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"
|
||||
*
|
||||
* Contact
|
||||
* -------------------------------------------------------
|
||||
* Email: dave@davegandy.com
|
||||
* Twitter: http://twitter.com/fortaweso_me
|
||||
* Work: Lead Product Designer @ http://kyruus.com
|
||||
*/
|
||||
|
||||
$fontAwesomePath: "" !default;
|
||||
$borderColor: #eee;
|
||||
$iconMuted: #eee;
|
||||
@mixin border-radius($radius) { -webkit-border-radius: $radius; -moz-border-radius: $radius; border-radius: $radius; }
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'FontAwesome';
|
||||
src: url('#{$fontAwesomePath}/fontawesome-webfont.eot?v=3.0.1');
|
||||
src: url('#{$fontAwesomePath}/fontawesome-webfont.eot?#iefix&v=3.0.1') format("embedded-opentype"),
|
||||
url('#{$fontAwesomePath}/fontawesome-webfont.woff?v=3.0.1') format("woff"),
|
||||
url('#{$fontAwesomePath}/fontawesome-webfont.ttf?v=3.0.1') format("truetype");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
/* Font Awesome styles
|
||||
------------------------------------------------------- */
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
font-family: FontAwesome;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
text-decoration: inherit;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
|
||||
/* sprites.less reset */
|
||||
display: inline;
|
||||
width: auto;
|
||||
height: auto;
|
||||
line-height: normal;
|
||||
vertical-align: baseline;
|
||||
background-image: none;
|
||||
background-position: 0% 0%;
|
||||
background-repeat: repeat;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
/* more sprites.less reset */
|
||||
.icon-white,
|
||||
.nav-pills > .active > a > [class^="icon-"],
|
||||
.nav-pills > .active > a > [class*=" icon-"],
|
||||
.nav-list > .active > a > [class^="icon-"],
|
||||
.nav-list > .active > a > [class*=" icon-"],
|
||||
.navbar-inverse .nav > .active > a > [class^="icon-"],
|
||||
.navbar-inverse .nav > .active > a > [class*=" icon-"],
|
||||
.dropdown-menu > li > a:hover > [class^="icon-"],
|
||||
.dropdown-menu > li > a:hover > [class*=" icon-"],
|
||||
.dropdown-menu > .active > a > [class^="icon-"],
|
||||
.dropdown-menu > .active > a > [class*=" icon-"],
|
||||
.dropdown-submenu:hover > a > [class^="icon-"],
|
||||
.dropdown-submenu:hover > a > [class*=" icon-"] {
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
[class^="icon-"]:before,
|
||||
[class*=" icon-"]:before {
|
||||
text-decoration: inherit;
|
||||
display: inline-block;
|
||||
speak: none;
|
||||
}
|
||||
|
||||
/* makes sure icons active on rollover in links */
|
||||
a {
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
/* makes the font 33% larger relative to the icon container */
|
||||
.icon-large:before {
|
||||
vertical-align: -10%;
|
||||
font-size: 1.3333333333333333em;
|
||||
}
|
||||
|
||||
.btn, .nav {
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
display: inline;
|
||||
/* keeps button heights with and without icons the same */
|
||||
&.icon-large { line-height: .9em; }
|
||||
&.icon-spin { display: inline-block; }
|
||||
}
|
||||
}
|
||||
|
||||
.nav-tabs, .nav-pills {
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
/* keeps button heights with and without icons the same */
|
||||
&, &.icon-large { line-height: .9em; }
|
||||
}
|
||||
}
|
||||
|
||||
li, .nav li {
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
display: inline-block;
|
||||
width: 1.25em;
|
||||
text-align: center;
|
||||
&.icon-large {
|
||||
/* increased font size for icon-large */
|
||||
width: 1.5625em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ul.icons {
|
||||
list-style-type: none;
|
||||
text-indent: -.75em;
|
||||
|
||||
li {
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
width: .75em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.icon-muted {
|
||||
color: $iconMuted;
|
||||
}
|
||||
|
||||
// Icon Borders
|
||||
// -------------------------
|
||||
|
||||
.icon-border {
|
||||
border: solid 1px $borderColor;
|
||||
padding: .2em .25em .15em;
|
||||
@include border-radius(3px);
|
||||
}
|
||||
|
||||
// Icon Sizes
|
||||
// -------------------------
|
||||
|
||||
.icon-2x {
|
||||
font-size: 2em;
|
||||
&.icon-border {
|
||||
border-width: 2px;
|
||||
@include border-radius(4px);
|
||||
}
|
||||
}
|
||||
.icon-3x {
|
||||
font-size: 3em;
|
||||
&.icon-border {
|
||||
border-width: 3px;
|
||||
@include border-radius(5px);
|
||||
}
|
||||
}
|
||||
.icon-4x {
|
||||
font-size: 4em;
|
||||
&.icon-border {
|
||||
border-width: 4px;
|
||||
@include border-radius(6px);
|
||||
}
|
||||
}
|
||||
|
||||
// Floats
|
||||
// -------------------------
|
||||
|
||||
// Quick floats
|
||||
.pull-right { float: right; }
|
||||
.pull-left { float: left; }
|
||||
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
&.pull-left {
|
||||
margin-right: .3em;
|
||||
}
|
||||
&.pull-right {
|
||||
margin-left: .3em;
|
||||
}
|
||||
}
|
||||
|
||||
.btn {
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
&.pull-left, &.pull-right {
|
||||
&.icon-2x { margin-top: .18em; }
|
||||
}
|
||||
&.icon-spin.icon-large { line-height: .8em; }
|
||||
}
|
||||
}
|
||||
|
||||
.btn.btn-small {
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
&.pull-left, &.pull-right {
|
||||
&.icon-2x { margin-top: .25em; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn.btn-large {
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
margin-top: 0; // overrides bootstrap default
|
||||
&.pull-left, &.pull-right {
|
||||
&.icon-2x { margin-top: .05em; }
|
||||
}
|
||||
&.pull-left.icon-2x { margin-right: .2em; }
|
||||
&.pull-right.icon-2x { margin-left: .2em; }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.icon-spin {
|
||||
display: inline-block;
|
||||
-moz-animation: spin 2s infinite linear;
|
||||
-o-animation: spin 2s infinite linear;
|
||||
-webkit-animation: spin 2s infinite linear;
|
||||
animation: spin 2s infinite linear;
|
||||
}
|
||||
|
||||
@-moz-keyframes spin {
|
||||
0% { -moz-transform: rotate(0deg); }
|
||||
100% { -moz-transform: rotate(359deg); }
|
||||
}
|
||||
@-webkit-keyframes spin {
|
||||
0% { -webkit-transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(359deg); }
|
||||
}
|
||||
@-o-keyframes spin {
|
||||
0% { -o-transform: rotate(0deg); }
|
||||
100% { -o-transform: rotate(359deg); }
|
||||
}
|
||||
@-ms-keyframes spin {
|
||||
0% { -ms-transform: rotate(0deg); }
|
||||
100% { -ms-transform: rotate(359deg); }
|
||||
}
|
||||
@keyframes spin {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
|
||||
@-moz-document url-prefix() {
|
||||
.icon-spin { height: .9em; }
|
||||
.btn .icon-spin { height: auto; }
|
||||
.icon-spin.icon-large { height: 1.25em; }
|
||||
.btn .icon-spin.icon-large { height: .75em; }
|
||||
}.icon-envelope:before { content: "\f003"; }
|
||||
.icon-star:before { content: "\f005"; }
|
||||
.icon-user:before { content: "\f007"; }
|
||||
.icon-trash:before { content: "\f014"; }
|
||||
.icon-download-alt:before { content: "\f019"; }
|
||||
.icon-inbox:before { content: "\f01c"; }
|
||||
.icon-lock:before { content: "\f023"; }
|
||||
.icon-qrcode:before { content: "\f029"; }
|
||||
.icon-edit:before { content: "\f044"; }
|
||||
.icon-comment:before { content: "\f075"; }
|
||||
.icon-retweet:before { content: "\f079"; }
|
||||
.icon-key:before { content: "\f084"; }
|
||||
.icon-comments:before { content: "\f086"; }
|
||||
.icon-github-sign:before { content: "\f092"; }
|
||||
.icon-upload-alt:before { content: "\f093"; }
|
||||
.icon-twitter:before { content: "\f099"; }
|
||||
.icon-github:before { content: "\f09b"; }
|
||||
.icon-rss:before { content: "\f09e"; }
|
||||
.icon-globe:before { content: "\f0ac"; }
|
||||
.icon-group:before { content: "\f0c0"; }
|
||||
.icon-cloud:before { content: "\f0c2"; }
|
||||
.icon-google-plus:before { content: "\f0d5"; }
|
||||
.icon-envelope-alt:before { content: "\f0e0"; }
|
||||
.icon-comment-alt:before { content: "\f0e5"; }
|
||||
.icon-github-alt:before { content: "\f113"; }
|
@ -1,73 +0,0 @@
|
||||
$fontAwesomePath: "../fonts";
|
||||
@import "fontawesome";
|
||||
@import "pure";
|
||||
|
||||
#sitelink {
|
||||
font-size: 1em;
|
||||
letter-spacing: -0.11em;
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
line-height: 1em;
|
||||
span {
|
||||
vertical-align: -0.2em;
|
||||
line-height: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
body,
|
||||
.pure-g [class *= "pure-u"],
|
||||
.pure-g-r [class *= "pure-u"] {
|
||||
/* Set you're content font stack here: */
|
||||
font-family: "Maven Pro", sans-serif;
|
||||
}
|
||||
|
||||
.icons {
|
||||
dd {
|
||||
display:block;clear:both;
|
||||
}
|
||||
}
|
||||
|
||||
.content {
|
||||
margin: 0px auto 50px;
|
||||
padding: 0px 2em;
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
.overview {
|
||||
margin: 0px auto 50px;
|
||||
max-width: 250px;
|
||||
}
|
||||
|
||||
.hero {
|
||||
min-height: 80px;
|
||||
margin: 0px;
|
||||
color: rgb(51, 51, 51);
|
||||
padding: 1em 2em;
|
||||
text-align: center;
|
||||
border-bottom: 1px solid rgb(238, 238, 238);
|
||||
background: none repeat scroll 0% 0% rgb(255, 255, 255);
|
||||
}
|
||||
|
||||
.hero h1 {
|
||||
margin: 0.2em 0px;
|
||||
font-size: 3em;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.hero h2 {
|
||||
font-weight: 300;
|
||||
margin: 0px;
|
||||
color: rgb(204, 204, 204);
|
||||
}
|
||||
|
||||
a {color: rgb(59, 139, 186);text-decoration: none;}
|
||||
|
||||
|
||||
footer {
|
||||
font-size: 87.5%;
|
||||
border-top: 1px solid rgb(238, 238, 238);
|
||||
padding: 0.5em 1.1429em;
|
||||
background: none repeat scroll 0% 0% rgb(250, 250, 250);
|
||||
line-height: 1.6em;
|
||||
}
|