MevvBlocks belgeleri

Masaüstünde 100 piksel, mobilde 40 — blok editöründe.

WordPress blok editöründe stil değerleri için kırılım noktası yoktur. MevvBlocks önce o boşluğu kapatır ve etrafına bir sitenin kendi ayakları üzerinde durması için gerekenleri koyar: yüz on blok, sekiz blok stili, tema şablonları, içerik ızgarası ve döngü oluşturucu, form motoru, bülten formu, açılır pencereler, site paleti için tek ekran, örtbas etmek yerine gerçeği söyleyen bir erişilebilirlik denetimi ve kendi ziyaretçilerinizden beslenen bir Core Web Vitals ekranı.

Kurulum

MevvBlocks WordPress 6.0 ve PHP 8.1 ister. Başka bağımlılığı yoktur: dış kütüphane yok, başkasının sunucusundan yazı tipi yok, derleme adımı yok.

  1. Eklentiyi yükleyip etkinleştirin.
  2. Bir sayfayı blok editöründe açın ve Kapsayıcı bloğunu ekleyin.
  3. İçine istediğiniz blokları yerleştirin. Blokları ekleyicideki Tasarım kategorisinde bulursunuz.
  4. Geri kalanını yönetim menüsündeki MevvBlocks ekranlarından yönetin.
  • WooCommerce isteğe bağlıdır. Kuruluysa iki blok daha eklenir.
  • MevvBridge isteğe bağlıdır. Elementor'den geldiyseniz o sayfaları yeniden düzenlenebilir yapan şey MevvBlocks'tur.
  • MevvLegal isteğe bağlıdır. Kuruluysa harita bloğu gömülü çerçeveyi MevvLegal'e devreder ve harita ziyaretçi onay vermeden yüklenmez.

Pro, ücretsiz sürümün yanına kurulan ayrı bir eklentidir ve ücretsiz sürümü zorunlu bağımlılık olarak bildirir. Lisans anahtarı Lisans ekranına girilir. Pro kurulu değilken MevvBlocks sunucularımıza hiç istek atmaz.

Ekran boyutuna göre stil — kapattığı boşluk

Çekirdek bloklar tek bir dolgu değeri, tek bir en az yükseklik, tek bir sütun sayısı alır. O değer her ekranda geçerlidir. Bir bölümün masaüstünde 100, mobilde 40 piksel boşluğu olsun istiyorsanız çekirdek bunu ifade edemez — ve insanların sayfa yapıcı kurmasının en yaygın teknik sebebi tam olarak bu tek boşluktur.

MevvBlocks bir değer yerine üç değer tutar — masaüstü, tablet, mobil. Sınırlar sabittir:

Masaüstü
Medya sorgusu yok — temel değer.
Tablet
1024 piksel ve altında geçerli.
Mobil
767 piksel ve altında geçerli.

Aynı iki sayı eklentinin her yerinde kullanılır — menünün hamburger eşiği, ızgaranın sütun sayıları. Serbest piksel alanı bilerek verilmedi: 900 yazan biri 900'de hamburger alırdı ama dolgusu hâlâ 1024'te değişirdi; iki ayrı kırılım sistemi, kendi kendisiyle çelişen düzen demektir.

Değerler bloğun kendi özniteliklerinde, post_content içinde durur — özel bir tabloda ya da yazı alanında değil. CSS sunucuda, istek anında üretilir ve ait olduğu elemanın yanına küçük bir stil bloğu olarak basılır.

Neden CSS sayfayla birlikte kaydedilmiyor? Çünkü kaydedilmiş HTML tek bir kırılımı taşıyabilir. Üç değeri mümkün kılan şey istek anında üretmektir — ve biten bir lisansın yayındaki sayfayı asla karartamamasının sebebi de budur: o yolda tek bir lisans sorgusu yoktur.

Editör önizlemesi — ne gösteriyor, neyi hâlâ gösteremiyor

Bu sayfa eskiden önizlemenin yaklaşık olduğunu yazıyordu. Düzen için artık değil: tuval, sayfanın basacağı CSS’i sunucudan istiyor ve ön yüzün kullandığı sarmalayıcı sınıflarına uyguluyor.

Bugün tuvalde doğru olanlar: kapsayıcı düzeni (yön, sütun, boşluk, hizalama), dolgu, kenar boşluğu, zemin, kenarlık, köşe, gölge, en az yükseklik, tipografi, dönüşüm, maske ve konum — tablet ve mobil değerleriyle birlikte, çünkü tuval bir iframe ve medya sorguları orada da geçerli.

CSS’in neden JavaScript’te yeniden üretilmediği: stil motoru tek, ikinci bir kopya zamanla ondan ayrışır. Birine ayar eklenip ötekinin unutulduğu gün editör yanlış olurdu — üstelik kesin olduğunu iddia ederek. Bu, eski dürüst yaklaşıklıktan kötüdür.

Hâlâ birebir olmayan: bir bloğun içindeki işaretlemeyi hedefleyen kurallar. Tuvalde blok kendi düzenleme tutamaklarını çizer, bu yüzden ön yüz yapısına göre yazılmış bir seçicinin eşleşeceği bir şey yoktur. Bunu kapatmak, yüz on bloğun her biri için düzenleme işaretlemesini yayınlanan işaretlemeyle aynı hâle getirmek demektir; gerçek bir iştir ve yapılmadı.

İddia değil, ölçüm: aynı bölüm aynı stil sayfası altında iki kez basıldı — biri ön yüzün bastığı gibi, öteki tuvalin kurduğu gibi — ve her elemanda on altı düzen özelliği karşılaştırıldı. Eski tuval bunların yirmi dördünde ayrılıyordu. Şimdi altmış dörtte sıfır. Ölçen araç eklenti kaynağında (tools/onizleme-esitlik.js) ve kör olmadığını kanıtlamak için önce eski işaretlemeye çevrildi.

Bloklar

Yüz on blok, WooCommerce olmadan seksen yedi. Aşağıda Pro olarak işaretlenen üçü dışında hepsi ücretsiz sürümdedir; başka hiçbir blok Pro’ya özel değildir. Ekleyicinin Tasarım kategorisinde dururlar ve her birinin sakladığı ayar anahtarları eklentinin içindeki docs/BLOK-AYARLARI.md dosyasında listelenir — üretilen bir dosyadır, yani koddan ayrışamaz.

Aşağıdaki gruplar, eklentinin kendi vitrin sayfalarında kullandığı beş grubun aynısıdır.

Metin ve eylem
Kapsayıcı, Başlık, Metin, Düğme, Ayraç, Boşluk, Çapa, Görsel, Kısa kod, Alıntı, İşaretli liste, Kod, Eylem çağrısı, İkon, İkon kutusu, İkon listesi, Hareketli başlık, Uyarı, Açılır kutu, Sekme panelleriyle iç içe sekmeler, Sekmeler, Akordiyon, SSS, Adımlar
Veri ve fiyat
Sayaç, İlerleme çubuğu, Veri çubuğu, Pasta grafik, Sayı kutusu, Fiyat tablosu, Fiyat listesi, Referans, Yıldız puanı, Referans karuseli, Ekip üyesi, Geri sayım, Rozet, Logo şeridi, İçerik değiştirici ve Değiştirici paneli (Pro)
Portföy ve harita
Zaman çizelgesi, Tablo, Karşılaştırma, İçindekiler, Harita, İçerik ızgarası, Site haritası, Portföy (Pro)
Medya ve formlar
Video, Ses, Çalma listesi, Galeri, Önce / Sonra, Çevrilen kutu, Afiş, İpucu noktası, İpucu metni, Sosyal akış, Sosyal ikonlar, Sosyal paylaşım, Kaydırıcı, Slaytlar, Yol üzerinde metin, Yandan panel, İletişim düğmeleri, Duyuru şeridi, Okuma ilerlemesi, Okuma süresi, Başa dön, Form, Giriş formu, Kayıt formu, Bülten, Arama formu, Gezinme menüsü, Lottie (Pro)
Tasarım ve hareket
SVG animasyonu, Görsel kutusu, Telif ve aşağıda anlatılan sekiz blok stili. Hareket bir blok değildir: her MevvBlocks bloğuna giriş animasyonu, yapışkan konum ve parallaks paneli eklenir.
Site ve tema şablonları
Site logosu, Site adı, Site sloganı, Sayfa başlığı, Gezinme izi, Yazı bilgisi, Yazar kutusu, Yorumlar, Önceki / Sonraki, Arşiv başlığı, Arşiv açıklaması
WooCommerce (23)
Ürünler, Ürün kategorileri, Ürün görselleri, Ürün başlığı, Ürün fiyatı, Ürün puanı, Kısa açıklama, Ürün açıklaması, Ürün meta bilgisi, Ek bilgi, Ürün sekmeleri, Sepete ekle, Stok durumu, İlgili ürünler, Üst satış, Çapraz satış, Mini sepet, Sepet, Ödeme, Hesabım, Sipariş takibi, Ürün sıralama, Sonuç sayısı — yalnız WooCommerce etkinken eklenir

En son eklenenler için birer not, çünkü her biri sayfada görebileceğiniz bir karar taşıyor:

Açılır kutu
İçine her bloğu alan ve başka bir açılır kutunun içine konabilen yerli bir <details>. Ayarlar: baslik (özet metni) ve acik (açılışta açık). Kimlik gerekmez, yani aynı sayfadaki iki açılır kutu çakışamaz.
İç içe sekmeler ve Sekme paneli
Panelleri sıradan iç bloklar olan bir sekme grubu; yani bir panel her şeyi taşıyabilir — başka bir sekme grubu dahil. Grup ayarları: yon (yatay ya da dikey) ve acik (açılışta açık sekme); her panelin bir baslik değeri vardır. Sekme şeridi ok tuşları, Home ve End ile ARIA sekme kalıbını taşır ve kimlikler grup başına tekil üretilir, böylece iç içe koymak güvenlidir. Bir gruba yalnız doğrudan çocuk paneller aittir. Dikey şerit dar ekranda yataya döner.
Pasta grafik
Pasta ya da halka (tur), satirlar içinde “etiket | değer | isteğe bağlı renk” biçiminde yazılan satırlar ve bir baslik. Daire stroke-dasharray ile çizilir ve role="img" taşır; aynı değerler altında yüzdeleriyle birlikte metin listesi olarak basılır, çünkü kimsenin okuyamadığı bir grafik süstür. Animasyon yoktur.
Çalma listesi
Ses ya da video (tur), bir baslik ve parçalardan oluşan bir yineleyici: dosya, baslik, sure, poster ve altyazi (bir WebVTT parçası). Her parça sıradan bir bağlantı olarak basılır, yani liste hiçbir betik çalışmadan da kullanılabilir; betikle birlikte bir parça seçmek kaynağı yerinde değiştirir.
Sosyal akış
Elle seçtiğiniz gönderiler, sutun sütunda dizilir. Her ögede adres, metin, tarih ve gorsel vardır. API adaptörü, jeton ve herhangi bir ağa giden istek yoktur — bu bir bağlantı listesidir ve eklenti canlı bir akış ima etmek yerine bunu açıkça söyler.
İpucu metni
metin cümlenizdeki kelime, ipucu açıklaması, konum açılacağı taraftır. Gerçek bir düğmedir ve balon role="tooltip" taşır: üzerine gelme ve odak CSS’te, dokunma betikte işlenir; Escape kapatır. Balon kaldırılmaz, visibility ile gizlenir, böylece açıklama ilişkisi erişilebilirlik ağacında kalır.
SVG animasyonu
dosya SVG, durgun durgun kare, alt alternatif metin ve genislik genişliktir. Dosya bilerek bir <img> içinde basılır: SVG’nin içindeki betik bu yolla sayfanıza ulaşamaz. Ziyaretçi hareketin azaltılmasını istediğinde bir <picture> durgun kareyi devreye sokar.
Uyarı, Hareketli başlık, Zaman çizelgesi, Tablo, Çevrilen kutu
Uyarıya kapatma düğmesi verilebilir (kapatilabilir) ve kapatılınca odak sonraki ögeye geçer; türü ve başlığı düzenlenebilir. Hareketli başlık etiketini seçer (baslik_etiketi; h1–h6, p, div ya da span) ve kelimelerini yazarak getirebilir (etki) — ilk kelime her zaman basılır ve iki etki de hareket kısıtlamasında durur. Zaman çizelgesi yatay bir düzen alır (yon) ve dar ekranda okuma sırasını bozmadan dikeye döner. Tablo başlık hücreleri scope="col" taşır ve boş hücre ekran okuyucu etiketiyle birlikte bir tire basar. Çevrilen kutu dokunma, Enter ve Boşluk ile döner, Escape geri çevirir.
İçerik değiştirici (Pro)
Her bloğu taşıyabilen Değiştirici panellerinin üzerinde — genellikle aylık ve yıllık — bir sekme şeridi. Ayarlar: etiket (şeridin erişilebilir adı), rozet (tasarruf gibi bir rozet) ve acik; her panelin bir baslik değeri vardır.
Portföy (Pro)
gonderi_turu, taksonomi, terimler, adet, sutun, suzgec (süzgeci göster) ve arsiv_bag (arşive bağlantı). Kartlar sunucuda basılır ve süzgeç onları tarayıcıda yalnız gizleyip gösterir, yani sayfadan hiçbir istek çıkmaz. Kip pencere ve sayfalama yoktur.
Lottie (Pro)
adres, alt, baslik, durgun (durgun kare), onay ve onay_metni. LottieFiles dış bir servistir, bu yüzden blok harita ve videoyla aynı onay yolunu izler: ziyaretçi kabul edene kadar durgun görseli gösterir ve hareket kısıtlamasında hiç oynatmaz. Oynatıcı kütüphanesi hâlâ paketlenmiyor.

JavaScript yüklenmediğinde burada hiçbir şey gizlenmez. Sekmeler bütün panelleri gösterir, açılır kutu ve akordiyon yerli details ögeleridir, kaydırıcı kayar, çalma listesi bir bağlantı listesidir ve oklar betik onları sürebilene kadar gizli basılır — hiçbir şey yapmayan bir düğme göstermek bozuk bir arayüz göstermektir. Gizli içerik erişilemez içeriktir. Düğmelerin ve eylem bağlantılarının en küçük hedef boyu 44 pikseldir.

Blok stilleri

Sekiz stil WordPress’in kendi register_block_style işleviyle kaydedilir, yani editörün seçili blok için zaten gösterdiği Stiller panelinde görünürler. Öğrenilecek yeni bir kontrol yoktur ve seçim bizim bir tablomuzda ayar olarak değil, işaretlemenizde is-style-… sınıfı olarak saklanır.

Gradyan katmanı
Kapsayıcı, Görsel, Görsel kutusu, Afiş, Kaydırıcı
Gri, üzerine gelince renkli
Görsel, Görsel kutusu, Ekip üyesi, Logo şeridi, Galeri
Üzerine gelene kadar bulanık
Görsel, Görsel kutusu, Afiş
Daire maskesi / Yuvarlatılmış maske
Görsel, Görsel kutusu, Ekip üyesi — yuvarlatılmış olan için ayrıca Afiş ve Galeri
Üzerine gelince yükselme
Kapsayıcı, İkon kutusu, Görsel kutusu, Fiyat tablosu, Ekip üyesi, Referans, Eylem çağrısı, Afiş
Üzerine gelince görseli yaklaştırma
Görsel, Görsel kutusu, Afiş, Galeri
Üzerine gelince eğilme
İkon kutusu, Görsel kutusu, Afiş, Sayı kutusu

Ziyaretçinin sistemi hareketin azaltılmasını istediğinde her üzerine gelme dönüşümü kapanır. Bir stilin uygulanması için sınıfın bloğun sarmalayıcısında olması gerekir; bu yüzden render katmanı artık çekirdeğin className özniteliğini iç işaretlemeden temizleyip sarmalayıcıya basıyor. MevvBridge ile dönüştürülmüş sayfalar bu özniteliği hiç taşımıyordu, yani onlar etkilenmez.

Bülten bloğu

Bir adres alanı, isteğe bağlı bir ad alanı (ad_alani), bir onay kutusu ve bir gönder düğmesi. Metinler sizin: baslik, metin, dugme_metni, onay_metni ve basari_metni.

  • Nonce değil, HMAC ile imzalanmış düz bir POST’tur. Nonce oturuma ve on iki saate bağlıdır; tam sayfa önbelleğin arkasında süresi dolmuş bir nonce formu sessizce öldürür. İmza, form motorunun kullandığının aynısıdır.
  • Bal küpü alanı sessizce yutulur. Hata göstermek bir sonraki bota tuzağı atlamayı öğretirdi.
  • Hız sınırı adres başına uygulanır.
  • Onay kuralı bloğun kendi içeriğinden okunur, gönderilen formdan asla — gizli bir alandan okumak ayarı ziyaretçinin eline verirdi.
  • Adresler diğer form gönderimlerinizle birlikte saklanır, bulten: anahtarı altında. Bizim bir listemiz ve üçüncü tarafa giden bir isteğimiz yoktur.

Onaylı bir adresi zaten kullandığınız araca teslim etmek için eylemi kancalayın:

add_action( 'mevvblocks_newsletter_subscribe', function ( $eposta, $ad, $blok_kimligi ) {
    // $eposta       : onaylanmış adres
    // $ad            : ad; alan kapalıysa boş dize
    // $blok_kimligi : hangi bülten bloğundan geldiği
}, 10, 3 );

Eylem, adres doğrulanıp saklandıktan sonra tetiklenir; yani sizin işleyicinizdeki bir hata aboneliği kaybettiremez.

Dinamik metin ve özel alanlar

Başlık, Metin, Düğme ve Görsel blokları değerlerini yazdığınız şeyden değil gönderiden alabilir. Panelin adı Dinamik ve kaynaklar sabit bir listedir: gönderi başlığı, özet, yazar, tarih, ilk kategori, etiketler, yorum sayısı, arşiv başlığı, arama terimi, site adı ve sloganı, içinde bulunulan yıl, WooCommerce fiyatı, stok kodu ve stok durumu — ve anahtarıyla bir özel alan.

  • Advanced Custom Fields etkinken alan get_field() ile okunur, yani ham değeri değil biçimlenmiş değeri alırsınız. ACF yoksa düz gönderi meta verisine düşer ve iki durumda da hiçbir şey bozulmaz.
  • Alt çizgiyle başlayan anahtarlar reddedilir. Onlar WordPress’in iç alanlarıdır; basılmaları sayfanın hiç göstermek istemediği şeyi sızdırırdı.
  • “Bu ifadeyi çalıştır” diye bir alan yoktur. Böyle bir alan, sayfa düzenleyebilen herkese kod çalıştırma yetkisi vermek olurdu.

Bir döngü kartı şablonunu düzenlerken gönderi bağlamı yoktur, bu yüzden dinamik bir bağ değer yerine statik yedeğini gösterir. Bu şablondur, sayfa değil.

İçerik ızgarası ve döngü oluşturucu

İçerik Izgarası bloğu yazıları, sayfaları ya da ürünleri sorgular ve dizer. Sayfalama düz bağlantılarla çalışır, yani JavaScript kapalıyken de çalışır.

  • Sıralama sabit bir listedir — tarih, değiştirme, başlık, menü sırası, rastgele — çünkü bu değer veritabanına ulaşır.
  • Kart başlıkları h2 ile h6 arasındadır. h1 sunulmaz: zaten bir h1'i olan sayfada kart ızgarası başlık sırasını bozardı.
  • Kart başına tek bağlantı. Görseli, başlığı ve "devamını oku"yu birden bağlamak, ekran okuyucunun aynı hedefi üç kez okuması demektir.
  • Izgara bulduğu yazı kimliklerini önbelleğe alır, basılmış HTML'i asla; herhangi bir yazı kaydedildiğinde önbellek düşer — "yazı yayınladım ama görünmüyor" arızası bu yüzden oluşamaz.

Döngü oluşturucu, dahili kart yerine kartı kendinizin çizmesini sağlar. Döngü kartı türünde bir şablon oluşturur, onu sıradan bloklarla ve dinamik bağlarla kurar ve ızgaranın ayarlarından seçersiniz.

Kart şablonunu düzenlerken bağlam yoktur, yani dinamik bağlar statik yedek değerlerini gösterir. Şablon boşsa, silinmişse, taslakta bırakılmışsa ya da kendine dönüyorsa ızgara hiçbir şey basmak yerine dahili karta düşer. Döngü iç içeliği iki düzeyle sınırlıdır.

Form motoru

On altı alan türü ve sunucuda doğrulama. Form, sayfadaki İŞ YAPAN tek parçadır; bu yüzden JavaScript olmadan da çalışır: düz bir POST gönderimi, betikli gönderimle aynı doğrulamayı ve aynı mesajları alır.

Alan türleri
Metin, E-posta, Telefon, Adres (URL), Sayı, Tarih, Saat, Gizli, Uzun metin, Açılır liste, Çoklu liste, Tek seçim, Çoklu onay, Onay kutusu, Rıza metni (KVKK) ve Ara başlık. Pro bir dosya yükleme alanı ekler.
Gönderimler nereye gider
Hem kendi tablosuna hem e-postaya. Kayıt önce yazılır, posta sonra gönderilir; çünkü posta teslimi veritabanı yazımından çok daha sık başarısız olur.
Nereden okunur
MevvBlocks → Form Gönderimleri. Pro oraya CSV dışa aktarma ekler.
Bildirim e-postası
Gönderen sitenizdir, ziyaretçi değil. Ziyaretçinin adresini gönderen yapmak, form postalarının hiç ulaşmamasının en yaygın sebebidir — SPF ve DMARC reddeder. Ziyaretçinin adresi yanıt adresi olur.

Spam üç katmanla karşılanır ve CAPTCHA yoktur: oturuma bağlı olmayan bir imza, en kısa doldurma süresi ve bir bal küpü alanı. Bal küpünü dolduran gönderim sessizce kabul edilip atılır — hata göstermek bota yakalandığını söylemek olurdu ve bir sonraki denemesinde o alanı atlardı.

Neden WordPress nonce'ı değil de imza? Nonce oturuma ve on iki saatlik bir pencereye bağlıdır. Önbellekli bir sitede aynı HTML saatlerce, bazen günlerce sunulur, içindeki nonce çoktan geçersizdir ve form sessizce çalışmaz olur. Form eklentilerinin en yaygın saha arızası budur. Buradaki imza yedi gün geçerlidir ve kimin gezindiğine bağlı değildir.

Gönderimin IP adresi hiçbir zaman okunabilir hâlde saklanmaz; yalnız kendi sitenizin anahtarıyla tuzlanmış bir özeti tutulur, böylece iki ayrı sitenin kayıtları birbiriyle eşleştirilemez.

Gönderim deposu lisansa bağlı değildir. Bağlı olsaydı, ödemenin kesildiği gün müşterinin veri kaybetmeye başladığı gün olurdu.

Tema şablonları

Yedi şablon türü, zaten kullandığınız WordPress editöründe kurulur — Başlık, Alt bilgi, Tekil içerik, Arşiv, Arama sonuçları, Bulunamadı (404) ve Döngü kartı. İkinci bir editör, çekirdek güncellendikçe geride kalacak bir şey daha olurdu.

Tür ve koşullar düz bir kenar çubuğu kutusundadır, React paneli değil — klasik kutu JavaScript kapalıyken de kaydeder ve editör arayüzü değiştiğinde bozulmaz.

Koşullar
Tüm site, ana sayfa, gönderi türü, kategori ya da tek bir içerik. Boş bırakırsanız tüm sitede geçerlidir.
Birden çok şablon uyarsa
En dar koşullu olan kazanır.
Bozuk koşul
Kaydederken atılır ve boş yazılır; geçersiz metin olarak saklansaydı şablon sessizce hiç görünmezdi.

Başlık ve alt bilgi şablonları yalnız Astra ve GeneratePress'te yerleşir. Temanızın tarifi yoksa hiç basılmaz ve ekran bunu söyler — kaldıramadığımız bir temaya başlık eklemek kesin olarak iki başlık demektir. Tekil, arşiv, arama ve 404 şablonları her temada çalışır: yalnız döngüyü değiştirir, temanın kendi başlık ve alt bilgisine dokunmazlar.

Döngü kartı türündeki bir şablon kendiliğinden hiçbir sayfaya yerleşmez. Onu bir ızgara bloğu seçer.

Şablon kütüphanesi ve blok ön ayarları

Yetmiş altı hazır şablon: altmış dört bölüm ve on iki tam sayfa. Sıradan WordPress şablonları olarak kaydediliyorlar, yani bildiğiniz gibi ekliyorsunuz — + düğmesi, Şablonlar sekmesi, ardından MevvBlocks bölümleri ya da MevvBlocks sayfaları kategorisi. Bölümler kahraman, özellik, referans, SSS, fiyat, çağrı, iletişim, hakkımızda, alt bilgi üstü bant ve istatistik ailelerine dağılıyor; sayfalar üç ana sayfa varyantı, bir SSS sayfası, bir kampanya sayfası, bir hikâye sayfası ve bir teşekkür sayfası ekliyor.

Bunun için özel bir pencere yazılmadı. Çekirdeğin ekleyicisi önizlemeyi, aramayı, klavye gezinmesini ve çeviriyi zaten veriyor; eklediği şey de düz blok işaretlemesi, yani kilitleneceğiniz bir şey yok.

Bunların dokuzu WooCommerce istiyor: sekiz ürün ve kategori bölümü, bir de mağaza açılış sayfası. Ayrı bir dosyada duruyorlar ve yalnız WooCommerce etkinken kaydediliyorlar; böylece mağazasız bir siteye, çizemeyeceği bir bloğu ekleyecek şablon hiç sunulmuyor. İçlerindeki ürünler şablona yazılmış bir kategori kimliğinden değil, bir sorgudan geliyor — yeni, öne çıkan, indirimli, çok satan — çünkü aynı kimlik başka bir mağazada ya boş ya da düpedüz yanlış kategoriye denk gelir.

Şablonlar hiç görselle gelmez. Dışarıdan görsel çekmek hem telif hem gizlilik sorunu, üstelik sayfanızın görüntüsünü başka bir sunucunun ayakta kalmasına bağlar. Görsel blokları yerinde duruyor ve alternatif metinleri dolu; kendi görselinizi seçmeniz yeter.

Blok ön ayarları, bir bloğun görünüm ayarlarını bir adla kaydeder ve aynı türden başka bir bloğa uygular. İçerik bilerek kaydedilmez — metin, bağlantı, görsel ve liste içerikleri ayıklanır, yani bir ön ayarı uygulamak yazdığınızın üzerine yazmaz.

Desenler ön yüzde hiç kaydedilmez. Her sayfa görüntülemesinde işaretlemelerini üretmek 109 KB ve 3,59 ms ölçüldü — okuyan kimse desen eklemediğine göre boşuna ödenen bir bedel.

Site paleti

Renk ve tipografi için tek ekran; hem MevvBlocks menüsünden hem Görünüm altından açılır, çünkü insanlar orada arıyor. Her satır kendi değişken adını gösterir ve bloklar düz değerlere değil o adlara başvurur.

Geçişten önce kurulmuş bir sayfanın başvurularını kaybetmek yerine yeni paleti almasını sağlayan şey budur — değişken adları sayfalarınızın zaten kullandığı adlarla aynı tutulur.

Silme yoktur. Bir renk ya da tipografi kümesi boş bırakılabilir, ama silinmesi ona başvuran her bloğu çözümsüz bırakırdı. Boşaltmak geri alınabilir; bir başvuruyu silmek alınamaz.

Erişilebilirlik denetimi

MevvBlocks → Erişilebilirlik yayındaki sayfalarınızı, yazılarınızı ve şablonlarınızı tarar ve hangi bloğun neyi eksik bıraktığını söyler: alternatif metni olmayan görsel, boş başlık, adı ya da hedefi olmayan düğme, bozuk başlık sırası, düşük kontrast.

Aynı denetim siz daha düzenlerken kenar çubuğu paneli olarak da vardır; bir bulgunun düzeltilmesi en ucuz olduğu yer orasıdır.

Bu bilerek bir kaplama değildir. Sayfaya "erişilebilirlik menüsü" ekleyen katmanlar hiçbir şeyi düzeltmez: alternatif metni olmayan görselin hâlâ yoktur, düşük kontrastlı metin hâlâ okunmaz. "Bu site erişilebilir" iddiasını taşıyıp öyle olmamak, hiç iddia etmemekten daha kötü bir konumdur — kaplama kullanan siteler tam olarak bunun yüzünden dava edildi. Bu araç ölçer ve söyler; düzeltmek sizde.

Kontrast yalnız iki renk de gerçekten biliniyorken bildirilir. Devralınmış bir renge tahmin yürütmek, hakkında bir şey yapamayacağınız uyarılar üretirdi.

Hız — eleman önbelleği ve görseller

İki ayrı iş var ve ikisi de ücretsiz sürümde.

Eleman önbelleği. Blok çıktısı saklanıyor ve her istekte yeniden üretilmiyor. Ölçüldü: blok render süresi %33–72 daha kısa. Kalıcı nesne önbelleği (Redis, Memcached) varsa oraya, yoksa geçici kayıtlara yazılıyor.

Çıktısı ziyaretçiye, sorguya ya da ana göre değişen blok HİÇBİR KOŞULDA saklanmıyor: form, giriş, kayıt, mini sepet, ürün ızgarası, arama, sepet, ödeme, hesabım, kısa kod. Kısa kod listede çünkü içinde ne olduğunu bilmiyoruz — bir kez canlıda WPForms jetonunu dondurduk ve kural o gün kaynaktan denetlenir hâle geldi.

Görsel optimizasyonu. Yüklenen her görselin WebP (isteğe bağlı AVIF) kopyası orijinalin YANINA yazılıyor; orijinal dosyaya dokunulmuyor. Ölçüldü: %39–78 kazanç. Küçülmeyen dosya saklanmıyor — az renkli küçük PNG'ler çoğu zaman WebP olarak büyüyor.

Görsel sayfada bir <picture> içinde sunuluyor: her biçimin adresi HTML'de duruyor ve seçimi tarayıcı yapıyor. Sunucuda Accept başlığına bakıp aynı adrese farklı dosya döndürmek BİLEREK kullanılmadı — aynı adresin ziyaretçiye göre değişmesi, araya giren her önbelleğin yanlış dosyayı yanlış kişiye vermesi demek.

Aynı işi yapan bir eklenti (LiteSpeed, ShortPixel, Imagify, Smush, EWWW, Optimole, Converter for Media) gerçekten çalışıyorsa MevvBlocks kendiliğinden kenara çekilir ve sebebini yazar. "Kurulu mu" değil, "iş yapabiliyor mu" diye bakılıyor: LiteSpeed'de görsel optimizasyonu ayarı açık ama bulut anahtarı yoksa hiçbir şey yapmıyor demektir.

Core Web Vitals — ziyaretçilerinizde ölçülür

Core Web Vitals tanımı gereği alan verisidir: gerçek ziyaretçilerin tarayıcısında ölçülür, 28 günlük pencerede 75. yüzdelik olarak raporlanır. Lighthouse koşusu başka bir şeydir — tek makine, tek ağ, tek kere. “PageSpeed 98 diyor, Search Console kırmızı” şaşkınlığını çözen şey bu ayrımı bilmektir.

Web Vitals ekranı cihaz sınıfı başına üç sayı gösterir:

LCP
Ana içeriğin ekrana gelme süresi. İyi sayılan: 2,5 saniye ve altı.
CLS
Sayfa yerleşirken ne kadar oynadığı. İyi sayılan: 0,10 ve altı.
INP
Dokunmaya ya da tıklamaya cevap süresi. İyi sayılan: 200 ms ve altı.

Ölçen betik yaklaşık bir kilobayt ve hiçbir kütüphane yüklemiyor — işi tarayıcının kendi PerformanceObserver’ı yapıyor. Örnekleme varsayılan olarak ziyaretlerin %10’u ve kararı tarayıcı veriyor, sunucu değil: sunucu verseydi aynı adres iki farklı HTML üretir, tam sayfa önbelleği hangisini önce görürse onu herkese servis ederdi.

Kişisel hiçbir şey toplanmıyor: IP yok, çerez yok, kimlik yok. Üç değer, cihaz sınıfı ve sayfa yolu — kendi sunucunuzda kovalanmış sayaçlar olarak duruyor. Hiçbir yere gönderilmiyor.

Yüz örneğin altında ekran hiç sayı göstermez; yerine kaç örnek topladığını yazar. Bir düzine ölçümden çıkan yüzdelik gürültüdür ve yanlış bir sayı, hiç sayı olmamasından kötüdür: birisi ona bakıp iş yapar. Yüzdelik histogramdan okunuyor, yani kova genişliği kadar yaklaşık — ekranda bu da yazıyor.

Dönüşüm ve maske

Her bloğa kaydırma, ölçekleme, döndürme (Z ve 3B X/Y), eğme ve aynalama uygulanabiliyor; hepsi masaüstü, tablet ve mobil için ayrı. Üzerine gelince ayrı bir dönüşüm ve geçiş süresi verilebiliyor.

Maske olarak daire, üçgen, altıgen, damla, çiçek, serbest şekil ya da kendi görseliniz kullanılabiliyor; boyut, konum ve tekrar ayarlanıyor.

Şekiller ayrı SVG dosyası değil, CSS'in içinde gömülü adres. Dosya yolu yanlış olursa maske sessizce kaybolur ve 404 kimseye görünmez; CDN arkasında eklenti klasörünün adresi de değişebiliyor.

Site geneli özel kod

Başlığa, gövde başına ya da gövde sonuna HTML, CSS ve JavaScript koyabiliyorsunuz: doğrulama etiketleri, ölçüm kodları, küçük stil düzeltmeleri. Konum, öncelik ve oturum koşulu ayarlanıyor.

PHP çalıştırmaz. Bir sayfa yapıcının içine PHP çalıştırıcı koymak, tasarımcıya verilen yetkiyi sunucuda kod çalıştırma yetkisine çevirmek olurdu.

Yetki unfiltered_html: yazıya ham betik koyamayan biri site geneline hiç koyamaz. MevvLegal kuruluysa buradan çıkan izleyici betikleri de çerez onayı verilene kadar bekletilir.

WooCommerce blokları

Yirmi üç blok: ürün başlığı, görseller, fiyat, sepete ekle, puan, stok, meta, kısa açıklama, açıklama, veri sekmeleri, ek bilgiler, ilgili ürünler, üst satış, çapraz satış, sepet, ödeme, hesabım, sipariş takibi, sıralama ve sonuç sayısı — artı ürünler, ürün kategorileri ve bir mini sepet.

Hiçbiri WooCommerce'ı yeniden çizmiyor. Hepsi onun kendi şablon işlevlerini ve kısa kodlarını çağırıyor. Sebep: tema o şablonları değiştiriyor ve eklentiler o kancalara takılıyor — kargo, taksit, stok bildirimi, beden tablosu. Kendi çizimimiz hepsini sessizce düşürürdü.

Sepet, ödeme, hesabım ve sipariş takibi ziyaretçiye özel: tam sayfa önbelleği kapatılıyor ve eleman önbelleğine hiç alınmıyorlar. WooCommerce etkin değilse bu bloklar ne sunucuda ne editörde kaydolur.

Editör notları

Her bloğa not bırakabilirsiniz: kim yazdı, ne zaman, çözüldü mü. "Bu fiyatı müdür onaylamadı", "müşteri buradan şikâyetçi", "geçici, salıya kadar".

Notlar SAYFAYA HİÇ BASILMAZ. Kodda ön yüze basan tek bir kanca yok ve bunu bir test denetliyor. Notlar ekip içi konuşma; ziyaretçiye görünmesi, sayfanın bozulmasından daha büyük bir zarar olurdu.

Not bloğun kimliğine bağlı. Bir bloğu kopyaladığınızda kopya YENİ bir kimlik alıyor, yani notu devralmıyor — ve yan fayda olarak kendi CSS kapsamına kavuşuyor.

Notlar yazının kendi verisinde duruyor: yazı silinince notlar da gidiyor, arkada sahipsiz kayıt kalmıyor.

Editörde AI — kendi anahtarınızla

Metin yazma, yeniden yazma, kısaltma, görsel alt metni ve çeviri. Anthropic ve OpenAI destekleniyor.

KENDİ API ANAHTARINIZI girersiniz ve istek sitenizden DOĞRUDAN sağlayıcıya gider. Metniniz bize ulaşmaz, kota ve fatura sizde kalır. Kendi bulut servisimizi kurmadık: o zaman metniniz bizim sunucumuzdan geçer ve veri sorumluluğu bize gelirdi.

Anahtar tarayıcıya hiç ulaşmaz — istek sunucudan gider. Hiçbir uçtan geri de dönmez; ayar formu bile değeri geri basmaz.

Anahtarı ŞİFRELEMİYORUZ ve bunu açıkça yazıyoruz: WordPress’te şifreleme anahtarı da aynı sunucuda durmak zorunda, yani veritabanına erişen saldırgan ikisini birden alır. "Şifreli" demek, olmayan bir korumayı vaat etmek olurdu. Gerçek koruma yetki sınırında: anahtarı yalnız yöneticiler girebilir.

Sonuç doğrudan bloğa yazılmaz; öneri olarak gelir ve siz uygularsınız. Metninize gömülü bir cümlenin modele talimat gibi geçmesine karşı asıl korumamız bu — onaylayan bir insan var.

Temanın theme.json dosyasını okumak

Bir blok teması paletini ve tipografisini zaten theme.json içinde bildiriyor. MevvBlocks bu dosyayı okuyup kendi site paletindeki boş yuvaları doldurabiliyor; böylece bir blokta seçtiğiniz renkler, ikinci ve rakip bir set değil, temanın zaten kullandığı renkler oluyor.

Köprü tek yönlü ve öyle kalıyor. theme.json dosyasına hiçbir şey geri yazılmıyor. Temanın kendi dosyasını düzenleyen bir eklenti size tema güncellemesinin üzerine yazacağı bir dosya bırakır — ve hangisinin doğru olduğunu anlamanın yolu kalmaz. Ayrıca yalnız boş bıraktığınız yuvalar doluyor: elle verdiğiniz bir renk asla değiştirilmiyor.

Siz açana kadar kapalı, çünkü zaten bir paleti olan bir site onun sessizce temanınkine çevrilmesini istemez.

Mega panel

Bir alt menü, dar bir açılır liste yerine dört sütuna kadar tam genişlikte bir panel olarak açılabiliyor. Bu yeni bir blok değil — zaten kullandığınız gezinme bloğunun bir ayarı; yani menü işaretlemesini, klavye davranışını ve mobil düzenini koruyor.

Alt menüsü olmayan bir menü öğesinde paneli açarsanız erişilebilirlik denetimi bunu söyler. Boş bir panel küçük bir görsel kusur değildir: ekran okuyucuya kendini duyuran ve sonra hiçbir şey içermeyen bir denetimdir.

Bir cümleden sayfanın ilk taslağı

İstediğiniz sayfayı anlatırsınız, model eklentinin kendi kalıp kütüphanesinden bölümleri seçer. Hiç işaretleme yazmaz: bölüm anahtarlarından oluşan bir liste döndürür ve o bölümleri MevvBlocks'un kendisi basar. Dolayısıyla sayfaya düşen şey temizlemeniz gereken üretilmiş HTML değil, düzenleyebileceğiniz sıradan bloklardır.

  • Modelin uydurduğu bir bölüm anahtarı kütüphanede yoktur, dolayısıyla düşürülür — ve ekran, sessizce daha kısa bir sayfa üretmek yerine size düşürüldüğünü söyler.
  • Sayfa her zaman taslak olarak oluşturulur. Onu yayımlayan bir kod yolu yoktur.
  • Editörün yapay zekâ araçları için girdiğiniz anahtarın aynısını kullanır: sitenizde saklanan kendi Anthropic ya da OpenAI anahtarınız, ve istek sunucunuzdan doğrudan sağlayıcıya gider.

Ücretsiz ve Pro

Ücretsiz sürüm ürünün tamamıdır: yüz on bloğun yüz yedisi, sekiz blok stili, tema şablonları, ızgara ve döngü oluşturucu, gönderim deposuyla form motoru, bülten formu, ACF alanları dahil dinamik metin, menü, arama, açılır pencereler, şablon kütüphanesi, blok ön ayarları, genel palet, görsel optimizasyonu, blok önbelleği, site geneli özel kod, editör notları, Core Web Vitals ekranı ve erişilebilirlik denetimi.

Pro çıktıya değil, düzenleme yeteneklerine ekler:

  • Kırılım noktaları — masaüstü / tablet / mobil sekmeleri; her kırılım için en az yükseklik, içerik genişliği, genişlik ve dört dolgu değeri.
  • Özel CSS — blok bazında; selector sözcüğü o bloğun kendisini gösterir.
  • Form eklentileri — koşullu alanlar, gönderene otomatik yanıt, webhook ve dosya yükleme alanı.
  • CSV dışa aktarma — form gönderimleri için.
  • Üç blok — panelleriyle içerik değiştirici, taksonomi süzgeçli portföy ve Lottie gömmesi. Onların render’ı da lisansı hiç sormaz: bunları zaten taşıyan bir sayfa basmaya devam eder.

Kırılım ve özel CSS panelleri bugün çekirdek bloklarda görünür: Kapsayıcı, Başlık, Metin, Düğme, Ayırıcı, Görsel, Referans, İkon, İkon Kutusu, İkon Listesi, Kısa Kod, Form, Ürünler ve Ürün Kategorileri. Kırılıma göre bazı denetimler zaten ücretsizdir: ızgaranın tablet ve mobil sütun sayıları, menünün hamburger eşiği, görsel kutusunun mobil konumu ve yapışkan konumun cihaz seçimi.

Lisans bittiğinde ya da hiç yokken:

  • Siteniz birebir aynı görünür. Kaydedilmiş her tablet ve mobil değer basılmaya devam eder; blok bazındaki her özel CSS kuralı da öyle. Bu bir söz değil, mimari bir kuraldır: render yolundaki hiçbir dosya lisans durumunu sormaz ve bunu bir test her sürümde denetler.
  • Formlar gönderilmeye, kaydedilmeye ve posta göndermeye devam eder.
  • Var olan açılır pencereler görünmeye devam eder.
  • Kaybettiğiniz şey editördeki Pro panelleridir — ve yalnız onlar.

Sunucularımıza ulaşılamıyorsa etkin bir lisans yedi gün daha çalışır. Hiç başarıyla doğrulanmamış bir kurulumda ek süre yoktur: adresimizi engellemek Pro edinmenin yolu değildir.

Bir şey çalışmıyorsa

"Form oturumu zaman aşımına uğradı"
O sayfanın önbellekteki kopyası yedi günden eski ya da sitenizin güvenlik anahtarları yenilenmiş. Sayfa önbelleğini temizleyin.
Form posta göndermiyor
Önce gönderim listesine bakın — kayıt postadan önce yazılır, yani oradaysa form çalışmış, teslimat çalışmamıştır. Sonra alıcı adresini ve sitenizin posta yapılandırmasını kontrol edin.
Editörde doğru, ön yüzde yanlış görünüyor
Editör önizlemesi tasarım gereği yaklaşıktır; yukarıya bakın. Doğru olan ön yüzdür. Blokta tablet ya da mobil değer varsa editör bunu bildirimle yazar.
Düzenlemeye kalkınca "bu blok geçersiz" diyor
Bu, geçmişte sunucuda kayıtlı olup editörde kaydı olmayan bloklarda oluyordu — kusursuz basılıyor, yalnız açılınca bozuluyorlardı. Artık bir test bunu bekliyor; yine de görürseniz blok adını bildirin.
Geri sayım yanlış zamanı gösteriyor
İşaretleme "X saniye kaldı" değil mutlak bir hedef anı taşır, yani önbellekli sayfa onu donduramaz. Blok kendini sunucu saatine göre düzeltir; o istek engellenmişse hata vermek yerine ziyaretçinin kendi saatine döner.
Başlık ya da alt bilgi şablonu görünmüyor
Temanızın tarifi yok. Yalnız Astra ve GeneratePress kaldırılabiliyor ve ekran bunu uyarıyor. Diğer şablon türleri her temada çalışır.
İki başlık çıktı
Hem MevvBlocks hem MevvBridge birer tane basıyor. MevvBlocks yeri bilerek önce alır — başlığı ikisinden birine bırakın.
Kapsayıcılar ayarladığımdan geniş ya da dar
Bir tema kuralı belirginlikte kazanıyor. Özellikle Astra kendi alt ögelerini güçlü biçimde biçimlendiriyor. Ölçülen durumlar !important ile değil belirginlik yükseltilerek çözüldü; yenisine denk gelirseniz hangi tema olduğunu bildirin.
Yayınlanmış bir yazı ızgarada görünmüyor
Görünmeli. Izgara yalnız yazı kimliklerini önbelleğe alır ve herhangi bir yazının kaydedilmesi önbelleği düşürür. Sürüyorsa gönderi türünün ve sıralamanın beklediğiniz gibi olduğunu doğrulayın.

Güncellemeler

Güncellemeler WordPress'in kendisi üzerinden geliyor. Eklenti mağazamıza daha yeni bir sürüm olup olmadığını soruyor ve yanıtı WordPress'in kendi güncelleme akışına veriyor; böylece yeni sürüm, birinin elle zip indirmesini beklemek yerine eklentiler ekranında sıradan bir Güncelle düğmesiyle beliriyor. Ücretsiz sürümde bu istek yalnız paket adını ve kurulu sürümü taşıyor — site adresi yok, e-posta adresi yok, lisans anahtarı yok, eklenti envanteri yok. İçinde sizi tanımlayan hiçbir şey olmadığı için güven imzaya dayanıyor: yanıt Ed25519 anahtarımızla imzalı; imzasız, imzası tutmayan, eski bir zaman damgasından tekrar oynatılan ya da indirmeyi bizimki dışında bir konağa yönlendiren bir yanıt siteye hiç dokunulmadan atılıyor.

Sınırlar

  • Editör önizlemesi düzen için birebir, her şey için değil. Tuval, ön yüzün bastığı CSS'in aynısını basıyor; boşluk, arka plan, kenarlık, tipografi, dönüşümler ve konum eşleşiyor. Hâlâ farklı olan şey, bir bloğun içindeki işaretlemeyi hedefleyen kurallar — çünkü tuvalde blok kendi düzenleme araçlarını çiziyor.
  • Başlık ve alt bilgi şablonları yalnız Astra ve GeneratePress'te çalışır. Diğer her tema hiçbir şey almaz, bir de uyarı alır — sessiz kalmak iki başlık demek olurdu.
  • Harita bir OpenStreetMap gömmesidir. Tek işaretçi; özel işaretçi görseli, harita stili ve yol tarifi yok. API anahtarı yok, faturalandırma hesabı yok, sayfa kaynağınızda duran bir anahtar yok.
  • Portföyde kip pencere ve sayfalama yok. Kartlar, bir süzgeç ve arşive bir bağlantı — bloğun tamamı bu.
  • Sosyal akışta API adaptörü yok. Elle seçtiğiniz bağlantıların listesidir; hiçbir ağdan bir şey çekilmez ve jeton saklanmaz.
  • Kaydırmaya bağlı animasyon yok ve iki efektin çakışmasını engelleyen bir kural da yok. Giriş, parallaks ve üzerine gelme efektleri vardır ve hepsi hareket kısıtlamasında sessizdir.
  • Pasta grafik animasyon yapmaz ve etkileşimli değildir: değerler üzerine gelince gösterilmek yerine yanında liste olarak basılır.
  • Erişilebilirlik kaplaması yok. Yalnız ölçüm ve bildirim.
  • CAPTCHA yok.
  • Canlı arama yok. Her tuş vuruşunda istek, hem bağımlılık hem hız sınırı yüzeyidir.
  • Geri sayım sitenin saat dilimini kullanır, ziyaretçinin değil. Bir kampanya dünyanın her yerinde aynı anda biter.
  • Menü serbest piksel değil iki kırılım sunar; açılır panel / yandan kayan mod yoktur — odak yönetimiyle kayan panel, açılır pencere bloğunun işidir.
  • Izgara kartları h1 olamaz, döngü iç içeliği iki düzeyde durur.
  • İkon seti 94 çizgi ikondur, hepsi tek bir 24 piksellik kutuda çizilmiştir. İkon yazı tipi yoktur ve seçiciye kendi ikonunuzu ekleyemezsiniz; kendi SVG’niz Görsel ya da SVG animasyonu bloğuyla girer.
  • Dinamik içerik sabit bir kaynak listesinden gelir. "Şu ifadeyi çalıştır" biçiminde bir alan yoktur: bu, sayfa düzenleyebilen herkese sunucuda kod çalıştırma yetkisi vermek olurdu.
  • Genel renk ve tipografi kümeleri silinemez, yalnız boşaltılır.
  • Ürün kartlarını WooCommerce çizer, biz değil; böylece temanız ve üçüncü parti kancalar çalışmaya devam eder.
  • Arayüz on bir dille geliyor. Türkçe, İngilizce, İspanyolca, Almanca, Fransızca, Portekizce, İtalyanca, Flemenkçe, Japonca, Rusça ve Lehçe; ayrıca es_MX, pt_PT gibi ülke varyantları. Listede olmayan yerel ayar İngilizceye düşer.
  • Web Vitals penceresi 28 günde bir sıfırlanır, kaymaz. Günlük kovalarla kayan pencere 28 kat yer tutardı; ekranda pencerenin ne zaman başladığı yazar.
  • Kaldırmak gönderim tablosunu ve ayarları silmez. Blok içeriğiniz her hâlükârda okunabilir kalır — post_content içinde standart işaretlemedir.

Hiçbir yerde üçüncü parti JavaScript ya da CSS kütüphanesi yüklenmez. Kaydırıcı için de, akordiyon için de, hareket için de, harita için de. Her biri kullanıldığı sayfada kırk ile yüz kilobayt arasında bir bedele mal olurdu.