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

Çeviri Uyarısı

Bu belge otomatik olarak çevrilmiştir. Eğer çeviri hataları varsa, lütfen projeye bir pull request açın ve docs/{ISO 639-1 Kodu}.md dosyasını ekleyin.

Giriş

MJML, duyarlı e-postaların kodlanma sürecini basitleştirmek için özel olarak tasarlanmış bir işaretleme dilidir. Semantik sözdizimi kolaylık ve basitlik sağlarken, standart bileşenlerin geniş kütüphanesi geliştirme sürecini hızlandırır ve e-posta kod tabanının karmaşıklığını azaltır. MJML'in açık kaynaklı motoru, en iyi uygulamalara uygun, yüksek kaliteli, duyarlı HTML üretir. Outlook ile çalışmanın zorluklarını yaşadıysanız, bu paket sizin için özel olarak tasarlanmıştır.

MJML uygulamamız, resmi MJML API'si için bir sarmalayıcı olarak hizmet vermektedir. Bu paket, MJML'i NodeJS ve MJML CLI'sini kurma zorluğu olmadan doğrudan PHP içinde HTML'e derlemeyi sağlar.

Örnek

// Laravel olmadan
(new MJML)->render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);
 
// Sıkıştırılmış 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>'
);
 
// Laravel ile
MJML::render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);
 
// Laravel ile sıkıştırılmış HTML
MJML::minify()->render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);

Kurulum

  1. İlk olarak, paketimizin kurulduğunda doğru ikili dosyaları indirmesi için composer.json dosyanıza aşağıdakileri ekleyin. İkili dosyalar, install, update veya dump-autoload komutunu çalıştırdıktan sonra indirilecektir.

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

    MJML ikili dosyası, composer'ın kurulum veya güncelleme sırasında CDN'den alınacak ve bu paketin "bin" klasörüne kaydedilecektir. Hem yerel hem de üretim ortamlarınız için gerekli ikili dosyaların yüklendiğinden emin olun.

    Varsayılan olarak, all tüm desteklediğimiz ikili dosyaları alır. Bant genişliği ve kurulum sürelerinden tasarruf etmek için işletim ve mimari sistemlerini daraltmanızı öneririz. Aşağıdaki tabloda mevcut olan ikili dosyalar bulunmaktadır.

    İşletim Sistemi Mimarisi Composer Güncelleme Sonrası Komutu
    Tümü Tümü 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. Ardından, aşağıdaki composer komutunu çalıştırarak PHP paketini kurun:

    composer require defectivecode/mjml
  3. Bu kadar! Laravel kullanıyorsanız, paketimiz otomatik olarak Laravel'in paket keşfi kullanılarak kurulacaktır.

Kullanım (Laravel Olmadan)

Laravel kullanıyorsanız aşağıdaki Laravel kullanımına bakın.

MJML Renderlama

MJML'i renderlamak için, MJML stringinizi render methoduna geçirin:

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 Doğrulama

MJML'i doğrulamak için, MJML stringinizi isValid methoduna geçirin:

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

Kullanım (Laravel ile)

MJML'i Render Etmek

MJML'i render etmek için, MJML string'inizi MJML facade'inin render metoduna geçirmeniz yeterlidir:

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

MJML'i Doğrulamak

MJML'i doğrulamak için, MJML string'inizi MJML facade'inin isValid metoduna geçirmeniz yeterlidir:

use DefectiveCode\MJML\Facades\MJML;
 
$isValid = MJML::isValid(
'<mjml><mj-body><mj-section><mj-column><mj-text>Merhaba Dünya</mj-text></mj-column></mj-section></mj-body></mjml>'
);

Yapılandırma

Aşağıdaki komutu kullanarak yapılandırma dosyasını yayınlayabilirsiniz:

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

Bu, config klasörünüzde bir mjml.php yapılandırma dosyası oluşturacaktır. Yapılandırma dosyasında listelenen tüm seçenekler, MJML facade'ini kullandığınızda config nesnesine geçirilir.

Yapılandırma

Tüm yapılandırma seçenekleri, MJML nesnesi üzerinde doğrudan aşağıdaki yöntemleri çağırarak ayarlanabilir.

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

Paketimiz, aşağıdaki dışında, resmi MJML paketiyle aynı yapılandırmayı takip eder:

Yazı Tipleri

Paketimiz varsayılan olarak aşağıdaki yazı tiplerini kullanır:

Yazı tiplerini aşağıdaki yöntemleri kullanarak değiştirebilirsiniz:

Yorumlar

Varsayılan olarak yorumlar korunur. Yorumları kaldırmak isterseniz removeComments() yöntemini kullanabilirsiniz.

Ayrıca removeComments() işlemini geri almak için keepComments() yöntemini çağırabilirsiniz.

Dahil Edilmeyenleri Yoksay

Varsayılan olarak, paketimiz herhangi bir mj-include etiketini dahil eder. Bu davranışı ayarlamak için ignoreIncludes(bool $ignore) yöntemini kullanabilirsiniz.

Güzel Göster

Paketimiz, HTML'yi aşağıdaki varsayılan seçeneklerle js-beautify kullanarak güzel gösterir:

js-beautify, seçenekleri sağlamak için snake_case kullanırken, paketimizi kullanırken camelCase kullanmalısınız. Bu seçimi, paketimizi diğer yapılandırma seçenekleriyle tutarlı tutmak için yaptık. Paketimiz, camelCase seçeneklerini otomatik olarak snake_case'e dönüştürecektir.

Bu seçeneklerden herhangi birini geçerli bir js-beautify yapılandırması sağlayarak geçersiz kılabilirsiniz:

Küçült

Paketimiz, HTML'yi aşağıdaki varsayılan seçeneklerle html-minifier-terser kullanarak küçültür:

Bu seçeneklerden herhangi birini geçerli bir html-minifier-terser yapılandırması sağlayarak geçersiz kılabilirsiniz:

Doğrulama Seviyesi

Paketimiz, varsayılan olarak soft doğrulama seviyesini kullanarak MJML'yi doğrular. Bunun için validationLevel(ValidationLevel $validationLevel) yöntemini kullanabilirsiniz. Aşağıdaki doğrulama seviyeleri mevcuttur:

Dosya Yolu

Paketimiz varsayılan olarak . dizinini kullanır. Bunun için filePath(string $path) yöntemini çağırarak bunu değiştirebilirsiniz.

Juice

Varsayılan olarak herhangi bir juice seçeneği sağlamıyoruz. Aşağıdaki yöntemleri kullanarak juice seçenekleri ekleyebilirsiniz:

Destek İlkeleri

Açık kaynak paketimizi seçtiğiniz için teşekkür ederiz! Lütfen bu destek ilkelerini kontrol etmek için bir an ayırın. Bu, projemizden en iyi şekilde yararlanmanıza yardımcı olacaktır.

Topluluk Destekli

Açık kaynak projemiz, harika topluluğumuz tarafından desteklenmektedir. Sorularınız varsa veya yardıma ihtiyacınız varsa, StackOverflow ve diğer çevrimiçi kaynaklar en iyi seçeneklerinizdir.

Hatalar ve Özellik Önceliklendirme

Açık kaynak bir projeyi yönetmenin gerçeği, her bildirilen hatayı veya özellik isteğini hemen ele alamayacağımız anlamına gelir. Sorunları aşağıdaki sıraya göre önceliklendiriyoruz:

1. Ücretli Ürünlerimizi Etkileyen Hatalar

Ücretli ürünlerimizi etkileyen hatalar her zaman en öncelikli konumuz olacaktır. Bazı durumlarda, sadece bizi etkileyen hatalara çözüm bulabiliriz.

2. Topluluk Pull İstekleri

Bir hatayı tespit ettiniz ve bir çözümünüz varsa, lütfen bir pull isteği gönderin. Ürünlerimizi etkileyen sorunlardan sonra, bu topluluk destekli düzeltmelere en yüksek önceliği veriyoruz. İncelemeye alındıktan ve onaylandıktan sonra, çözümünüzü birleştirecek ve katkınızı takdir edeceğiz.

3. Mali Destek

Yukarıda belirtilen kategoriler dışındaki sorunlar için çözümlerinin finanse edilmesini tercih edebilirsiniz. Her açık sorun, finansal olarak katkıda bulunabileceğiniz bir sipariş formuna bağlıdır. Bu sorunları, sağlanan finansal destek miktarına göre önceliklendiriyoruz.

Topluluk Katkıları

Açık kaynak, topluluğu aktif olduğunda gelişir. Hataları düzeltmiyor olsanız bile, kod geliştirmeleri, belge güncellemeleri, öğreticiler veya topluluk kanallarında diğer insanlara yardımcı olarak katkıda bulunmayı düşünün. Herkesi, bir topluluk olarak, açık kaynak çalışmalarını desteklemeye teşvik ediyoruz.

Söz konusu DefectiveCode, hataları ücretli ürünlerimize nasıl etkilediklerine göre önceliklendirecek, topluluk pull isteklerine ve sorunlar için alınan mali desteklere göre önceliklendirecektir.

Lisans - MIT Lisansı

Telif Hakkı © Defective Code, LLC. Tüm hakları saklıdır.

Bu yazılımın ve ilişkili belgelendirme dosyalarının (bundan sonra "Yazılım" olarak anılacaktır) bir kopyasını elde eden herhangi bir kişiye, Yazılım'ı herhangi bir kısıtlama olmaksızın kullanma, kopyalama, değiştirme, birleştirme, yayınlama, dağıtma, alt lisanslama ve/veya Yazılım'ın kopyalarını satma izni ücretsiz olarak verilir ve Yazılım'ı sağlayan kişilere aşağıdaki koşullara tabi olarak bunu yapma izni verilir:

Yukarıdaki telif hakkı bildirimi ve bu izin bildirimi, tüm kopyaların veya önemli bölümlerinin Yazılım'a dahil edilmesi gerekmektedir.

YAZILIM "OLDUĞU GİBİ" SAĞLANIR, HİÇBİR GARANTİ VERİLMEDEN, AÇIKÇA VEYA ZIMNEN, SATILABİLİRLİK, BELİRLİ BİR AMACA UYGUNLUK VEYA İHLAL ETMEME GARANTİLERİ DAHİL ANCAK BUNLARLA SINIRLI OLMAMAK ÜZERE HİÇBİR GARANTİ VERİLMEDEN SAĞLANIR. HERHANGİ BİR DURUMDA YAZARLAR VEYA TELİF HAKKI SAHİPLERİ, SÖZLEŞME, HAKSIZ FİİL VEYA DİĞER EYLEMLERDEN KAYNAKLANAN HERHANGİ BİR TALEP, ZARAR VEYA DİĞER SORUMLULUK İÇİN, YAZILIM VEYA YAZILIMIN KULLANIMI VEYA DİĞER İLİŞKİLİ İŞLEMLERDEN KAYNAKLANAN HERHANGİ BİR TALEP, ZARAR VEYA DİĞER SORUMLULUK İÇİN HİÇBİR SORUMLULUK KABUL ETMEZ.

MJML - Defective Code