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

# Upozorenje o Prevodu

Ovaj dokument je automatski preveden. Ako postoje greške u prevodu, molimo vas da otvorite pull request na projektu i dodate prevedeni fajl u docs/{ISO 639-1 Code}.md.

Uvod

MJML je jezik za označavanje posebno dizajniran da pojednostavi proces kodiranja responzivnih emailova. Njegova semantička sintaksa osigurava lakoću i jednostavnost, dok njegova opsežna biblioteka standardnih komponenti ubrzava razvoj i smanjuje složenost vaše email baze koda. Open-source motor MJML generira visokokvalitetni, responzivni HTML koji se pridržava najboljih praksi. Ako ste iskusili frustracije rada s Outlookom, ovaj paket je prilagođen za vas.

Naša implementacija MJML-a služi kao omotač za službeni MJML API. Omogućava praktičnu kompilaciju MJML-a u HTML direktno unutar PHP-a, bez potrebe za NodeJS-om. Ovaj paket je idealan za PHP aplikacije koje žele uključiti MJML bez gnjavaže instaliranja NodeJS-a i MJML CLI-a.

Primjer

// Bez Laravel-a
(new MJML)->render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);
 
// Minificirani 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>'
);
 
// Sa Laravel-om
MJML::render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);
 
// Sa Laravel-om i minificiranim HTML-om
MJML::minify()->render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);

Instalacija

  1. Prvo dodajte sljedeće u vašu composer.json datoteku kako biste uputili naš paket da povuče ispravne binarne datoteke za vaš operativni sistem kada se naš paket instalira. Binarne datoteke će se preuzeti nakon što pokrenete install, update, ili dump-autoload.

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

    MJML binarna datoteka će biti preuzeta sa našeg CDN-a i sačuvana u "bin" folderu ovog paketa tokom instalacije ili ažuriranja composera. Osigurajte da imate potrebne binarne datoteke učitane za vaše lokalno i produkcijsko okruženje.

    Po defaultu, all će povući sve binarne datoteke koje podržavamo. Preporučujemo da ovo suzite na operativne i arhitekturne sisteme koje trebate kako biste uštedjeli na propusnosti i vremenu instalacije. Sljedeće su dostupne binarne datoteke.

    Operativni Sistem Arhitektura Composer Post Update Komanda
    Svi Svi 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. Zatim, instalirajte PHP paket pokretanjem sljedeće composer komande:

    composer require defectivecode/mjml
  3. To je to! Ako koristite Laravel, naš paket će se automatski instalirati koristeći Laravel-ovo otkrivanje paketa.

Korištenje (Bez Laravel-a)

Pogledajte korištenje sa Laravel-om ispod ako koristite Laravel.

Renderiranje MJML-a

Da biste renderirali MJML, jednostavno proslijedite svoj MJML string metodi 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>'
);

Validacija MJML-a

Da biste validirali MJML, jednostavno proslijedite svoj MJML string metodi 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>'
);
# Korištenje (Sa Laravelom)

Renderiranje MJML-a

Da biste renderirali MJML, jednostavno proslijedite svoj MJML string metodi render na MJML fasadi:

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

Validacija MJML-a

Da biste validirali MJML, jednostavno proslijedite svoj MJML string metodi isValid na MJML fasadi:

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

Konfiguracija

Možete objaviti konfiguracijsku datoteku koristeći sljedeću naredbu:

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

Ovo će kreirati konfiguracijsku datoteku mjml.php u vašem config folderu. Sve opcije navedene u konfiguracijskoj datoteci se prosljeđuju config objektu kada koristite MJML fasadu.

Konfiguracija

Sve opcije konfiguracije mogu se postaviti pozivanjem sljedećih metoda direktno na MJML objektu.

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

Naš paket slijedi istu konfiguraciju kao i službeni MJML paket osim za sljedeće:

Fontovi

Naš paket koristi sljedeće fontove po defaultu:

Možete promijeniti fontove koristeći sljedeće metode:

Komentari

Komentari se čuvaju po defaultu. Ako želite ukloniti komentare, možete koristiti metodu removeComments().

Također možete poništiti removeComments() pozivanjem metode keepComments().

Ignoriraj Uključivanja

Po defaultu, naš paket će uključiti sve mj-include tagove. Možete prilagoditi ovo ponašanje pozivanjem metode ignoreIncludes(bool $ignore).

Uljepšavanje

Naš paket će uljepšati HTML koristeći js-beautify sa sljedećim defaultnim opcijama:

Dok js-beautify koristi snake_case za pružanje opcija, trebali biste koristiti camelCase kada koristite naš paket. Ovu smo odluku donijeli kako bismo naš paket održali konzistentnim s ostatkom konfiguracijskih opcija. Naš paket će automatski pretvoriti camelCase opcije u snake_case.

Možete nadjačati bilo koju od ovih opcija pružanjem važeće js-beautify konfiguracije koristeći sljedeće metode:

Minifikacija

Naš paket će minificirati HTML koristeći html-minifier-terser sa sljedećim defaultnim opcijama:

Možete nadjačati bilo koju od ovih opcija pružanjem važeće html-minifier-terser konfiguracije koristeći sljedeće metode:

Nivo Validacije

Naš paket će validirati MJML koristeći soft nivo validacije po defaultu. Možete promijeniti ovo koristeći metodu validationLevel(ValidationLevel $validationLevel). Dostupni su sljedeći nivoi validacije:

Putanja Datoteke

Naš paket će koristiti . direktorij po defaultu. Možete promijeniti ovo pozivanjem metode filePath(string $path).

Juice

Ne pružamo nikakve juice opcije po defaultu. Možete dodati juice opcije koristeći sljedeće metode:

Hvala što ste odabrali naš open source paket! Molimo vas da odvojite trenutak da pregledate ove smjernice za podršku. One će vam pomoći da maksimalno iskoristite naš projekt.

Podrška Vođena Zajednicom

Naš open-source projekt pokreće naša sjajna zajednica. Ako imate pitanja ili trebate pomoć, StackOverflow i drugi online resursi su vaša najbolja opcija.

Greške i Prioritizacija Funkcija

Realnost upravljanja open-source projektom znači da ne možemo odmah riješiti svaku prijavljenu grešku ili zahtjev za funkcijom. Prioritiziramo probleme prema sljedećem redoslijedu:

1. Greške koje Utječu na Naše Plaćene Proizvode

Greške koje utječu na naše plaćene proizvode uvijek će biti naš glavni prioritet. U nekim slučajevima, možemo riješiti samo greške koje direktno utječu na nas.

2. Pull Zahtjevi Zajednice

Ako ste identificirali grešku i imate rješenje, molimo vas da podnesete pull zahtjev. Nakon problema koji utječu na naše proizvode, sljedeći najviši prioritet dajemo ovim rješenjima vođenim zajednicom. Nakon pregleda i odobrenja, spojit ćemo vaše rješenje i priznati vaš doprinos.

3. Financijska Podrška

Za probleme izvan navedenih kategorija, možete odabrati financiranje njihovog rješenja. Svaki otvoreni problem je povezan s narudžbenicom gdje možete financijski doprinijeti. Prioritiziramo ove probleme na osnovu iznosa financiranja.

Doprinosi Zajednice

Open source napreduje kada je njegova zajednica aktivna. Čak i ako ne popravljate greške, razmislite o doprinosu kroz poboljšanja koda, ažuriranja dokumentacije, tutorijale ili pomažući drugima u kanalima zajednice. Toplo ohrabrujemo sve, kao zajednicu, da pomognu podržati open-source rad.

Da ponovimo, DefectiveCode će prioritizirati greške na osnovu toga kako utječu na naše plaćene proizvode, pull zahtjeve zajednice i financijsku podršku primljenu za probleme.

Licenca - MIT Licenca

Autorska prava © Defective Code, LLC. Sva prava zadržana

Dozvola se ovim putem daje, besplatno, bilo kojoj osobi koja dobije kopiju ovog softvera i pridruženih dokumentacijskih datoteka (u daljem tekstu "Softver"), da koristi Softver bez ograničenja, uključujući bez ograničenja prava na korištenje, kopiranje, modifikaciju, spajanje, objavljivanje, distribuciju, podlicenciranje i/ili prodaju kopija Softvera, i da dozvoli osobama kojima je Softver dostavljen da to učine, pod sljedećim uvjetima:

Gore navedena obavijest o autorskim pravima i ova dozvola moraju biti uključeni u sve kopije ili značajne dijelove Softvera.

SOFTVER SE PRUŽA "KAKAV JEST", BEZ IKAKVIH JAMSTAVA, IZRIČITIH ILI IMPLICIRANIH, UKLJUČUJUĆI, ALI NE OGRANIČAVAJUĆI SE NA JAMSTVA PRODAJNOSTI, PODOBNOSTI ZA ODREĐENU SVRHU I NEKRŠENJA PRAVA. NI U KOJEM SLUČAJU AUTORI ILI VLASNICI AUTORSKIH PRAVA NEĆE BITI ODGOVORNI ZA BILO KOJI ZAHTJEV, ŠTETU ILI DRUGU ODGOVORNOST, BILO U UGOVORU, DELIKTU ILI DRUGAČIJE, KOJA PROIZLAZI IZ, IZVAN ILI U VEZI SA SOFTVEROM ILI KORIŠTENJEM ILI DRUGIM POSTUPCIMA U SOFTVERU.

MJML - Defective Code