English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
Ovaj dokument je automatski preveden. Ako postoje greške u prevodu, molimo otvorite
pull zahtjev na
projektu i dodajte prevedeni fajl u docs/{ISO 639-1 Kod}.md
.
MJML je označni jezik posebno dizajniran da pojednostavi proces kodiranja odzivnih emailova. Njegova semantička sintaksa osigurava jednostavnost i jednostavnost, dok njegova opsežna biblioteka standardnih komponenti ubrzava razvoj i smanjuje složenost vašeg email koda. Open-source engine MJML generiše visokokvalitetni, odzivni HTML koji se pridržava najboljih praksi. Ako ste iskusili frustracije rada sa Outlookom, ova paketa je prilagođena vama.
Naša implementacija MJML-a služi kao omotač za zvanični 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 da uključe MJML bez muke instaliranja NodeJS-a i MJML CLI-a.
// Bez Laravela(new MJML)->render( '<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'); // Minifikovani 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 LaravelomMJML::render( '<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'); // Sa Laravelom i minifikovanim 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š composer.json
fajl kako biste instruirali naš paket da preuzme odgovarajuće binarne datoteke za vaš operativni sistem prilikom instalacije našeg paketa. Binarni fajlovi će se preuzeti nakon što pokrenete install
, update
ili dump-autoload
komandu.
{ "post-autoload-dump": ["DefectiveCode\\MJML\\PullBinary::all"]}
MJML binarni fajl će biti preuzet sa našeg CDN-a i sačuvan u "bin" folderu ovog paketa tokom instalacije ili ažuriranja putem composera. Provjerite da imate potrebne binarne datoteke učitane kako na lokalnom, tako i na produkcijskom okruženju.
Prema zadanim postavkama, all
će preuzeti sve binarne datoteke koje podržavamo. Preporučujemo da ovo ograničite na operativne i arhitekturne sisteme koje vam trebaju kako biste uštedjeli na protoku i vremenu instalacije. Dostupne su sljedeće binarne datoteke.
Operativni sistem | Arhitektura | Composer komanda za ažuriranje nakon instalacije |
---|---|---|
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 sve! Ako koristite Laravel, naš paket će se automatski instalirati koristeći Laravel-ovu funkcionalnost otkrivanja paketa.
Pogledajte upotrebu sa Laravelom ispod ako koristite Laravel.
Da biste renderovali MJML, jednostavno prosledite 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 prosledite 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>');
Da biste renderovali MJML, jednostavno prosledite 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 prosledite 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>');
Konfiguracioni fajl možete objaviti koristeći sledeću komandu:
php artisan vendor:publish --provider="DefectiveCode\MJML\MJMLServiceProvider"
Ovo će kreirati mjml.php
konfiguracioni fajl u vašem config
folderu. Sve opcije navedene u konfiguracionom fajlu se prosleđuju objektu config
kada koristite MJML fasadu.
Sve konfiguracijske opcije mogu se postaviti pozivanjem sljedećih metoda izravno 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. Ako želite dodati ovu opciju, otvorite zahtjev za povlačenje.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 prema zadanim postavkama:
Možete promijeniti fontove koristeći sljedeće metode:
addFont(string $font, string $url)
- Dodajte font u popis fontova.removeFont(string$font)
- Uklonite font iz popisa fontova.setFonts(array $fonts)
- Postavite popis fontova. Trebate pružiti polje fontova u ovom formatu: ['naziv-fonta' => 'url-fonta']
.Komentari se prema zadanim postavkama zadržavaju. Ako želite ukloniti komentare, možete koristiti metodu removeComments()
.
Također možete vratiti removeComments()
pozivom metode keepComments()
.
Prema zadanim postavkama, naš paket će uključiti bilo koje mj-include
oznake. Možete prilagoditi ovu funkcionalnost pozivom metode ignoreIncludes(bool $ignore)
.
Naš paket će oblikovati HTML koristeći js-beautify
s sljedećim zadanim opcijama:
Iako
js-beautify
koristi snake_case za pružanje opcija, trebate koristiti camelCase prilikom korištenja našeg paketa. Donijeli smo ovaj izbor kako bismo održali dosljednost našeg paketa s ostalim opcijama konfiguracije. Naš paket automatski će pretvoriti opcije camelCase u snake_case.
Možete zamijeniti bilo koju od ovih opcija pružanjem valjane konfiguracije js-beautify
koristeći sljedeće metode:
setBeautifyOptions(array $options)
- Postavite opcije js-beautify
.addBeautifyOption(string $option, mixed $value)
- Dodaje opciju js-beautify
.removeBeautifyOption(string $option)
- Uklanja opciju js-beautify
.Naš paket će minificirati HTML koristeći html-minifier-terser
s sljedećim zadanim opcijama:
Možete zamijeniti bilo koju od ovih opcija pružanjem valjane konfiguracije html-minifier-terser
koristeći sljedeće metode:
setMinifyOptions(array $options)
- Postavite opcije html-minifier-terser
.addMinifyOption(string $option, mixed $value)
- Dodaje opciju html-minifier-terser
.removeMinifyOption(string $option)
- Uklanja opciju html-minifier-terser
.Naš paket će prema zadanim postavkama provjeravati MJML koristeći soft
razinu provjere valjanosti. Možete to promijeniti pomoću metode validationLevel(ValidationLevel $validationLevel)
. Dostupne su sljedeće razine provjere valjanosti:
strict
- Vaš dokument prolazi kroz provjeru valjanosti i ne prikazuje se ako ima bilo kakvu pogreškusoft
- Vaš dokument prolazi kroz provjeru valjanosti i prikazuje se, čak i ako ima pogrešakaskip
- Vaš dokument se prikazuje bez prolaska kroz provjeru valjanosti.Naš paket će prema zadanim postavkama koristiti direktorij .
. Možete to promijeniti pozivom metode filePath(string $path)
.
Ne pružamo zadane juice opcije. 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 očuvane oznake.addJuicePreserveTag(string $tag, mixed $value)
- Dodaje juice očuvanu oznaku.removeJuicePreserveTag(string $tag)
- Uklanja juice očuvanu oznaku.Hvala što ste odabrali naš paket otvorenog koda! Molimo vas da se osvrnete na ove smjernice za podršku. Pomoći će vam da najbolje iskoristite naš projekt.
Naš projekat otvorenog koda pokreće naša sjajna zajednica. Ako imate pitanja ili trebate pomoć, StackOverflow i drugi online resursi su vaša najbolja opcija.
Stvarnost upravljanja projekatom otvorenog koda znači da ne možemo odmah riješiti svaku prijavljenu grešku ili zahtjev za funkcionalnost. Prioritetiziramo probleme prema sljedećem redoslijedu:
Greške koje utječu na naše plaćene proizvode uvijek će biti naša najveća prioriteta. U nekim slučajevima, možda ćemo riješiti samo greške koje nas direktno pogađaju.
Ako ste identifikovali grešku i imate rješenje, molimo vas da pošaljete pull zahtjev. Nakon problema koji utječu na naše proizvode, dajemo sljedeći najviši prioritet ovim popravkama koje dolaze od zajednice. Nakon pregleda i odobrenja, spojit ćemo vaše rješenje i pripisati vam zasluge.
Za probleme izvan navedenih kategorija, možete odlučiti da finansijski podržite njihovo rješavanje. Svaki otvoreni problem je povezan sa obrascom za naručivanje gdje možete finansijski doprinijeti. Prioritetiziramo ove probleme na osnovu iznosa finansijske podrške koja je pružena.
Otvoreni kod napreduje kada je njegova zajednica aktivna. Čak i ako ne rješavate greške, razmislite o doprinosu kroz poboljšanja koda, ažuriranja dokumentacije, tutorijale ili pomoć drugima u zajedničkim kanalima. Snažno ohrabrujemo sve, kao zajednicu, da pomognu podršku radu otvorenog koda.
Da ponovimo, DefectiveCode će prioritetizirati greške na osnovu toga kako utječu na naše plaćene proizvode, pull zahtjeve zajednice i finansijsku podršku koju primamo za probleme.
Autorska prava © Defective Code, LLC. Sva prava zadržana
Ovdje se daje dozvola, besplatno, svakoj osobi koja dobije kopiju ovog softvera i pripadajućih dokumentacionih datoteka (u daljem tekstu "Softver"), da rukuje Softverom bez ograničenja, uključujući, ali ne ograničavajući se na prava da koristi, kopira, mijenja, spaja, objavljuje, distribuira, sublicencira i/ili prodaje kopije Softvera, i da dozvoli osobama kojima je Softver dostavljen da to isto čine, pod uslovima navedenim u nastavku:
Gorenavedeni autorski obavještaj i ovaj dozvolni obavještaj moraju biti uključeni u sve kopije ili značajne dijelove Softvera.
SOFTVER SE DOSTAVLJA "KAKAV JE", BEZ GARANCIJE BILO KOJE VRSTE, IZRIČITE ILI IMPLICITNE, UKLJUČUJUĆI, ALI NE OGRANIČAVAJUĆI SE NA GARANCIJE O PRODAJNOSTI, PRIMJENJIVOSTI ZA ODREĐENU SVRHU I NEKRŠENJE AUTORSKIH PRAVA. U NIKAKVOM SLUČAJU AUTORI ILI VLAZNICI AUTORSKIH PRAVA NE MOGU BITI ODGOVORNI ZA BILO KOJE POTRAŽIVANJE, ŠTETU ILI DRUGU ODGOVORNOST, BILO DA JE U PITANJU UGOVOR, DELIKT ILI BILO KOJI DRUGI OBLIK ODGOVORNOSTI, NASTAO IZ, U VEZI SA ILI U TOKU KORIŠTENJA SOFTVERA ILI DRUGIH POSTUPAKA VEZANIH ZA SOFTVER.