Fabrica Dev Kit ist ein Toolkit für die WordPress-Entwicklung. Du…
- Klone ein GitHub Repo
- Konfiguriere dein WordPress-Projekt (Einstellungen, Plugins usw.) über eine `.yml`-Datei
- Führe ein Ruby-Setup-Skript aus, das
- Entwicklungsabhängigkeiten (wie Gulp) über npm oder yarn herunterlädt
- Erstellt einen Docker-Container und Volumes, um alles darin auszuführen
- Alles, einschließlich der großen WordPress-Abhängigkeiten wie PHP und MySQL, läuft innerhalb von Docker. Der Webserver ist Nginx und PHP-FPM
Es geht einen Schritt weiter und richtet einige Entwicklungsabhängigkeiten für WordPress-Themes ein, wie z.B.
- Twig-Templating
- Speziell Timber, das Twig in einen WordPress-Kontext bringt und eine MVC-ähnliche Strukturierung deines Themes ermöglicht
- Advanced Custom Fields und eine Anpassung davon, um die Versionskontrolle dieses Setups zu ermöglichen
Es geht noch einen Schritt weiter und richtet Build-Prozesse für die Theme-Entwicklung ein, wie z.B.
- Vorverarbeitung von HTML durch PostHTML, sodass du eine spezielle BEM-Syntax verwenden kannst
- PostCSS mit Add-ons wie LostGrid
- Autoprefixer
- Bildoptimierung
- Linting, Minifizierung und Source Mapping von Assets
- Integrierer BrowserSync, um das Testen in Browsern schneller und einfacher zu gestalten
Es setzt einige andere Theme-Abhängigkeiten voraus, wie z.B.
- Normalize.css
- jQuery
- Wenn du mehr Frontend-Abhängigkeiten benötigst, kannst du npm und Webpack verwenden, um diese einzubinden
- Wenn du mehr Backend-Abhängigkeiten benötigst, kannst du Composer dafür verwenden
Und dann, um von der Entwicklung zur Produktion zu wechseln, hast du
- WordMove ("Capistrano für WordPress")
Ein High-Five an Andrew, Thomas und João, die dies entwickelt und veröffentlicht und uns darüber per E-Mail informiert haben. Es ist ein ambitioniertes Projekt und es ist cool, dass es kostenlos und Open Source ist.
Es gibt hier jedoch gemischte Gefühle. Mensch, das ist ein DICKER STAPEL an Tooling im Einsatz. Es macht Annahmen über den gesamten Stack, wie du arbeitest. Ich fühle mich wie ein alter Mann, der auf eine Wolke schreit, aber ich werde vorschlagen, dass du diese Tools zuerst einzeln ausprobierst, bevor du dich auf einen solchen Stack einlässt. Das ist viel Abstraktion auf einmal zu schlucken.
Diese spezielle Herangehensweise an die Abstraktion des gesamten Stacks trifft für *mich* genau die richtigen Töne. Ich habe mit fast all diesen Tools gearbeitet und habe ein gutes Verständnis dafür, was sie tun und warum sie nützlich sind. Sie alle in ein einfach einzurichtendes Ding zu integrieren, ist reizvoll, aber ich könnte genauso gut abgestoßen werden von etwas wie diesem, das Abhängigkeiten annimmt, die ich nicht mag oder keinen Geschmack dafür habe.
Ich kann das unter Ubuntu 16.10 nicht zum Laufen bringen
Ich bekomme immer
[Fabrica] Warte auf den 'timpress_wp'-Container...Mehr als 360 Sekunden sind verstrichen, während auf den Start des WordPress-Containers gewartet wurde.
'timpress' ist mein Slug
Hat jemand dieses Problem?
Wir untersuchen das und werden über das von dir erstellte Github-Issue antworten, sobald wir mehr Informationen haben!
Wir haben dieses Problem inzwischen behoben, die neueste Version von FDK funktioniert unter Ubuntu problemlos.
Hallo Chris,
Andrew, Thomas und João von Fabrica hier! Vielen Dank für den Artikel, wir hoffen sehr, dass andere Entwickler das Kit gut nutzen können.
Bezüglich Ihrer Bedenken hinsichtlich des dichten Stacks ist es sicherlich richtig, dass wir standardmäßig eine Auswahl an Technologien mitliefern: Das Kit begann als internes Werkzeug für unsere eigenen benutzerdefinierten WP-Projekte, und dies sind die Werkzeuge, die wir als am leistungsfähigsten und flexibelsten empfunden haben. Wir hätten jedoch vielleicht klarer in unserer E-Mail an Sie (und unserer Dokumentation) darauf hinweisen sollen, dass fast alle davon optional sind und/oder leicht durch Alternativen ersetzt werden können.
Wenn Sie zum Beispiel Timber/Twig nicht verwenden möchten, schreiben Sie einfach normale PHP-Templates. Wenn Sie die PostHTML-BEM-Syntax nicht verwenden möchten, schreiben Sie einfach normales HTML. Wenn Sie SASS anstelle von PostCSS möchten, installieren Sie es einfach mit `npm install` und ändern Sie ein paar Zeilen in der Gulpfile.
Mit anderen Worten, kein Werkzeug im Stack – mit Ausnahme von Docker, wirklich – ist absolut unverzichtbar oder unveränderlich. Und die Versionskontrolle eines FDK-Projektordners beinhaltet seine `package.json` und Gulpfile, was bedeutet, dass alle ausgetauschten Werkzeuge oder Änderungen am Build-Prozess zusammen mit den Quelldateien gespeichert werden.
Es ist also nicht ganz richtig zu sagen, dass wir weitreichende Annahmen darüber getroffen haben, wie andere Entwickler arbeiten wollen: Wir haben lediglich ein Standardset an Werkzeugen für eine schnelle und vollständige Einrichtung bereitgestellt. Wir werden einige Änderungen an der Dokumentation vornehmen und eine Seite auf unserer Website hinzufügen, um die Flexibilität klarer darzustellen.
Das gesagt, wir sind gerne bereit, Anpassungen zu besprechen, die die Verwendung alternativer Werkzeuge erleichtern könnten. Entwickler können uns über Github Issues oder unter [email protected] kontaktieren