Suche
Suche Menü

Einfacher Slider mit jQuery

Auf Stack Overflow habe ich vor kurzem einen einfachen Slider entdeckt. Der Slider nutzt jQuery ohne weitere Plugins.

<html>
<head>
<style>
html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-family: sans;
}
.track {
  position: relative;
  height: 400px;
  width: 100%;
}
.slide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.ipsum {
  display: inline-block;
  padding: 10px;
  background-color: rgba(255, 255, 255, .75);
}
</style>

</html>
<body>
<div class="jCaroFade track">
  <!-- Slides -->
  <div class="slide" style="background-image:url('https://c1.staticflickr.com/1/550/20180902929_88c507f552_h.jpg');">
    <p class="ipsum">SLIDE ONE</p>
  </div>
  <div class="slide" style="background-image:url('https://c1.staticflickr.com/1/277/19726574813_cf2aa22221_b.jpg');">
    <p class="ipsum">SLIDE TWO</p>
  </div>
  <div class="slide" style="background-image:url('https://c1.staticflickr.com/1/488/20178281609_c1e34be0b2_b.jpg');">
    <p class="ipsum">SLIDE THREE</p>
  </div>
  <div class="slide" style="background-image:url('https://c1.staticflickr.com/1/414/19744665244_c099ce816c_h.jpg');">
    <p class="ipsum">SLIDE FOUR</p>
  </div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>$('.jCaroFade').each(createFader);

function createFader(i, elem) {
  var track = $(elem);
  var firstSlide = track.find('.slide').eq(0);
  var loop = 0;

  firstSlide.nextAll().hide();
  setInterval(function() {
    loop++;
    firstSlide = firstSlide.fadeOut(500, function() {
        $(this).appendTo(track);
      })
      .next()
      .fadeIn(500);
  }, 3000);

}
</script>
</body>
</html>

Eine Demo des Sliders kann auf jsFiddle angeschaut werden.

HTML5Shiv – neue URL

Diverse Templates verwenden um die Kompatibilität von HTML5 mit IE9 oder älter zu ermöglichen, die JavaScript Bibliothek HTML5Shiv. Diese wurde zu Beginn auf GoogleCode gehostet.

<!--[if IE]><script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->

Das Projekt wird mittlerweile auf Github gehostet. Um HTML5Shiv wieder zum laufen zu bringen, muss die URL angepasst werden. Eine Möglichkeit dazu ist die Verwendung des CDN von Cloudflare. Auf CDNJS.com findet man dazu den Link.

Somit ist der Code neu:

<!--[if IE]><script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.js"></script><![endif]-->

Ein weiterer Vorteil ist die Einbindung via SSL. Mittlerweile werden viele Seiten mit SSL betrieben was die Einbindung von externen Scripten per SSL erfordert.

TYPO3 7.6 – Inkonsistenter Inhalt in Sprache «Français» gefunden

Vor kurzem habe ich mit einer TYPO3 Seite welche von 6.0 auf 7.6 aktualilsiert wurde, das Problem, dass bei verschiedenen Seiten die Warnung «Inkonsistenter Inhalt in Sprache «Français» gefunden» angezeigt. Auf diesen Seiten war das sortieren oder neu einfügen von französischen Inhalten nicht mehr möglich. Bisher wurden auf dieser Seite teils Seiten identisch übersetzt, teils mit differierenden Inhalten in den beiden Sprachen Deutsch und Französisch gefüllt.

Folgende Zeile im pageTS deaktiviert das Handling der inkonsistenten Sprachen deaktivieren:

mod.web_layout.allowInconsistentLanguageHandling = 1

KeeWeb – Keepass Selfhosted als Webseite

Gestern habe ich bei Caschy einen Beitrag über KeeWeb gelesen. KeeWeb ist eine WebApp welche lokal eine Keepass Datei öffnen und bearbeiten kann. Es ist auch möglich auf eine Keepass-Datei zuzugreifen, welche in der Dropbox abgelegt ist.

Die Installation bei cyon ist denkbar einfach.

  1. neue Subdomain, z.B. keeweb.domain.ch erstellen
  2. die Subdomain per SSL absichern. Bei einer unverschlüsselten Verbindung warnt KeeWeb
  3. Verzeichnis Passwort schützen
  4. von der KeeWeb Seite die notwendigen 2 Dateien herunterladen
  5. Die beiden Dateien index.html und manifest.appcache auf den Webserver laden

Wenn nun auch Dropbox eingebunden werden soll, muss im Developer Bereich von Dropbox eine App erstellt werden. Als Return-Path muss die URL von keeweb.domain.ch angegeben werden.

  1. App-Key kopieren
  2. sich per SSH mit dem Server verbinden (bei cyon in jedem Hostingpaket inklusive) und in das Verzeichnis von KeeWeb wechseln
  3. den Befehl "sed -i.bak s/qp7ctun6qt5n9d6/your_app_key/g index.html" ausführen (ohne Anführungszeichen)

Danach kann auch von Dropbox eine Datei geöffnet werden.

Spannender Ansatz. Ob dies nun perfekt sicher ist, darüber lässt sich streiten. Die Daten werden lokal im Browsercache abgelegt (abgesehen von Dropbox). Es ist auf jedenfall eine gute Möglichkeit unterwegs oder auch von einem eingeschränkten Firmen-PC aus auf einen Keepass-Conteiner zugreifen zu können.

CMSMS: Smarty Code aus einem String entfernen

Vor kurzem musste ich aus einem Text den allenfalls enthaltenen Smartycode entfernen. Dies geht mit folgendem Regex Snippet:

{$entry->content|regex_replace:"/{[^]]*}/":''|tbTruncateBetter:500:' ...'}

In diesem Beispiel kürze ich mit tbTruncateBetter (ein Plugin des ToolBox Moduls) einen Text auf 500 Zeichen. Nun kann in diesem Text ein Smarty-Tag wie z.B. {Gallery dir =»/irgend/eine/gallery»}  vorkommen. Diese möchte ich in der gekürzten Übersicht natürlich nicht laden. Deshalb habe ich vor den Aufruf von tbTruncateBetter das Regex eingefügt, welches den Smarty-Tag entfernt.

Nochmals kurz:

{$variable|regex_replace:"/{[^]]*}/":''}

 

Philipp Maloney «Auf der Flucht» als Lego-Stop-Motion Film

Vor ein paar Tagen habe ich via Leumund.ch den Lego-Stop-Motion Film der Maloney-Folge «Auf der Flucht» gesehen. Laut dem Erschöpfer des Films, Joel Richard, hat er dafür über 1500 Stunden aufgewendet. Für eine Sekunde im Film hat er im Schnitt ca 1 Stunde aufgewendet. 

Philip Maloney – Auf der Flucht, Teil 1

Philip Maloney – Auf der Flucht, Teil 2

Philip Maloney – Auf der Flucht, Teil 3

Beitrag der Tageschau

Das Schweizer Fernsehen hat in der Tageschau zur Fertigstellung des letzten Teils die Arbeit von Joel Richard dokumentiert und vorgestellt:

Tagesschau Beitrag

btAdminer 1.6.0 veröffentlicht

Gerade eben habe ich die Version 1.6.0 von btAdminer im Forge veröffentlicht.

Changelog:

  • Update auf Adminer 3.7.1
    Adminer 3.7.1 (released 2013-06-29):
    Increase click target for checkboxes
    Use shadow for highlighting default button
    Don’t use LIMIT 1 if inline updating unique row
    Don’t check previous checkbox on added column in create table (bug #3614245)
    Order table list by name
    Verify UTF-8 encoding of CSV import
    Notify user about expired master password for permanent login
    Highlight table being altered in navigation
    Send 404 for invalid database and schema
    Fix title and links on invalid table pages
    Display error on invalid alter table and view pages
    MySQL: Speed up updating rows without numeric or UTF-8 primary key
    Non-MySQL: Descending indexes

    Add Korean translation

Der btAdminer kann wie gewohnt hier heruntergeladen werden:
http://dev.cmsmadesimple.org/project/files/1023

Ich habe ja nichts zu verbergen

Man hört ja oft wenn es um Überwachung geht: «Ich habe ja nichts zu verbergen». Ist dem wirklich so? Das obige Video zeigt auf, was Überwachung bedeutet und gibt jedem die Möglichkeit seine eigene Antwort darauf geben zu können.

Denn: Wer sagt denn was richtig und falsch ist? Wer fälschlicher Weise in die Mühlen der Überwachung gerät, kann noch lange sagen: «Ich habe nichts zu verbergen». Wenn dadurch eine Verhaftung erfolgt, eine Einreise verweigert wird, oder eine Stelle gekündet wird, so ist derjenige wohl der Erste der dagegen Protestieren wird.

Nachtrag: Im Spiegel ist ein interessanter Bericht über Michael Blume erschienen. Michale Blume wurde 2003 (!) vom Verfassungsschutzt verdächtigt ein Islamsympatisant zu sein. Nachwirklungen davon spürt er noch heute.

Linktipp 18

Unter Linktipp veröffentliche ich in unregelmässigen Abständen einige interessante Links welche mir über den Weg gelaufen sind:

RedBeanPHP – Datenbankzugriff ohne SQL Statements
Stefan Wienströer hat ein ausführliches Tutorial zu RedBeanPHP veröffentlicht. RedBeanPHP legt automatisch eine Datenbankstruktur zu Objekten an oder erweitert diese.
Der Einsatz gestaltet sich sehr einfach. Mehr dazu in verlinkten Tutorial.

Windows Developer System – Der Webserver
Um Webseiten zu entwickeln gibt es verschiedene Möglichkeiten. Optimal setzt man dabei auf einen eigenen Webserver auf dem PC / Mac. Eine Möglichkeit dafür ist der ZendServer. Sascha Presnac stellt das System in seinem Blog vor:

Create modern CSS3 hover effects
Sehr gutes Tutorial welches zeigt, wie Hover Effekte in CSS3 aufgebaut sind und welche Auswirkungen die einzelnen Parameter haben.

Praktische jQuery Snippets
Auf catswhocode.com hat Jean-Baptiste Jung einige sehr praktische jQuery Snippets zusammengetragen:

  • Smooth Anchor Scrooling
  • Bildgrössen Anpassung
  • Inhalt beim Scrollen automatisch laden
  • Höhe eines Div Elements ermitteln
  • JSON Parsing
  • und einige weitere

Fontastic – Webapp zum Zusammenstellen von Icon-Fonts
Mit Fontastic lassen sich angepasste Icon-Fonts erstellen. Seit längerem haben Icon-Fonts anstelle von Grafischen Icons Konjuktur. Statt jedoch eine Icon-Font mit 300 Zeichen zu laden, lässt sich mit Fontastic eine Font zusammenstellen welche nur die 3-4 Zeichen die man benötigt beinhaltet.

PowerPoint 2007 – Vorschau während der Präsentation aktivieren
Wird eine Präsentation via Beamer an die Wand projeziert, so kann der sogenante Moderationsmodus genutzt werden. Damit können neben den Folienkommentaren auch eine mitlaufende Uhr und die nächsten bzw. vorangegangenen Folien angezeigt werden.
Aktiviert wird das ganze wie folgt: 2. Monitor / Beamer anschliessen. Danach in PowerPoint in die Registerkarte «Bildschirmpräsentation» gehen, dort «Bildschirmpräsentation einrichten». In den Einstellungen «mehrere Bildschirme» aktivieren und den Haken beim Präsentationsmodus setzen.

jQuery Unveil
Laut t3n das kleine Lazy-Load Plugin für jQuery. Für Responsives Webdesign lässt sich damit einfach das Laden von verschiedenen Bildauflösungen umsetzen

Regelmässig poste ich interessante Links auf Twitter: @lukasblatter

PHP – Array mit Key und Value in einen String umwandeln

Mit folgendem Snippet lässt sich ein Array mit Key und Value einfach in einen String umwandeln:

$input = array('item1' => 'value1', 'item2' => 'value2', 'item3' => 'value3');
$output = implode(', ', array_map(function ($v, $k) { return $k . ':' . $v; }, $input, array_keys($input)));

Das Resutlat ist nun:

item1:value1, item2:value2, item3:value3