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 | 中文

# Avviso di Traduzione

Questo documento è stato tradotto automaticamente. Se ci sono errori di traduzione, si prega di aprire una pull request sul progetto e aggiungere il file tradotto a docs/{ISO 639-1 Code}.md.

Introduzione

MJML è un linguaggio di markup specificamente progettato per semplificare il processo di codifica delle email responsive. La sua sintassi semantica garantisce facilità e semplicità, mentre la sua vasta libreria di componenti standard accelera lo sviluppo e riduce la complessità della tua base di codice email. Il motore open-source di MJML genera HTML di alta qualità, responsive e conforme alle migliori pratiche. Se hai sperimentato le frustrazioni di lavorare con Outlook, questo pacchetto è fatto su misura per te.

La nostra implementazione di MJML funge da wrapper per l'API ufficiale di MJML. Consente una comoda compilazione di MJML in HTML direttamente all'interno di PHP, senza la necessità di NodeJS. Questo pacchetto è ideale per le applicazioni PHP che desiderano incorporare MJML senza il fastidio di installare NodeJS e la CLI di MJML.

Esempio

// Senza Laravel
(new MJML)->render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);
 
// HTML minificato
(new MJML)->minify()->render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);
 
// Con Laravel
MJML::render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);
 
// Con Laravel e HTML minificato
MJML::minify()->render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);

Installazione

  1. Aggiungi prima di tutto il seguente codice al tuo file composer.json per istruire il nostro pacchetto a scaricare i binari corretti per il tuo sistema operativo quando il nostro pacchetto viene installato. I binari verranno scaricati dopo aver eseguito install, update o dump-autoload.

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

    Il binario MJML verrà ottenuto dal nostro CDN e salvato nella cartella "bin" di questo pacchetto durante l'installazione o l'aggiornamento di composer. Assicurati di avere i binari necessari caricati sia per i tuoi ambienti locali che di produzione.

    Per impostazione predefinita, all scaricherà tutti i binari che supportiamo. Raccomandiamo di limitare questo ai sistemi operativi e di architettura di cui hai bisogno per risparmiare larghezza di banda e tempi di installazione. Di seguito sono riportati i binari disponibili.

    Sistema Operativo Architettura Comando Post Update di Composer
    Tutti Tutti 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. Successivamente, installa il pacchetto PHP eseguendo il seguente comando composer:

    composer require defectivecode/mjml
  3. Fatto! Se utilizzi Laravel, il nostro pacchetto verrà installato automaticamente utilizzando il package discovery di Laravel.

Utilizzo (Senza Laravel)

Vedi l'utilizzo con Laravel sotto se stai usando Laravel.

Rendering MJML

Per rendere MJML, basta passare la tua stringa MJML al metodo render:

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>'
);

Validazione MJML

Per validare MJML, basta passare la tua stringa MJML al metodo isValid:

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>'
);
# Utilizzo (Con Laravel)
 
## Rendering MJML
 
Per rendere MJML, basta passare la tua stringa MJML al metodo `render` sulla facciata MJML:
 
```php
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>'
);

Validazione MJML

Per validare MJML, basta passare la tua stringa MJML al metodo isValid sulla facciata MJML:

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>'
);

Configurazione

Puoi pubblicare il file di configurazione utilizzando il seguente comando:

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

Questo creerà un file di configurazione mjml.php nella tua cartella config. Tutte le opzioni elencate nel file di configurazione sono passate all'oggetto config quando utilizzi la facciata MJML.

# Configurazione
 
Tutte le opzioni di configurazione possono essere impostate chiamando direttamente i seguenti metodi sull'oggetto MJML.
 
```php
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>'
);

Il nostro pacchetto segue la stessa configurazione del pacchetto ufficiale MJML eccetto per i seguenti punti:

Font

Il nostro pacchetto utilizza i seguenti font di default:

Puoi cambiare i font utilizzando i seguenti metodi:

Commenti

I commenti sono mantenuti di default. Se desideri rimuovere i commenti, puoi utilizzare il metodo removeComments().

Puoi anche annullare il removeComments() chiamando il metodo keepComments().

Ignora Inclusioni

Di default, il nostro pacchetto includerà qualsiasi mj-include tags. Puoi modificare questo comportamento chiamando il metodo ignoreIncludes(bool $ignore).

Abbellire

Il nostro pacchetto abbellirà l'HTML utilizzando js-beautify con le seguenti opzioni di default:

Mentre js-beautify utilizza snake_case per fornire opzioni, dovresti usare camelCase quando utilizzi il nostro pacchetto. Abbiamo fatto questa scelta per mantenere il nostro pacchetto coerente con il resto delle opzioni di configurazione. Il nostro pacchetto convertirà automaticamente le opzioni camelCase in snake_case.

Puoi sovrascrivere qualsiasi di queste opzioni fornendo una configurazione valida di js-beautify utilizzando i seguenti metodi:

Minificare

Il nostro pacchetto minificherà l'HTML utilizzando html-minifier-terser con le seguenti opzioni di default:

Puoi sovrascrivere qualsiasi di queste opzioni fornendo una configurazione valida di html-minifier-terser utilizzando i seguenti metodi:

Livello di Validazione

Il nostro pacchetto validerà il MJML utilizzando il livello di validazione soft di default. Puoi cambiare questo utilizzando il metodo validationLevel(ValidationLevel $validationLevel). I seguenti livelli di validazione sono disponibili:

Percorso del File

Il nostro pacchetto utilizzerà la directory . di default. Puoi cambiare questo chiamando il metodo filePath(string $path).

Juice

Non forniamo alcuna opzione juice di default. Puoi aggiungere opzioni juice utilizzando i seguenti metodi:

# Linee Guida per il Supporto
 
Grazie per aver scelto il nostro pacchetto open source! Prenditi un momento per dare un'occhiata a queste linee guida per il supporto. Ti aiuteranno a ottenere il massimo dal nostro progetto.
 
## Supporto Guidato dalla Comunità
 
Il nostro progetto open source è alimentato dalla nostra fantastica comunità. Se hai domande o hai bisogno di assistenza, StackOverflow e altre risorse online sono le tue migliori opzioni.
 
## Bug e Prioritizzazione delle Funzionalità
 
La realtà della gestione di un progetto open source significa che non possiamo affrontare immediatamente ogni bug segnalato o richiesta di funzionalità. Prioritizziamo i problemi nel seguente ordine:
 
### 1. Bug che Influenzano i Nostri Prodotti a Pagamento
 
I bug che impattano i nostri prodotti a pagamento saranno sempre la nostra massima priorità. In alcuni casi, potremmo affrontare solo i bug che ci riguardano direttamente.
 
### 2. Pull Request della Comunità
 
Se hai identificato un bug e hai una soluzione, invia una pull request. Dopo i problemi che influenzano i nostri prodotti, diamo la priorità più alta a queste correzioni guidate dalla comunità. Una volta esaminate e approvate, integreremo la tua soluzione e accrediteremo il tuo contributo.
 
### 3. Supporto Finanziario
 
Per i problemi al di fuori delle categorie menzionate, puoi optare per finanziare la loro risoluzione. Ogni problema aperto è collegato a un modulo d'ordine dove puoi contribuire finanziariamente. Prioritizziamo questi problemi in base all'importo del finanziamento fornito.
 
### Contributi della Comunità
 
L'open source prospera quando la sua comunità è attiva. Anche se non stai risolvendo bug, considera di contribuire attraverso miglioramenti del codice, aggiornamenti della documentazione, tutorial o assistendo gli altri nei canali della comunità. Incoraggiamo fortemente tutti, come comunità, a supportare il lavoro open source.
 
_Per ribadire, DefectiveCode darà priorità ai bug in base a come influenzano i nostri prodotti a pagamento, alle pull request della comunità e al supporto finanziario ricevuto per i problemi._

Licenza - Licenza MIT

Copyright © Defective Code, LLC. Tutti i diritti riservati

Con la presente si concede il permesso, gratuitamente, a chiunque ottenga una copia di questo software e dei file di documentazione associati (il "Software"), di trattare il Software senza restrizioni, inclusi senza limitazione i diritti di usare, copiare, modificare, unire, pubblicare, distribuire, concedere in sublicenza e/o vendere copie del Software, e di permettere alle persone a cui il Software è fornito di farlo, alle seguenti condizioni:

La suddetta nota di copyright e questa autorizzazione devono essere incluse in tutte le copie o parti sostanziali del Software.

IL SOFTWARE VIENE FORNITO "COSÌ COM'È", SENZA GARANZIA DI ALCUN TIPO, ESPRESSA O IMPLICITA, INCLUSE MA NON LIMITATE ALLE GARANZIE DI COMMERCIABILITÀ, IDONEITÀ PER UN PARTICOLARE SCOPO E NON VIOLAZIONE. IN NESSUN CASO GLI AUTORI O I DETENTORI DEL COPYRIGHT SARANNO RESPONSABILI PER QUALSIASI RECLAMO, DANNO O ALTRA RESPONSABILITÀ, SIA IN UN'AZIONE DI CONTRATTO, TORTO O ALTRO, DERIVANTE DA, FUORI O IN CONNESSIONE CON IL SOFTWARE O L'USO O ALTRE OPERAZIONI NEL SOFTWARE.

MJML - Defective Code