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
.
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.
// 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-omMJML::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-omMJML::minify()->render( '<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>');
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 |
Zatim, instalirajte PHP paket pokretanjem sljedeće composer komande:
composer require defectivecode/mjml
To je to! Ako koristite Laravel, naš paket će se automatski instalirati koristeći Laravel-ovo otkrivanje paketa.
Pogledajte korištenje sa Laravel-om ispod ako koristite Laravel.
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>');
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)
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>');
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>');
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.
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:
preprocessors
- Ova opcija nije dostupna. Molimo otvorite pull request ako želite dodati ovu opciju.minifyOptions
- Koristimo html-minifier-terser
dok službeni paket koristi html-minifier
za minifikaciju. Odlučili smo promijeniti procesor jer html-minifer
više nije održavan i ima nekoliko sigurnosnih problema povezanih s njim.Naš paket koristi sljedeće fontove po defaultu:
Možete promijeniti fontove koristeći sljedeće metode:
addFont(string $font, string $url)
- Dodajte font na listu fontova.removeFont(string$font)
- Uklonite font sa liste fontova.setFonts(array $fonts)
- Postavite listu fontova. Trebali biste pružiti niz fontova u ovom formatu: ['font-name' => 'font-url']
.Komentari se čuvaju po defaultu. Ako želite ukloniti komentare, možete koristiti metodu removeComments()
.
Također možete poništiti removeComments()
pozivanjem metode keepComments()
.
Po defaultu, naš paket će uključiti sve mj-include
tagove. Možete prilagoditi ovo ponašanje pozivanjem metode ignoreIncludes(bool $ignore)
.
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:
setBeautifyOptions(array $options)
- Postavite js-beautify
opcije.addBeautifyOption(string $option, mixed $value)
- Dodaje js-beautify
opciju.removeBeautifyOption(string $option)
- Uklanja js-beautify
opciju.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:
setMinifyOptions(array $options)
- Postavite html-minifier-terser
opcije.addMinifyOption(string $option, mixed $value)
- Dodaje html-minifier-terser
opciju.removeMinifyOption(string $option)
- Uklanja html-minifier-terser
opciju.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:
strict
- Vaš dokument prolazi kroz validaciju i neće se renderirati ako ima bilo kakvu greškusoft
- Vaš dokument prolazi kroz validaciju i renderira se, čak i ako ima greškeskip
- Vaš dokument se renderira bez prolaska kroz validaciju.Naš paket će koristiti .
direktorij po defaultu. Možete promijeniti ovo pozivanjem metode filePath(string $path)
.
Ne pružamo nikakve juice opcije po defaultu. Možete dodati juice opcije koristeći sljedeće metode:
setJuiceOptions(array $options)
- Postavite juice opcije.
addJuiceOption(string $option, mixed $value)
- Dodaje juice opciju.
removeJuiceOption(string $option)
- Uklanja juice opciju.
setJuicePreserveTags(array $tags)
- Postavite juice tagove za očuvanje.
addJuicePreserveTag(string $tag, mixed $value)
- Dodaje juice tag za očuvanje.
removeJuicePreserveTag(string $tag)
- Uklanja juice tag za očuvanje.
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.
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.
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:
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.
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.
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.
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.
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.