Defective Code Logo

Total Downloads Latest Stable Version Latest Stable Version

English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文

# Übersetzungswarnung

Dieses Dokument wurde automatisch übersetzt. Wenn es Übersetzungsfehler gibt, öffnen Sie bitte einen Pull Request im Projekt und fügen Sie die übersetzte Datei zu docs/{ISO 639-1 Code}.md hinzu.

Einführung

MJML ist eine Markup-Sprache, die speziell entwickelt wurde, um den Prozess der Erstellung von responsiven E-Mails zu vereinfachen. Ihre semantische Syntax sorgt für Einfachheit und Übersichtlichkeit, während die umfangreiche Bibliothek von Standardkomponenten die Entwicklung beschleunigt und die Komplexität Ihres E-Mail-Codes reduziert. Die Open-Source-Engine von MJML generiert qualitativ hochwertiges, responsives HTML, das den Best Practices entspricht. Wenn Sie die Frustrationen bei der Arbeit mit Outlook erlebt haben, ist dieses Paket genau das Richtige für Sie.

Unsere MJML-Implementierung dient als Wrapper für die offizielle MJML-API. Sie ermöglicht die bequeme Kompilierung von MJML in HTML direkt innerhalb von PHP, ohne die Notwendigkeit von NodeJS. Dieses Paket ist ideal für PHP-Anwendungen, die MJML integrieren möchten, ohne den Aufwand der Installation von NodeJS und der MJML-CLI.

Beispiel

// Ohne Laravel
(new MJML)->render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);
 
// Minifiziertes HTML
(new MJML)->minify()->render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);
 
// Mit Laravel
MJML::render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);
 
// Mit Laravel und minifiziertem HTML
MJML::minify()->render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);

Installation

  1. Fügen Sie zunächst das Folgende zu Ihrer composer.json Datei hinzu, um unser Paket anzuweisen, die richtigen Binärdateien für Ihr Betriebssystem zu ziehen, wenn unser Paket installiert wird. Die Binärdateien werden nach dem Ausführen von install, update oder dump-autoload heruntergeladen.

    {
    "post-autoload-dump": ["DefectiveCode\\MJML\\PullBinary::all"]
    }

    Die MJML-Binärdatei wird von unserem CDN bezogen und während der Installation oder Aktualisierung von Composer im "bin"-Ordner dieses Pakets gespeichert. Stellen Sie sicher, dass Sie die notwendigen Binärdateien sowohl für Ihre lokale als auch für Ihre Produktionsumgebung geladen haben.

    Standardmäßig zieht all alle von uns unterstützten Binärdateien. Wir empfehlen, dies auf die Betriebssysteme und Architekturen einzugrenzen, die Sie benötigen, um Bandbreite und Installationszeiten zu sparen. Die folgenden Binärdateien sind verfügbar.

    Betriebssystem Architektur Composer Post Update Befehl
    Alle Alle DefectiveCode\MJML\PullBinary::all
    Darwin (MacOS) arm64 DefectiveCode\MJML\PullBinary::darwin-arm64
    Darwin (MacOS) x64 DefectiveCode\MJML\PullBinary::darwin-x64
    Linux arm64 DefectiveCode\MJML\PullBinary::linux-arm64
    Linux x64 DefectiveCode\MJML\PullBinary::linux-x64
  2. Installieren Sie als Nächstes das PHP-Paket, indem Sie den folgenden Composer-Befehl ausführen:

    composer require defectivecode/mjml
  3. Das war's! Wenn Sie Laravel verwenden, wird unser Paket automatisch mit der Paketentdeckung von Laravel installiert.

Verwendung (Ohne Laravel)

Siehe die Verwendung mit Laravel unten, wenn Sie Laravel verwenden.

MJML Rendern

Um MJML zu rendern, übergeben Sie einfach Ihren MJML-String an die render Methode:

use DefectiveCode\MJML;
 
$html = (new MJML)->render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);

MJML Validieren

Um MJML zu validieren, übergeben Sie einfach Ihren MJML-String an die isValid Methode:

use DefectiveCode\MJML;
 
$isValid = (new MJML)->isValid(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);

Verwendung (Mit Laravel)

MJML Rendern

Um MJML zu rendern, übergeben Sie einfach Ihren MJML-String an die render Methode der MJML-Fassade:

use DefectiveCode\MJML\Facades\MJML;
 
$html = MJML::render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);

MJML Validieren

Um MJML zu validieren, übergeben Sie einfach Ihren MJML-String an die isValid Methode der MJML-Fassade:

use DefectiveCode\MJML\Facades\MJML;
 
$isValid = MJML::isValid(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);

Konfiguration

Sie können die Konfigurationsdatei mit dem folgenden Befehl veröffentlichen:

php artisan vendor:publish --provider="DefectiveCode\MJML\MJMLServiceProvider"

Dies erstellt eine mjml.php Konfigurationsdatei in Ihrem config Ordner. Alle in der Konfigurationsdatei aufgeführten Optionen werden an das config Objekt übergeben, wenn Sie die MJML-Fassade verwenden.

Konfiguration

Alle Konfigurationsoptionen können durch Aufrufen der folgenden Methoden direkt auf dem MJML-Objekt gesetzt werden.

use DefectiveCode\MJML;
 
$html = (new MJML)
->setMinify(true)
->setBeautify(false)
->render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);

Unser Paket folgt der gleichen Konfiguration wie das offizielle MJML-Paket, außer den folgenden:

Schriftarten

Unser Paket verwendet standardmäßig die folgenden Schriftarten:

Sie können die Schriftarten mit den folgenden Methoden ändern:

Kommentare

Kommentare werden standardmäßig beibehalten. Wenn Sie Kommentare entfernen möchten, können Sie die Methode removeComments() verwenden.

Sie können die removeComments()-Methode auch rückgängig machen, indem Sie die Methode keepComments() aufrufen.

Includes ignorieren

Standardmäßig wird unser Paket alle mj-include-Tags einbeziehen. Sie können dieses Verhalten anpassen, indem Sie die Methode ignoreIncludes(bool $ignore) aufrufen.

Verschönern

Unser Paket wird das HTML mit js-beautify mit den folgenden Standardoptionen verschönern:

Während js-beautify snake_case zur Bereitstellung von Optionen verwendet, sollten Sie camelCase verwenden, wenn Sie unser Paket verwenden. Wir haben diese Wahl getroffen, um unser Paket konsistent mit den restlichen Konfigurationsoptionen zu halten. Unser Paket wird die camelCase-Optionen automatisch in snake_case umwandeln.

Sie können diese Optionen überschreiben, indem Sie eine gültige js-beautify-Konfiguration mit den folgenden Methoden bereitstellen:

Minifizieren

Unser Paket wird das HTML mit html-minifier-terser mit den folgenden Standardoptionen minifizieren:

Sie können diese Optionen überschreiben, indem Sie eine gültige html-minifier-terser-Konfiguration mit den folgenden Methoden bereitstellen:

Validierungsstufe

Unser Paket wird das MJML standardmäßig mit der soft-Validierungsstufe validieren. Sie können dies ändern, indem Sie die Methode validationLevel(ValidationLevel $validationLevel) verwenden. Die folgenden Validierungsstufen sind verfügbar:

Dateipfad

Unser Paket verwendet standardmäßig das Verzeichnis .. Sie können dies ändern, indem Sie die Methode filePath(string $path) aufrufen.

Juice

Wir bieten standardmäßig keine Juice-Optionen an. Sie können Juice-Optionen hinzufügen, indem Sie die folgenden Methoden verwenden:

Unterstützungsrichtlinien

Danke, dass Sie sich für unser Open-Source-Paket entschieden haben! Bitte nehmen Sie sich einen Moment Zeit, um diese Unterstützungsrichtlinien zu lesen. Sie helfen Ihnen, das Beste aus unserem Projekt herauszuholen.

Community-getriebene Unterstützung

Unser Open-Source-Projekt wird von unserer großartigen Community angetrieben. Wenn Sie Fragen haben oder Unterstützung benötigen, sind StackOverflow und andere Online-Ressourcen Ihre besten Anlaufstellen.

Fehler und Feature-Priorisierung

Die Realität der Verwaltung eines Open-Source-Projekts bedeutet, dass wir nicht jeden gemeldeten Fehler oder Feature-Anfrage sofort bearbeiten können. Wir priorisieren Probleme in der folgenden Reihenfolge:

1. Fehler, die unsere kostenpflichtigen Produkte betreffen

Fehler, die unsere kostenpflichtigen Produkte betreffen, haben immer oberste Priorität. In einigen Fällen beheben wir möglicherweise nur Fehler, die uns direkt betreffen.

2. Community-Pull-Requests

Wenn Sie einen Fehler identifiziert haben und eine Lösung haben, reichen Sie bitte einen Pull-Request ein. Nach den Problemen, die unsere Produkte betreffen, geben wir diesen Community-getriebenen Korrekturen die nächsthöhere Priorität. Nach der Überprüfung und Genehmigung werden wir Ihre Lösung zusammenführen und Ihren Beitrag anerkennen.

3. Finanzielle Unterstützung

Für Probleme außerhalb der genannten Kategorien können Sie deren Lösung finanziell unterstützen. Jedes offene Problem ist mit einem Bestellformular verknüpft, über das Sie finanziell beitragen können. Wir priorisieren diese Probleme basierend auf dem bereitgestellten Finanzierungsbetrag.

Community-Beiträge

Open Source gedeiht, wenn seine Community aktiv ist. Auch wenn Sie keine Fehler beheben, sollten Sie in Erwägung ziehen, durch Code-Verbesserungen, Dokumentationsaktualisierungen, Tutorials oder durch Unterstützung anderer in Community-Kanälen beizutragen. Wir ermutigen alle, als Gemeinschaft, die Open-Source-Arbeit zu unterstützen.

Um es noch einmal zu wiederholen: DefectiveCode wird Fehler basierend darauf priorisieren, wie sie unsere kostenpflichtigen Produkte betreffen, Community-Pull-Requests und die erhaltene finanzielle Unterstützung für Probleme.

Lizenz - MIT-Lizenz

Copyright © Defective Code, LLC. Alle Rechte vorbehalten

Hiermit wird unentgeltlich jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, die Erlaubnis erteilt, in der Software uneingeschränkt zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, Kopie, Änderung, Zusammenführung, Veröffentlichung, Verteilung, Unterlizenzierung und/oder zum Verkauf von Kopien der Software, und Personen, denen die Software zur Verfügung gestellt wird, dies zu erlauben, vorbehaltlich der folgenden Bedingungen:

Der obige Urheberrechtshinweis und dieser Erlaubnishinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.

DIE SOFTWARE WIRD "WIE BESEHEN" BEREITGESTELLT, OHNE JEGLICHE GEWÄHRLEISTUNG, AUSDRÜCKLICH ODER IMPLIZIERT, EINSCHLIESSLICH ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNGEN DER MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNGEN VERANTWORTLICH, OB IN EINEM VERTRAG, EINER UNERLAUBTEN HANDLUNG ODER ANDERWEITIG, DIE AUS, AUS ODER IM ZUSAMMENHANG MIT DER SOFTWARE ODER DER VERWENDUNG ODER ANDEREN GESCHÄFTEN IN DER SOFTWARE ENTSTEHEN.

MJML - Defective Code