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 projede bir pull request açın ve çevrilmiş dosyayı docs/{ISO 639-1 Code}.md dosyasına ekleyin.

Giriş

MJML, duyarlı e-postaların kodlanma sürecini basitleştirmek için özel olarak tasarlanmış bir işaretleme dilidir. Anlamsal sözdizimi kolaylık ve sadelik sağlar, geniş standart bileşen kütüphanesi ise geliştirmeyi hızlandırır ve e-posta kod tabanınızın karmaşıklığını azaltır. MJML'nin açık kaynak motoru, en iyi uygulamalara uygun yüksek kaliteli, duyarlı HTML üretir. Outlook ile çalışmanın getirdiği hayal kırıklıklarını yaşadıysanız, bu paket tam size göre.

MJML uygulamamız, resmi MJML API'si için bir sarmalayıcı olarak hizmet eder. MJML'yi doğrudan PHP içinde HTML'ye derlemeyi kolaylaştırır, NodeJS'ye ihtiyaç duymadan. Bu paket, NodeJS ve MJML CLI'yi kurma zahmeti olmadan MJML'yi entegre etmek isteyen PHP uygulamaları için idealdir.

Ö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>'
);
 
// Minimize edilmiş 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 ve minimize edilmiş HTML ile
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 yüklendiğinde işletim sisteminiz için doğru ikili dosyaları çekmesini sağlamak için composer.json dosyanıza aşağıdakileri ekleyin. İkili dosyalar install, update veya dump-autoload komutlarını çalıştırdıktan sonra indirilecektir.

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

    MJML ikili dosyası, composer'ın kurulumu veya güncellemesi sırasında CDN'imizden 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üklü olduğundan emin olun.

    Varsayılan olarak, all desteklediğimiz tüm ikili dosyaları çekecektir. Bant genişliği ve kurulum sürelerinden tasarruf etmek için bunu ihtiyaç duyduğunuz işletim ve mimari sistemlerle sınırlandırmanızı öneririz. Mevcut ikili dosyalar aşağıdaki gibidir.

    İşletim Sistemi Mimari Composer Güncelleme 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. Sonraki adımda, aşağıdaki composer komutunu çalıştırarak PHP paketini yükleyin:

    composer require defectivecode/mjml
  3. İşte bu kadar! Laravel kullanıyorsanız, paketimiz Laravel'in paket keşfi kullanılarak otomatik olarak yüklenecektir.

Kullanım (Laravel Olmadan)

Laravel kullanıyorsanız, aşağıdaki Laravel ile kullanıma bakın.

MJML Render Etme

MJML'yi render etmek için, MJML stringinizi render metoduna 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'yi doğrulamak için, MJML stringinizi isValid metoduna 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 Render Etme

MJML'yi render etmek için, MJML facade'ındaki render metoduna MJML stringinizi geçmeniz yeterlidir:

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

MJML Doğrulama

MJML'yi doğrulamak için, MJML facade'ındaki isValid metoduna MJML stringinizi geçmeniz yeterlidir:

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

Konfigürasyon

Konfigürasyon dosyasını aşağıdaki komutu kullanarak yayınlayabilirsiniz:

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

Bu, config klasörünüzde bir mjml.php konfigürasyon dosyası oluşturacaktır. Konfigürasyon dosyasında listelenen tüm seçenekler, MJML facade'ını kullandığınızda config nesnesine aktarılır.

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, resmi MJML paketi ile aynı yapılandırmayı takip eder, ancak aşağıdaki istisnalar dışında:

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

Yorumlar varsayılan olarak saklanır. Yorumları kaldırmak isterseniz removeComments() yöntemini kullanabilirsiniz.

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

Dahil Etmeleri Yoksay

Varsayılan olarak, paketimiz herhangi bir mj-include etiketini dahil eder. Bu davranışı ignoreIncludes(bool $ignore) yöntemini çağırarak ayarlayabilirsiniz.

Güzelleştirme

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

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

Bu seçeneklerin herhangi birini geçersiz kılmak için aşağıdaki yöntemleri kullanarak geçerli bir js-beautify yapılandırması sağlayabilirsiniz:

Küçültme

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

Bu seçeneklerin herhangi birini geçersiz kılmak için geçerli bir html-minifier-terser yapılandırması sağlayabilirsiniz:

Doğrulama Seviyesi

Paketimiz, varsayılan olarak soft doğrulama seviyesi kullanarak MJML'yi doğrular. Bunu validationLevel(ValidationLevel $validationLevel) yöntemini kullanarak değiştirebilirsiniz. Mevcut doğrulama seviyeleri şunlardır:

Dosya Yolu

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

Juice

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

Açık kaynak paketimizi seçtiğiniz için teşekkürler! Lütfen bu destek yönergelerini incelemek için bir dakikanızı ayırın. Bu, projemizden en iyi şekilde yararlanmanıza yardımcı olacaktır.

Topluluk Odaklı Destek

Açık kaynak projemiz harika topluluğumuz tarafından desteklenmektedir. Sorularınız 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çekliği, bildirilen her hatayı veya özellik talebini hemen ele alamayacağımız anlamına gelir. Sorunları şu sırayla önceliklendiriyoruz:

1. Ücretli Ürünlerimizi Etkileyen Hatalar

Ücretli ürünlerimizi etkileyen hatalar her zaman en yüksek önceliğimiz olacaktır. Bazı durumlarda, yalnızca bizi doğrudan etkileyen hataları ele alabiliriz.

2. Topluluk Çekme İstekleri

Bir hata tespit ettiyseniz ve bir çözümünüz varsa, lütfen bir çekme isteği gönderin. Ürünlerimizi etkileyen sorunlardan sonra, bu topluluk odaklı düzeltmelere en yüksek önceliği veriyoruz. İncelendikten ve onaylandıktan sonra, çözümünüzü birleştirir ve katkınızı kredi olarak veririz.

3. Mali Destek

Belirtilen kategorilerin dışındaki sorunlar için, çözümün finanse edilmesini tercih edebilirsiniz. Her açık sorun, mali olarak katkıda bulunabileceğiniz bir sipariş formuna bağlıdır. Bu sorunları sağlanan finansman miktarına göre önceliklendiriyoruz.

Topluluk Katkıları

Açık kaynak, topluluğu aktif olduğunda gelişir. Hataları düzeltmeseniz bile, kod iyileştirmeleri, dokümantasyon güncellemeleri, eğitimler veya topluluk kanallarında başkalarına yardımcı olarak katkıda bulunmayı düşünün. Herkesi, topluluk olarak, açık kaynak çalışmasını desteklemeye teşvik ediyoruz.

Tekrar belirtmek gerekirse, DefectiveCode hataları ücretli ürünlerimizi nasıl etkilediğine, topluluk çekme isteklerine ve sorunlar için alınan mali desteğe 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 dokümantasyon dosyalarının ("Yazılım") bir kopyasını edinen herhangi bir kişiye, Yazılım'ı kısıtlama olmaksızın kullanma, kopyalama, değiştirme, birleştirme, yayımlama, dağıtma, alt lisans verme ve/veya Yazılım'ın kopyalarını satma hakları dahil olmak üzere, Yazılım ile ilgilenme izni ücretsiz olarak verilir ve bu kişilere Yazılım'ın sağlandığı kişilere bu hakları vermesine izin verilir, aşağıdaki koşullara tabi olarak:

Yukarıdaki telif hakkı bildirimi ve bu izin bildirimi, Yazılım'ın tüm kopyalarına veya önemli bölümlerine dahil edilmelidir.

YAZILIM "OLDUĞU GİBİ" SAĞLANMAKTADIR, HERHANGİ BİR TÜRDE GARANTİ VERİLMEMEKTEDİR, AÇIK VEYA ZIMNİ OLARAK, PAZARLANABİLİRLİK, BELİRLİ BİR AMACA UYGUNLUK VE İHLAL ETMEME GARANTİLERİ DAHİL ANCAK BUNLARLA SINIRLI OLMAMAK ÜZERE. HİÇBİR DURUMDA YAZARLAR VEYA TELİF HAKKI SAHİPLERİ, SÖZLEŞME, HAKSIZ FİİL VEYA BAŞKA BİR ŞEKİLDE, YAZILIMDAN VEYA YAZILIMIN KULLANIMINDAN VEYA DİĞER İŞLEMLERDEN KAYNAKLANAN HERHANGİ BİR TALEP, ZARAR VEYA DİĞER YÜKÜMLÜLÜKLERDEN SORUMLU OLMAYACAKTIR.

MJML - Defective Code