Git: Geänderte Dateien Zippen und Filestruktur beibehalten

10. März 2011 in Allgemein von Leo

Falls man für ein Projekt Git nutzt und nun die geänderten Dateien bündeln und als Zip haben möchte, kann dies ganz simpel mit ein paar Commands machen. Mit Git diff können wir einen Vergleich machen. Was hat sich geändert.

In unserem Zip welches in meinem Beispiel später wieder auf einen anderen Server gespielt wird und dort die Live Dateien überschreibt, muss natürlich die Filestruktur beibehalten werden.

Der Befehl der uns all diese Arbeit nun abnimmt sieht folgendermassen aus:

git archive --output=export.zip HEAD $(git diff --name-only --diff-filter=ACMR $(git rev-parse HEAD))

Kurz erklärt:

git archive --output=export.zip

Erstellt schlussendlich das Zip, also der Output.

git diff --name-only --diff-filter=ACMR

Dies würde einzeln ausgeführt eine Liste mit den geänderten Dateien anzeigen (diff).

git rev-parse HEAD

Dies ermittelt uns die ID des letzten Commits. Die ID ist hierbei ein Hash Wert.

Plugin per TypoScript platzieren

1. Oktober 2010 in TYPO3 von Leo

Neben dem hinzufügen von Plugins als normale Inhaltselemente, ist es auch Möglich Plugins über TypoScript zu platzieren.
Um ein Plugin per TypoScript zu platzieren benötigt man nur wenig Zeilen oder gar nur eine Zeile, welche man ins Setup seines Templates (TYPO3 Modul: “Template”) einfügt. Je nachdem wo das Plugin erscheinen soll platziert man es im Setup eines Templates einer Seite oder eben nicht.

Hat man templavoila installiert, findet man standardmässig so etwas vor:

page = PAGE
page.10 < plugin.tx_meineextension_pi1

Mit der zweiten Zeile TypoScript wäre das Plugin dann auch wirklich platziert worden.
Wer das ganze jedoch in einem TS Object Path Element (lib.) einfügen will, benutzt folgendes:

lib.beispiel = USER
lib.beispiel < plugin.tx_meineextension_pi1

Eigentlich ganz simpel.
Falls das Plugin nicht gecacht werden soll, verwendet man einfach folgendes:

lib.beispiel = USER_INT
lib.beispiel < plugin.tx_meineextension_pi1

Dies wird z.B. verwendet bei Zufälligen Inhalten, welche ja wechseln sollen, sobald man die Seite neu lädt.

MouseOver Effekt auf div Element mit Javascript

12. April 2010 in Browser, Tutorials von Leo

Kürzlich musste ich für einen Event eines Kunden etwas Javascript schreiben, um ein paar div Elemente (HTML) mit einem MouseOver und MouseOut Effekt versehren, welche dem div Element z.B. eine neue Hintergrundfarbe geben.

Eigentlich kann das ganze in Browsern wie Firefox, Google Chrome und Safari (?) ganz simpel mit einem div:hover gemacht werden, jedoch würde dies im Internet Explorer (mal wieder) nicht funktionieren. Deshalb musste Javascript her, welches das ganze nun in allen Browsern ermöglicht.

Und so wird es gemacht:

1. Zuerst muss Prototype (aktuell 1.6) heruntergeladen und auf seinen Server hochgeladen werden. Ansonsten würde das Javascript nicht funktionieren.

2. Nun erstellt man eine neue Javascript Datei (.js) und ladet diese auch auf seinen Server. Im HTML File müssen die beiden Javascript Files nun noch eingebunden werden:

<script src="scripts/prototype.js" type="text/javascript"></script>
<script src="scripts/dein-effekt.js" type="text/javascript"></script>

Der Pfad und Dateiname muss natürlich noch durch den eigenen ersetzt werden.

3. Zu erst erstellen wir ein HTML Gerüst aus div’s:

<div class="content">
  <div class="team">
     <div class="tools">Anmelden!</div>
  </div>
</div>

Hierbei handelt es sich nun um ein Turnier, bei dem man sich Anmelden kann. Der Link zur Anmeldung erscheint jedoch nur, wenn man mit der Maus über das div “team” fährt.

4. Im Javascript schreiben wir nun folgendes:

var act = 0;

Event.observe(window, 'load', function() { //wenn das Fenster geladen hat

	var team = $('content').select('div.team'); //Hier wir dem JS das div gezeigt

Gleich darunter:

		team.each(function(team){ //hierbei wird das div.team ausgewählt
				Event.observe(team, 'mouseover', function() { //mouseover div.team
						mouseOver(team);
				});
				Event.observe(team, 'mouseout', function() { //mouseout div.team
						mouseOut(team);
				});
	});
});

Danach kommt zuerst einmal die Funktion mouseOver:

function mouseOver(team){
	children = team.childElements(); //die Unterelemente werden gewählt
	tool = children[0]; // das nullte Unterelement (als das gleich darauf folgende
	tool.style.display='block'; //jetzt wird das div (div.tools) angezeigt
	team.addClassName('act');
	//tool.addClassName('act');
}

Und die Funktion mouseOut:

function mouseOut(team){
	children = team.childElements();
	tool = children[0];
	tool.style.display='none';
	team.removeClassName('act');
	tool.removeClassName('act');
}

Im CSS müssen nun noch die Class definiert werden. Die Class .act, für active (aktiv), welche sagt dass das Element aktiv ist, also die Maus gerade auf dem Element ist.
Das Javascript versteckt und zeigt lediglich ein div Element und gibt bzw. nimmt ihm eine neue CSS Class.

Das Javascript sollte wie folgt aussehen:

var act = 0;

Event.observe(window, 'load', function() {

	var team = $('content').select('div.team');

		team.each(function(team){
				Event.observe(team, 'mouseover', function() {
						mouseOver(team);
				});
				Event.observe(team, 'mouseout', function() {
						mouseOut(team);
				});
	});
});

function mouseOver(team){
	children = team.childElements();
	tool = children[0];
	tool.style.display='block';
	team.addClassName('act');
	//tool.addClassName('act');
}

function mouseOut(team){
	children = team.childElements();
	tool = children[0];
	tool.style.display='none';
	team.removeClassName('act');
	tool.removeClassName('act');
}

Die besten WordPress Plugins

12. Januar 2010 in Internet von Leo

Da ich WordPress gerne und viel nutze, möchte ich hier nun die besten, beziehungsweise meine Lieblings Plugins vorstellen.

All in One SEO Pack
Allen denen wichtig ist, dass ihr Blog ganzen oben mit dabei ist in Google, der hat bestimmt schon mal etwas von SEO, bzw. diesem tollen Plugin für WordPress gehört. Mit diesem SEO Plugin wird alles erledigt, um seinen Blog möglichst Suchmaschinenfreundlich zu gestalten. So wird z.B. der Titel (im Browser) automatisch angepasst, je nach dem welchen Artikel man sich gerade anschaut. Dies ist jedoch noch nicht alles, vieles weiteres ist möglich mit diesem Plugin, um seine SEO zu verbessern.

Zum Plugin

Sexy Boomarks
Dieses Plugin habe ich zwar erst kürzlich entdeckt, aber ich war echt begeistert. Mit diesem Plugin kann man coole Share Buttons an seine Artikel anfügen. Damit können die Besucher den Artikel gleich auf Twitter, Facebook & Co. Posten.

Zum Plugin

Mehr gibt es nach dem Break…

CSS für Anfänger #1

10. Oktober 2009 in CSS von Leo

Auf dem Lehrlings Blog will ich euch natürlich auch Sachen zeigen und vor allem Erklären, die ich selbst erst gerade, oder auch schon seit längerem gelernt habe. Dazu gehört zum Beispiel gerade CSS. Bei der Arbeit als Web Developer verwendet man CSS sehr häufig, da CSS entscheidet, wie die Sachen schlussendlich aussehen. Damit ist Farbe, grösse, Schriftart etc. gemeint. Hier nun also der erste Teil zu “CSS für Anfänger”, in welchem ich euch CSS etwas Näherbringe und natürlich hoffe das ihr es auch Versteht. Falls es Fragen gibt, könnt ihr mir diese gerne in den Kommentaren stellen.