Suche
Close this search box.
Open-Source-Projekte und ihre Anwendungen
Marc Eggert

WordPress-Templates mit Roots/Sage entwickeln

Seit einigen Jahren schreibe ich u.a. eigene WordPress-Themes fĂŒr diverse Projekte. Seit einigen Jahren artet dies auch des öfteren in Code-Chaos aus. Wer nicht zu Beginn eine klare Aufteilung und Struktur in sein Projekt bringt, wird schnell unĂŒbersichtlichen HTML-, PHP-, JS und CSS-Code als Ergebnis haben. Vor kurzem habe ich mir dann Sage von roots.io nĂ€her angesehen. Dieses Framework arbeitet von Grund auf bereits mit einigen modernen Dev-Techniken und vereinfacht so Versionierung, Struktur und Wartbarkeit. On Top gibt es noch das Template-System von Laravel, welches ich als PHP-Framework fĂŒr Projekte abseits von WordPress sehr schĂ€tze.Generell finde ich es sehr angenehm, dass sich der gesamte Code in einem WP-Projekt via Sage objektorientiert schreiben lĂ€sst. Sprich: Controller und Views – saubere Trennung zwischen FunktionalitĂ€t und Ausgabe. Wer also schon gewöhnt ist, mit Laravel oder CakePHP zu arbeiten oder grundsĂ€tzlich auf MVC-Basis programmiert, wird sich hier schnell zurechtfinden.

Weiterlesen »
Open-Source-Projekte und ihre Anwendungen
Marc Eggert

Active-Klasse in Bootstrap-Nav via JavaScript

Quick-Tipp: Oft benötigt und oft – je nach Projektanforderung – via PHP aufwĂ€ndig zusammenprogrammiert: Es geht um die „active“-Klasse fĂŒr Bootstrap (oder andere) Navigations-Bars (.navbar). Dies lĂ€sst sich relativ einfach und mit 4 Zeilen Code in JavaScript auf Basis von JQuery erledigen.Im Web-Projekt nutzt man in der Entwicklungsumgebung am Besten eine eigene Script-Datei fĂŒr die eigenen JavaScripts außerhalb der zusĂ€tzlich geladenen Scripts. FĂŒr die Produktionsumgebung werden sĂ€mtliche Scripts i.d.R. sowieso komprimiert („minified“). Im Grunde sind es sogar nur zwei Zeilen Code, da die Entscheidenden Zeilen im obigen Code in Zeile 2 und 6 stehen: In Zeile 2 wird die Variable „url“ definiert und mit dem Wert der aktuellen URL besetzt. Was selbst angepasst werden muss, allerdings fĂŒr Bootstrap-Navbars so bereits passt: Die Klasse („.navbar“) und die Struktur (li->a).

Weiterlesen »
Open-Source-Projekte und ihre Anwendungen
Marc Eggert

CSS und JavaScript mit NPM und Gulp organisieren

Bei den meisten Web-Projekten setze ich auf verschiedene externe Projekte und Frameworks. Sei es Bootstrap, JQuery oder FontAwesome und weitere Klassen oder Plugins. Meistens ist es dann ein Problem, die verschiedenen Versionen und externen Scripts auf einem aktuellen Stand zu halten, zu organisieren oder kontrollieren, welche Version untereinander notwendig ist, um alle AbhĂ€ngigkeiten (auch die des eigenen Projekts) zu erfĂŒllen.Um die jeweils aktuellen oder selbst gesetzten festen Versionen von Bootstrap & Co. zu halten, gibt es Nodejs/NPM. SĂ€mtliche Pakete werden dabei in ein Verzeichnis „node_modules“ installiert. Doch wie sieht eine praktikable Lösung aus, mittels welcher diese Bibliotheken im eigenen Web-Projekt gehalten werden?Genau hier kommt der „Workflow-Enhancer“ Gulp.js ins Spiel. Gulp sorgt dafĂŒr, dass die entscheidenden Scripts aus dem Verzeichnis node_modules in das eigene Web-Verzeichnis gefĂŒhrt werden (beispielsweise /js, /css, /fonts, etc.) und ggf. SASS–Code aus Bootstrap und eigenem Code in CSS kompiliert wird. Dazu ist in der DEV-Umgebung ein File-Watcher aktiv, welcher in Echtzeit geschriebenen SASS-Code kompiliert und ins CSS-Verzeichnis schreibt.Im Anschluss (nicht Teil dieses Beitrags) kann ĂŒber eine Aufgabe via Gulp der gesamte JS- und CSS-Code fĂŒr die Produktiv-Umgebung komprimiert werden. Perfekt!

Weiterlesen »