Blok UI İşleyici Sözleşmesi

Aşama 1, CMS yerleşimleri, slotlar ve blok türleri ile public yerleşim tarafından halihazırda yüklenen, birlikte gelen WebBlocks UI primitifleri arasındaki hedeflenen genel işleme sözleşmesini tanımlar. Bu aşama yalnızca dokümantasyondan ibarettir. İşleyicileri henüz yeniden yazmaz.

Doğrulanmış WebBlocks UI Primitifleri

CMS tarafından kullanılan, birlikte gelen gerçek varlıklara karşı doğrulanmıştır:

  • CSS: https://cdn.jsdelivr.net/gh/fklavyenet/webblocks-ui@v2.7.12/packages/webblocks/dist/webblocks-ui.css
  • Icons CSS: https://cdn.jsdelivr.net/gh/fklavyenet/webblocks-ui@v2.7.12/packages/webblocks/dist/webblocks-icons.css
  • JS: https://cdn.jsdelivr.net/gh/fklavyenet/webblocks-ui@v2.7.12/packages/webblocks/dist/webblocks-ui.js

Doğrulanmış primitifler ve desenler:

  • wb-content-shell
  • wb-content-header
  • wb-content-body
  • wb-content-footer
  • wb-promo
  • wb-callout
  • wb-link-list
  • wb-stat
  • wb-gallery
  • wb-alert
  • wb-rich-text
  • wb-rich-text-readable
  • wb-rich-text-compact
  • wb-rich-text-loose
  • wb-btn
  • wb-grid
  • wb-grid-2
  • wb-grid-3
  • wb-grid-4
  • wb-stack
  • wb-gap-1
  • wb-gap-2
  • wb-gap-3
  • wb-gap-4
  • wb-gap-6
  • wb-gap-8

Şimdilik eksik primitifler ve UI boşlukları:

  • wb-prose — birlikte gelen WebBlocks UI varlıklarında BULUNAMADI. Bunu bir UI boşluğu olarak kabul edin ve Aşama 2 yerleşim veya işleyici hizalaması için ona güvenmeyin.
  • wb-promo-muted — birlikte gelen WebBlocks UI varlıklarında BULUNAMADI.
  • wb-promo-accent — birlikte gelen WebBlocks UI varlıklarında BULUNAMADI.
  • wb-cluster-3 — birlikte gelen WebBlocks UI varlıklarında BULUNAMADI.

Mevcut public işlemeyle ilgili doğrulanmış, birlikte gelen JS kancaları:

  • data-wb-toggle="dropdown"
  • data-wb-toggle="modal"
  • data-wb-gallery-target
  • #wb-overlay-root

Aşama 2B Yerleşim Modları

Public sayfalar artık açık yerleşim kompozisyon modları kullanıyor:

  • stack varsayılan moddur.
  • sidebar, sayfanın dolu bir kenar çubuğu slotu olduğunda kullanılır.
  • content, açık meta verilere sahip gelecekteki dokümantasyon/editoryal sayfalar için ayrılmıştır ve URL'den veya başlıktan tahmin edilmemelidir.
  • wb-content-shell evrensel bir sarmalayıcı değildir ve yalnızca sayfa meta verisi bir content-shell sunumunu açıkça desteklediğinde görünmelidir.

Matris

CMS Bloğu WebBlocks UI primitifi/deseni Durum Öncelik Sonraki adım
public yerleşim wb-public-body, wb-public-main, wb-container kabul edilebilir P0 kabuk/yerleşim kabuğu kararlı tutun ve slota özgü görsel öğeleri belgelenmiş primitiflere doğru taşıyın
üstbilgi slotu wb-section, wb-container, nav/liste primitifleri zayıf P0 kabuk/yerleşim özel üstbilgi görsel öğelerini belgelenmiş kabuk kurallarıyla hizalayın
ana slot wb-public-main, wb-container, wb-content-shell kabul edilebilir P0 kabuk/yerleşim içerik makale/dokümantasyon içeriği gibi okunduğu yerlerde wb-content-shell kullanımı ekleyin
kenar çubuğu slotu wb-grid, wb-stack, isteğe bağlı wb-content-shell aside zayıf P0 kabuk/yerleşim genel kenar çubuklarını sahte uygulama kenar çubukları gibi ele almayı bırakın
altbilgi slotu wb-section, wb-container, wb-grid, bağlantı listesi/nav primitifleri kabul edilebilir P0 kabuk/yerleşim altbilgiyi birlikte gelen yerleşim primitifleri üzerinde tutun ve fazladan özel sınıflardan kaçının
heading eski (legacy), kaldırıldı kullanımdan kaldırıldı P0 kaldırıldı yeniden eklemeyin; header kanonik başlık bloğudur
text wb-stack ritminde gövde metni kabul edilebilir P2 içerik kalitesi çıktıyı basit tutun ve ısmarlama tipografi sarmalayıcılarından kaçının
rich-text wb-rich-text wb-rich-text-readable kabul edilebilir P2 içerik kalitesi güvenli gövde metnini birlikte gelen zengin metin primitifiyle sınırlı tutun
html public blok sarmalayıcısında güvenilir ham HTML kabul edilebilir P3 sonra/özel güvenilir editoryal/yönetici kullanımıyla sınırlı tutun ve gelen tüm overlay içeriğini ortak sayfa overlay köküne taşıyın
section wb-section, isteğe bağlı wb-promo kabul edilebilir P1 public pazarlama/dokümantasyon varsayılan bölümü kararlı tutun ve promo semantiğini açık varyantlara ayırın
columns wb-grid, wb-grid-2, wb-grid-3, wb-grid-4, wb-link-list kabul edilebilir P1 public pazarlama/dokümantasyon üst öğe güdümlü varyantları açık tutun ve zorunlu sarmalayıcı kartları yeniden eklemekten kaçının
column_item düz hücre, wb-card, wb-stat veya bağlantı listesi öğesi kabul edilebilir P1 public pazarlama/dokümantasyon öğe işlemesini üst öğedeki columns.variant eşlemesiyle yönlendirmeye devam edin
callout wb-alert, isteğe bağlı wb-callout kabul edilebilir P2 içerik kalitesi birlikte gelen bir kenar çubuğu/yardım callout'u varsa varyant eşlemesini genişletin
quote semantik blockquote, isteğe bağlı çerçeveli kart kabul edilebilir P2 içerik kalitesi çerçevelemeyi her zaman kart benzeri olmak yerine koşullu hale getirin
faq basit Soru/Cevap kartı kabul edilebilir P3 özel/geri dönüş kararlı tek kart yaklaşımını koruyun ve gruplu açılır kapanır yapıyı akordeon bloklarına bırakın
tabs etkileşimli sekme deseni zayıf P2 içerik kalitesi gerçek, birlikte gelen bir sekme deseni olana kadar erteleyin
button wb-btn varyantları zayıf P1 public pazarlama/dokümantasyon desteklenen tüm CMS varyantlarını eşleyin ve düğme grubu yönü ekleyin
image semantik figure, img, figcaption zayıf P2 içerik kalitesi bağlantı davranışına uyun ve medya çerçevelemesini yalnızca gerektiğinde ekleyin
gallery wb-gallery artı overlay kökü modali kabul edilebilir P1 public pazarlama/dokümantasyon birlikte gelen galeri kancalarını ve merkezi overlay kökünü kullanmaya devam edin; giriş metnini Galeri bloğunun kendisinin dışında tutun
download wb-btn veya düğmeli kart CTA'sı kabul edilebilir P2 içerik kalitesi açık kart/indirme varyantlarını daha sonra ekleyin
navigation-auto nav/liste primitifleri, isteğe bağlı wb-link-list kabul edilebilir P1 public pazarlama/dokümantasyon basit menüleri basit tutun ve dokümantasyon kenar çubuklarını gerçek dokümantasyon kabuklarına ayırın
menu navigation-auto için eski takma ad kabul edilebilir P3 sonra/özel yalnızca taşınmış veriler için tutun
contact_form form primitifleri, wb-btn, wb-alert kabul edilebilir P1 public pazarlama/dokümantasyon yapılandırılmış editör alanlarını koruyun ve ham HTML formlarından kaçının
hero wb-promo pazarlama kabuğu kabul edilebilir P1 public pazarlama/dokümantasyon hero'yu birinci sınıf, çevrilmiş ve alt düğme blokları üzerinden eylem odaklı tutun
card-grid kart ızgarası deseni zayıf P1 public pazarlama/dokümantasyon mevcut yapılandırılmış kart ızgarasını kararlı tutun ve birinci sınıf modellemeyi daha sonra yeniden değerlendirin
showcase-list vitrin/galeri deseni zayıf P3 sonra/özel ya birinci sınıf bir vitrin bloğu olarak resmîleştirin ya da özel tutun
contact-info bağlantı listesi / iletişim meta kartı zayıf P2 içerik kalitesi yalnızca editörler tohum sayfaların ötesinde ihtiyaç duyarsa birinci sınıfa yükseltin
code kod bloğu deseni eksik P2 içerik kalitesi birinci sınıf işleyici/yönetici desteği ekleyin ya da geri dönüş (fallback) davranışını bilinçli olarak koruyun
list liste primitifi kabul edilebilir P1 public pazarlama/dokümantasyon özel satır tabanlı editörü koruyun ve eski geri dönüş tarzı ayar uyumluluğunu sürdürün
table wb-table deseni kabul edilebilir P1 public pazarlama/dokümantasyon özel satır tabanlı editörü koruyun ve eski geri dönüş tarzı ayar satırlarını sürdürün
accordion semantik açılır kapanır (disclosure) desen kabul edilebilir P1 public pazarlama/dokümantasyon alt blokları öğe olarak kullanan birinci sınıf semantik işleyicisini koruyun
feature-grid devredilen columns.variant = cards deseni kabul edilebilir P1 public pazarlama/dokümantasyon uyumluluk takma adı olarak yayında tutun, ancak yeni yapılandırılmış içerik için columns tercih edin
stats / metric-card devredilen columns.variant = stats deseni zayıf P1 public pazarlama/dokümantasyon takma adları dürüst tutun ve gerçek istatistiğe özgü sözleşmeleri yalnızca ürün sahipliğine geçerlerse ekleyin
logo-cloud logo ızgarası / marka şeridi zayıf P1 public pazarlama/dokümantasyon ürünleştirilmiş olarak kalırsa yapılandırılmış medya işleme ekleyin
testimonial devredilen alıntı-referans (testimonial) deseni zayıf P2 içerik kalitesi bağımsız bir testimonial sözleşmesi ürün sahipliğine geçmedikçe takma ad davranışını dürüst tutun
timeline zaman çizelgesi deseni zayıf P2 içerik kalitesi yalnızca zaman çizelgesi içeriği gerçek ve yinelenen bir kullanım senaryosuysa yükseltin
pricing fiyatlandırma kartı/ızgarası deseni zayıf P1 public pazarlama/dokümantasyon yalnızca yapılandırılmış planlar/özelliklerle birinci sınıf yapın
toc içindekiler gezinmesi kabul edilebilir P1 public pazarlama/dokümantasyon aynı sayfa içindekiler toplamayı yalnızca açıkça çapalanmış header bloklarıyla sınırlı tutun
breadcrumb içerik haritası (breadcrumb) gezinmesi eksik P2 içerik kalitesi public sayfa kabuğu gerçekten ihtiyaç duyana ve birlikte gelen bir desen doğrulanana kadar erteleyin
cookie-notice ortak gizlilik bannerı/modal deseni eksik P3 sonra/özel onay arayüzünü blok işleyicileri yerine public yerleşimde tutun

Sayfa Yerleşimi ve Slotlar

Public yerleşim

  • Public yerleşim, sayfa genelindeki kabuğun sahibidir ve temel <body class="wb-public-body"> sözleşmesini korumalıdır.
  • Page Layout, dış public kabuk modunun editöre dönük adıdır.
  • Depolanan uyumluluk alanı bu aşamada public_shell olarak kalır, ancak Page Layout'lar artık admin panelinde kurulum düzeyinde yönetilen kayıtlardır.
  • Page Layout, bu temel body sınıfına layout-default veya layout-docs gibi doğrulanmış body sınıfları ekleyebilir.
  • Ana sayfa bölgeleri önce birlikte gelen WebBlocks UI yerleşim primitiflerinden inşa edilmelidir: wb-public-main, wb-container, wb-section, wb-stack, wb-grid.
  • wb-content-shell, wb-content-header, wb-content-body ve wb-content-footer, sayfa makale, kılavuz, dokümantasyon veya editoryal içerik gibi okunduğunda ana içerik alanının içine aittir. Bunlar site genelindeki üstbilgi veya altbilgi görsel öğeleri değildir.
  • #wb-overlay-root, galeri görüntüleyici, public arama modali ve çerez tercihi modali gibi public overlay'ler için tek ortak bağlama noktasıdır.
  • Bu sarmalayıcının sahibi public yerleşimlerdir; bloklar, partial'lar ve güvenilir HTML overlay alt öğeleri katkısında bulunabilir ancak rakip overlay kök kapsayıcıları işlememelidir.
  • Birlikte gelen WebBlocks UI tetikleyici kancalarını kullanan güvenilir içe aktarılmış HTML, tetikleyici-hedef sözleşmesini korumalıdır. İçe aktarılmış ana içerikteki bir tetikleyici, <main> dışındaki bir modal, çekmece (drawer), popover veya galeri görüntüleyiciyi işaret ediyorsa, çıkarıcı (extractor) referans verilen bu hedefi düşürmek yerine ortak #wb-overlay-root içine taşımalıdır.
  • CMS, #wb-overlay-root altında ortak bir diyalog katmanını önceden işlediğinde, WebBlocks UI v2.7.12 sürümünün güvenilir modal ve galeri hedeflerini gizli bir üst öğe içinde bırakmadan bu katmana taşıyabilmesi (portal) için katman gizlenmemiş kalmalıdır.

Kart

  • card, data-wb-public-block-type="card" ile işleyici kökü olarak article.wb-card öğesinin sahibidir.
  • card_header, data-wb-public-block-type="card-header" ile div.wb-card-header öğesinin sahibidir.
  • card_body, data-wb-public-block-type="card-body" ile div.wb-card-body öğesinin sahibidir.
  • card_footer, data-wb-public-block-type="card-footer" ile div.wb-card-footer öğesinin sahibidir.
  • Kart bölgeleri kendi köklerini doğrudan işlemeli ve fazladan genel public sarmalayıcılar almamalıdır.
  • Normal Kart sözleşmesi, yerleşik bir promo veya medya işleyicisi değil, bu üç bölge üzerinden birleştirilebilir alt içeriktir.
  • Daha eski kaydedilmiş Kart satırları, yalnızca Kartın hiçbir Kart bölgesi alt öğesi olmadığında hâlâ minimal bir geri dönüş işleyicisi kullanabilir.
  • wb-sidebar, gerçek bir dokümantasyon/uygulama gezinme kabuğu için ayrılmıştır. Genel pazarlama veya editoryal kenar çubukları, wb-grid, wb-stack, kartlar, callout'lar ve bağlantı listelerinden oluşan sıradan aside içeriği olarak kalmalıdır.

Slot sarmalayıcıları

  • Slot sarmalayıcıları serbest biçimli sayfa düzeyinde editoryal ayarlar değil, deterministik çalışma zamanı davranışıdır.
  • Sayfa yerleşimi tanıtıcısı (handle), mevcut olduğunda önce yönetilen bir Page Layout kaydına çözümlenir ve ardından bu kaydın yönetilen Page Layout Slot kayıtları; slot sarmalayıcı öğesini, sınıfları, id'leri ve güvenilir yapısal parçacıkları çözümlemek için kullanılır.
  • Edit Page karşılaştırması ve Add Missing Layout Slots sayfa yapısını yalnızca eksik Page Slot kayıtları oluşturarak değiştirir; genel (public) sarmalayıcı sahipliğini değiştirmezler.
  • Page Layout Slot güvenilir HTML alanları yalnızca sarmalayıcıya bitişik yerleşim yapısı için vardır. Bir betik (script) yüzeyi değildirler ve slot sarmalayıcısının içinde işlenen içerik köklerinin sahibi hâlâ bloklardır.
  • Varsayılan genel header slotu yalnızca bir Navbar bloğu içerdiğinde, CMS slot sarmalayıcısını nav.wb-navbar köküne yükseltir; böylece WebBlocks UI yapışkan (sticky) davranışı kısa bir üst header kutusuyla sınırlanmaz.
  • wb-navbar--static, yapışkan olmayan genel Navbar blokları için devre dışı bırakma sınıfı olmaya devam eder.
  • default; header, main, sidebar ve footer slotlarını semantik sarmalayıcılara eşler ve bilinmeyen slotlar için div öğesine geri döner.
  • docs; header slotunu docs navbar sarmalayıcısına, sidebar slotunu docs kenar çubuğu sarmalayıcısına ve main slotunu docs ana sarmalayıcısına eşlerken wb-dashboard-shell sayfaya ait kalır.
  • Yerleşik default ve docs yerleşimleri, işleme ilişkisel slot satırlarından önce veya onlar olmadan da kararlı kalsın diye yedek yönetilen tanımları korur.
  • Bloklar, çözümlenen slot sarmalayıcısının içinde işlenir ve sayfa kabuğu işaretlemesinin sahibi değildir.
  • Yapışkan navbar davranışı .wb-navbar sınıfına aittir. CMS, slot sarmalayıcısına veya navbar blok çıktısına navbar'a özgü ikinci bir yapışkan sınıf eklememelidir.
  • Bir sayfa slotu source_type = shared_slot kullandığında, Ortak Slot yalnızca iç blok ağacını sağlar. Kendi sayfa kabuğunu veya slot sarmalayıcısını işlememelidir.
  • Ortak Slot uyumluluğu işlemeden önce denetlenir: site kapsamı eşleşmelidir, isteğe bağlı public_shell tüketen sayfanın yerleşim tanıtıcısıyla birebir eşleşmelidir ve isteğe bağlı slot_name tüketen sayfa slotuyla eşleşmelidir.
  • Genel amaçlı public blok sarmalayıcıları semantik olmayan biçimde kalmalı ve yerleşim/kök sahibi bloklar için kullanılmamalıdır.
  • Sayfa kabuğu dış kabuğun, slot sarmalayıcıları bölge sarmalayıcısının, kök sahibi bloklar ise kendi gerçek public kök öğelerinin sahibidir.
  • Kök sahibi bloklar, fazladan bir dış wb-public-block sarmalayıcısı almak yerine data-wb-public-block-type özniteliğini kendi renderer köklerine yerleştirmelidir.

Header slotu

  • Amaçlanan eşleme: içinde ürünle gelen nav/liste temel öğeleriyle, wb-section ve wb-container üzerine kurulu header bölgesi.
  • Header'ın yığılmış bir banner mı yoksa yatay bir gezinme çubuğu mu olarak okunduğuna bağlı olarak, iç ritim için wb-stack veya wb-grid kullanın.
  • Birincil veya yasal gezinme navigation-auto ya da menu üzerinden işlenebilir; ancak slot, blok renderer'larının header'a özgü özel HTML üretmesini gerektirmemelidir.
  • Mevcut uygulama zayıftır çünkü header slotu birkaç özel wb-public-* krom sınıfının sahibidir. Faz 2A, mevcut wb-section ve wb-container kabuğunu olduğu gibi korur ve özel header kromunun güvenli biçimde azaltılmasını sonraki bir geçişe erteler.

Main slotu

  • Amaçlanan eşleme: <main class="wb-public-main"> birincil içerik bölgesidir.
  • Varsayılan kabuk: sıradan blok yığınları için wb-public-main > .wb-container > .wb-stack.
  • Editoryal/docs kabuğu: isteğe bağlı wb-content-header, wb-content-body ve wb-content-footer bölümleriyle wb-public-main > .wb-container > .wb-content-shell.
  • İç içe blok yerleşimi, herhangi bir özel sarmalayıcı sınıfından önce wb-stack, wb-stack-, wb-gap-, wb-grid ve wb-grid-* kullanmalıdır.
  • Mevcut uygulama kabul edilebilirdir çünkü main slotuna zaten kararlı bir public sarmalayıcı ve blok ritmi kazandırmaktadır. Faz 2B, wb-content-shell her sayfaya zorlanmak yerine ayrılmış kalsın diye açık yerleşim modları ekler.

Sidebar slotu

  • Amaçlanan eşleme: wb-grid veya ürünle gelen başka bir yerleşim temel öğesi aracılığıyla ana içeriğe bitişik aside.
  • Varsayılan içerik, destekleyici bloklardan oluşan bir wb-stack olmalı ve blok içeriğine uyuyorsa isteğe bağlı olarak bir wb-card veya wb-callout içinde gruplanmalıdır.
  • wb-sidebar yalnızca sayfa açıkça bir docs/uygulama gezinme kabuğu işlerken kullanılmalı; genel destekleyici pazarlama içeriği için kullanılmamalıdır.
  • Mevcut uygulama zayıftır çünkü hâlâ özel bir wb-public-sidebar kabuğu kullanmaktadır. Faz 2A, iç blokların kart mı yoksa callout olarak mı işleneceklerini kendilerinin denetlemesi için zorunlu dış wb-card sarmalayıcısını kaldırır.

Footer slotu

  • Amaçlanan eşleme: wb-section, wb-container ve wb-grid veya wb-stack üzerine kurulu footer bölgesi.
  • Gezinme listeleri basit nav/liste temel öğelerini veya ürünle gelen UI deseni uygunsa wb-link-list kullanmalıdır.
  • Destekleyici içerik blokları footer içinde normal biçimde işlenebilir; footer'a özgü blok renderer'larına ihtiyaç duymamalıdırlar.
  • Mevcut uygulama kabul edilebilirdir çünkü yalnızca çerez ayarları denetimi çevresindeki küçük CMS'e özgü footer kromu dışında, ürünle gelen yerleşim temel öğelerine yakın kalmaktadır.

Temel İçerik Blokları

`header`

  • CMS blok slug'ı: header
  • Yönetim alanları: text, level, anchor
  • Çevrilebilir alanlar: title metni
  • Ortak alanlar: variant/seviye, hizalama ayarı, çapa (anchor)
  • Amaçlanan WebBlocks UI çıktısı: level değerine göre semantik <h1>-<h6>; ortak çapadan gelen isteğe bağlı id; başlık öğesinin ötesinde uydurulmuş bir sarmalayıcı yok.
  • Mevcut uygulama: kabul edilebilir
  • TOC sözleşmesi: açık ortak çapalar desteklenen tek TOC kaynağıdır ve public TOC, iç içe yerleşim torunları dahil olmak üzere aynı işlenmiş sayfa ağacındaki çapalı header bloklarını toplar.
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: çapa davranışını açık tutun, sarmalayıcısız çıktıyı koruyun ve başlık semantiğinin paralel bir eski (legacy) blok yerine Header tarafından sahiplenilmesini sürdürün.

`text`

  • CMS blok slug'ı: text
  • Yönetim alanları: content
  • Çevrilebilir alanlar: content
  • Ortak alanlar: yok
  • Amaçlanan WebBlocks UI çıktısı: sıradan paragraf/gövde metni; ürünle gelen wb-stack ritmini yalnızca birden çok metin düğümü için gerektiğinde kullanın.
  • Mevcut uygulama: kabul edilebilir
  • İçe aktarma/eşitleme eşleme notu: text/plain_text yalnızca güvenli satır içi biçimlendirme işaretlemesi içermeyen basit düz gövde metni için kullanılmalıdır.
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: bu bloğu basit tutun ve onu sözde bir zengin metin bloğuna dönüştürmekten kaçının.

`rich-text`

  • CMS blok slug'ı: rich-text
  • Yönetim alanları: content
  • Çevrilebilir alanlar: content
  • Ortak alanlar: yok
  • Amaçlanan WebBlocks UI çıktısı: ürünle gelen WebBlocks UI zengin metin temel öğesi kullanılarak wb-rich-text wb-rich-text-readable içine sarılmış, arındırılmış (sanitize edilmiş) gövde metni.
  • Mevcut uygulama: kabul edilebilir
  • Depolama modeli: Rich Text, Markdown işaretleri değil, kısıtlı ve güvenli bir HTML parçası saklar. İzin verilen etiketler p, strong, em, code, a[href], ul, ol, li ve gerektiğinde br etiketleridir. Sınıflar, stiller, olay öznitelikleri, başlıklar, medya, tablolar, düğmeler ve desteklenmeyen HTML arındırma sırasında ayıklanır.
  • Yönetim davranışı: yönetim editörü, gizli bir form alanıyla eşitlenen ve bağımlılık gerektirmeyen bir contenteditable yüzeyidir. Bilinçli olarak gövde metni biçimlendirmesiyle sınırlıdır ve Header, Button, Media, Table, Layout, HTML veya diğer özel blok türlerinin yerini almaz.
  • İçe aktarma/eşitleme eşleme notu: içe aktarılan gövde metni güvenli satır içi biçimlendirme, birden çok paragraf veya basit listeler içeriyorsa text yerine rich-text olmalıdır.
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: Rich Text'i güvenli editoryal gövde metniyle sınırlı tutun. wb-rich-text public tipografi temel öğesi olmaya devam eder. Başlıklar, medya, düğmeler, tablolar, yerleşim ve ham HTML kompozisyonu ayrı bloklar veya özellikler olarak kalır.

`html`

  • CMS blok slug'ı: html
  • Yönetim alanları: content
  • Çevrilebilir alanlar: content
  • Ortak alanlar: yok
  • Amaçlanan WebBlocks UI çıktısı: normal public blok sarmalayıcısı içinde ham güvenilir HTML.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: bu bloğu yalnızca güvenilir editoryal/yönetici kullanımı için tutun, XSS riskini açıkça belgeleyin ve sıradan editörlerin normal içerik için yapıştırılmış WebBlocks HTML'ine bel bağlamasına izin vermeyin. Güvenilir HTML, ürünle gelen WebBlocks UI katman (overlay) işaretlemesi içeriyorsa, public sayfa kabuğu bu iç katman içeriğini satır içinde yinelenen katman kökleri işlemek yerine paylaşılan ve sayfaya ait #wb-overlay-root içine taşımalıdır.

`section`

  • CMS blok slug'ı: section
  • Yönetim alanları: title, variant, content
  • Çevrilebilir alanlar: title, content
  • Ortak alanlar: variant
  • Amaçlanan WebBlocks UI çıktısı: varsayılan sarmalayıcı wb-section kullanır; açık promo varyantları, ürünle gelen desen uyduğunda wb-promo ile eşlenebilir; CTA eylemleri ham HTML'den değil, çocuk bloklardan gelmelidir.
  • Mevcut uygulama: kabul edilebilir
  • Sarmalayıcı kuralı: Section bloğu gerçek <section class="wb-section ..."> kökünün sahibidir ve bu öğe üzerinde data-wb-public-block-type="section" taşır. Genel amaçlı public blok sarmalayıcıları onu sarmamalıdır.
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: varsayılan section'ları kararlı tutun, promo'yu açık bir pazarlama varyantı olarak ele alın ve çocuk düğmeleri/düğme gruplarını yapılandırılmış tutun.
  • Promo CTA davranışı: çocuk button blokları wb-promo-actions içinde işlenir; düğme olmayan çocuklar CTA satırının dışında işlenmeye devam eder.

Yerleşim sarmalayıcı kuralı

  • header, section, container, grid, cluster, card ve content_header kök sahibi yerleşim/içerik kabuğu bloklarıdır ve public blok döngüsünden genel amaçlı bir public sarmalayıcı almamalıdır.
  • Section, gerektiğinde semantik <section class="wb-section"> kökünün sahibidir.
  • Container, Grid ve Cluster, belirli bir renderer bilinçli olarak aksini seçmedikçe kendi semantik olmayan yerleşim köklerinin sahibidir.
  • Card, kendi <article class="wb-card"> kökünün sahibidir.
  • Card Header, Card Body ve Card Footer, kendilerine karşılık gelen WebBlocks UI bölge köklerinin sahibidir ve birlikte normal Card public yapısını tanımlarlar.
  • Header, <h1> veya <h2> gibi kendi semantik başlık kökünün sahibidir.
  • Content Header, kendi semantik <header class="wb-content-header"> kökünün sahibidir ve başlığını her zaman <h1 class="wb-content-title"> olarak işler.
  • Layout + Card Faz 3 standardizasyonu, bu kök sahibi blokları renderer partial'ları, Block::ownsPublicRoot(), sözleşme kayıt defteri, salt okunur yönetim sözleşme modalı ve sözleşme denetim komutu genelinde hizalı tutar.

`hero`

  • CMS blok slug'ı: hero
  • Yönetim alanları: subtitle, title, content, variant
  • Çevrilebilir alanlar: eyebrow olarak subtitle, ana başlık olarak title, destekleyici metin olarak content
  • Ortak alanlar: variant, çocuk blok yapısı
  • Amaçlanan WebBlocks UI çıktısı: isteğe bağlı wb-eyebrow, wb-promo-title, wb-promo-text ve wb-promo-actions ile wb-promo > .wb-promo-copy
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: hero CTA eylemleri çocuk button bloklarından gelmeli, normal hero içeriği için ham HTML kullanılmamalı ve eski içe aktarılmış hero ayarları yalnızca kanonik çevrilmiş alanlar boş olduğunda yedek olarak devreye girmelidir.
  • Hero CTA davranışı: çocuk button blokları wb-promo-actions içinde işlenir; düğme olmayan çocuklar CTA satırında yok sayılır.
  • Sarmalayıcı kuralı: hero artık kendi renderer kökünün sahibidir ve data-wb-public-block-type="hero" özniteliğini bu köke yerleştirir; dolayısıyla slot döngüsü genel amaçlı bir dış public sarmalayıcı eklememelidir.

`columns`

  • CMS blok slug'ı: columns
  • Yönetim alanları: title, subtitle, content, variant, yinelenebilir column_items
  • Çevrilebilir alanlar: title, subtitle, content, çocuk column_item metni
  • Ortak alanlar: variant, çocuk sıralaması, çocuk bağlantıları, yapı
  • Amaçlanan WebBlocks UI çıktısı: wb-grid, wb-grid-2, wb-grid-3, wb-grid-4 veya sayı dinamik olduğunda genel bir wb-grid kullanan, yinelenebilir çocuklar için yerleşim kapsayıcısı.
  • Mevcut uygulama: kabul edilebilir
  • Varyant eşlemesi:
  • cards -> her çocuğu wb-card > .wb-card-body olarak işlenen grid kapsayıcısı
  • plain -> çerçevesiz yığılmış çocuk içeriğe sahip grid kapsayıcısı
  • stats -> çocuk öğeleri wb-stat olarak işlenen grid kapsayıcısı
  • links -> çocuk öğeleri bağlantı listesi satırları olarak işlenen wb-link-list
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: mevcut column_item içeriğinin basit ve yeniden kullanılabilir kalabilmesi için sunum seçiminden üst bloğun sorumlu olmasını sürdürün.

`column_item`

  • CMS blok slug'ı: column_item
  • Yönetim alanları: title, url, content
  • Çevrilebilir alanlar: title, content
  • Ortak alanlar: url
  • Amaçlanan WebBlocks UI çıktısı: üst bloğun veya öğenin varyantına bağlı olarak düz içerik, wb-card, wb-stat, wb-link-list-item veya ürünle gelen başka bir hücre görünümü olarak işlenebilen tek bir grid hücresi.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: column_item basit bir içerik birimi olmaya devam eder ve artık public sunumu üst columns bloğuna bırakır. Henüz özel bir sayısal değer alanı olmadığı için mevcut stats eşlemesi bilinçli olarak ihtiyatlıdır.

`cta`

  • CMS blok slug'ı: cta
  • Yönetim alanları: subtitle, title, content, yönetilen birincil CTA, yönetilen ikincil CTA, variant
  • Çevrilebilir alanlar: eyebrow olarak subtitle, ana başlık olarak title, destekleyici metin olarak content, ayrıca alt button etiketleri
  • Paylaşılan alanlar: variant, alt CTA URL'leri, alt öğe sıralaması
  • Hedeflenen WebBlocks UI çıktısı: wb-promo-copy ve wb-promo-actions içeren promosyon tarzı wb-card wb-promo bölümü
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: CTA etiketlerini alt button bloklarında dile (locale) ait tutun, CTA URL'lerini paylaşılan bırakın ve ayarlara dayalı CTA verilerini yeniden devreye sokmaktan kaçının.
  • Sarmalayıcı kuralı: cta artık kendi renderer kök öğesine sahiptir ve data-wb-public-block-type="cta" özniteliğini bu köke yerleştirir; bu nedenle slot döngüsü genel bir dış public sarmalayıcı eklememelidir.

`feature-grid`

  • CMS blok slug'ı: feature-grid
  • Yönetim alanları: title, subtitle, content, tekrarlanabilir feature_items
  • Çevrilebilir alanlar: title, subtitle, content, alt feature-item metni
  • Paylaşılan alanlar: alt öğe sıralaması, alt bağlantılar, yapı
  • Hedeflenen WebBlocks UI çıktısı: columns.variant = cards tarafından kullanılan aynı public kart ızgarası yapısı
  • Mevcut uygulama: uyumluluk takma adı (alias) olarak kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: Feature Grid'i kaynak destekli ve belgelenmiş tutun, ancak şu anda kendi feature-grid işaretlemesine sahip olmak yerine paylaşılan Columns cards renderer'ına devrettiğini açıkça belirtin.

`feature-item`

  • CMS blok slug'ı: feature-item
  • Yönetim alanları: title, url, content
  • Çevrilebilir alanlar: title, content
  • Paylaşılan alanlar: url
  • Hedeflenen WebBlocks UI çıktısı: Columns cards sunumunda column_item tarafından kullanılan aynı kart tarzı öğe kabuğu
  • Mevcut uygulama: uyumluluk takma adı (alias) olarak kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: Feature Item, paylaşılan Column Item cards sunumuna devretmeye devam ettiği sürece kaynak destekli, destekleyici bir alt blok sözleşmesi olarak belgelenmiş kalsın.

`callout`

  • CMS blok slug'ı: callout
  • Yönetim alanları: title, variant, content
  • Çevrilebilir alanlar: title, content
  • Paylaşılan alanlar: variant
  • Hedeflenen WebBlocks UI çıktısı: bildirim/uyarı davranışı wb-alert-* ile eşleşir; kenar çubuğu/yardım varyantları, WebBlocks UI'de böyle bir primitif varsa wb-callout ile eşlenebilir.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: ton eşlemesini açık tutun ve alternatif callout kabuklarını yalnızca yayınlanan UI'de mevcut olduklarında ekleyin.

`quote`

  • CMS blok slug'ı: quote
  • Yönetim alanları: content, title, subtitle
  • Çevrilebilir alanlar: content, title, subtitle
  • Paylaşılan alanlar: yok
  • Hedeflenen WebBlocks UI çıktısı: semantik blockquote; hazır kart/callout çerçevesini yalnızca alıntı bilinçli olarak çerçeveli bir referans/kart şeklinde sunulduğunda kullanın.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: çerçevesiz semantik bir alıntı varyantına izin verin ve testimonial öğesini yalnızca ayrı, birinci sınıf bir desen hâline gelirse kullanın.

`faq`

  • CMS blok slug'ı: faq
  • Yönetim alanları: title, content
  • Çevrilebilir alanlar: title, content
  • Paylaşılan alanlar: yok
  • Hedeflenen WebBlocks UI çıktısı: kararlı bir wb-card ve wb-stack kabuğu içinde basit soru/cevap içeriği.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: FAQ basit ve geriye dönük uyumlu kalır. Akordeon ailesinden bir bloğun alt öğesi olarak kullanıldığında title ve content alanları açılır içeriğin özeti/gövdesi işlevini görür.

`accordion`

  • CMS blok slug'ı: accordion
  • Yönetim alanları: title, content
  • Çevrilebilir alanlar: title, content
  • Paylaşılan alanlar: alt blok yapısı ve sıralaması
  • Hedeflenen WebBlocks UI çıktısı: özel akordeon JS'i veya uydurma sınıflar olmadan, <details> ve <summary> kullanan semantik gruplu açılır içerik.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: açılır öğeleri alt bloklar sağlar. Kullanılabilir title ve content alanları olmayan bloklar boş sarmalayıcılar olarak render edilmek yerine atlanır.

`faq-list`

  • CMS blok slug'ı: faq-list
  • Yönetim alanları: accordion ile aynı editoryal beklentiler
  • Çevrilebilir alanlar: üst bloktan ve alt öğelerden devralınır
  • Paylaşılan alanlar: alt blok yapısı ve sıralaması
  • Hedeflenen WebBlocks UI çıktısı: accordion ile aynı; bu slug artık ayrı, uzun vadeli bir desen değil, geçiş amaçlı bir takma addır.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: eski içeriğin çalışmaya devam etmesini sağlayın, ancak gelecekteki gruplu açılır içerik kullanımını accordion bloğuna yönlendirin.

`tabs`

  • CMS blok slug'ı: tabs
  • Yönetim alanları: title, subtitle, content
  • Çevrilebilir alanlar: title, subtitle, content
  • Paylaşılan alanlar: yok
  • Hedeflenen WebBlocks UI çıktısı: sekmeler birinci sınıf bir blok olarak kalacaksa gerçek, etkileşimli bir sekme kümesi.
  • Mevcut uygulama: zayıf
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: sekmeler, WebBlocks UI gerçek bir sekme deseni yayınlayana kadar açıkça ertelenmiştir. Mevcut basit kart görünümü yalnızca uyumluluk amaçlı bir geri dönüş olarak kalır ve öne çıkarılmaz.

`button`

  • CMS blok slug'ı: button
  • Yönetim alanları: title, url, subtitle, variant
  • Çevrilebilir alanlar: title
  • Paylaşılan alanlar: url, subtitle/hedef, variant, isteğe bağlı ek dosya medya ilişkisi
  • Hedeflenen WebBlocks UI çıktısı: primary, secondary, outline, ghost ve danger için açık wb-btn varyant eşlemesi; bilinmeyen değerler wb-btn wb-btn-primary değerine geri dönmelidir.
  • Mevcut uygulama: kabul edilebilir
  • Varyant eşlemesi:
  • primary -> wb-btn wb-btn-primary
  • secondary -> wb-btn wb-btn-secondary
  • outline -> wb-btn wb-btn-outline
  • ghost -> wb-btn wb-btn-ghost
  • danger -> wb-btn wb-btn-danger
  • bilinmeyen veya boş -> wb-btn wb-btn-primary
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: ek dosya/indirme uyumluluğunu izole tutun, <button type="button"> öğesini yalnızca URL olmadığında render edin ve birinci sınıf bir buton grubu bloğunu ancak editörlerin alt buton satırlarının ötesinde ihtiyacı olduğunda resmîleştirin.

CTA Satırları

  • Hero ve promosyon tarzı bölüm blokları, CTA'ları alt button bloklarıyla modellemelidir.
  • Promosyon CTA satırları wb-promo-actions içinde render edilir.
  • Promosyon bağlamlarının dışında, sıradan eylem satırları wb-cluster wb-cluster-2 gibi hazır küme yardımcı sınıflarını kullanabilir.
  • Birinci sınıf bir button-group bloğu şimdilik ertelenmiştir; mevcut alt buton modeli, yeni blok mimarisi eklemeden yapılandırılmış CTA satırlarını zaten destekliyor.

`image`

  • CMS blok slug'ı: image
  • Yönetim alanları: media_id, subtitle, url, title
  • Çevrilebilir alanlar: altyazı (caption) olarak title, alternatif metin olarak subtitle
  • Paylaşılan alanlar: media_id, url
  • Hedeflenen WebBlocks UI çıktısı: semantik figure, img ve isteğe bağlı figcaption; hazır medya/kart sınıflarını yalnızca görsel bilinçli olarak çerçevelendiğinde kullanın.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: Faz 3 artık altyazıyı ve alternatif metni görsel çeviri yolunda tutar, isteğe bağlı paylaşılan bağlantı URL'sini korur ve medya mevcut olduğunda sarmalayıcısız semantik çıktıyı sürdürür.

`gallery`

  • CMS blok slug'ı: gallery
  • Yönetim alanları: kompakt Gallery Items liste satırları, paylaşılan Galeri sunum ayarları ve öğe başına metaveri pencereleri
  • Çevrilebilir alanlar: block_gallery_item_translations üzerinden galeri öğesi başına alt_text, caption, overlay_title ve overlay_text
  • Paylaşılan alanlar: sıralı galeri medya seçimi ve sırası, sütunlar, boşluk, varyant, en-boy oranı, altyazı modu, kaplama (overlay) modu ve lightbox anahtarı
  • Hedeflenen WebBlocks UI çıktısı: görüntüleyicisi #wb-overlay-root altında monte edilen WebBlocks galeri deseni; etkileşimi öncelikle hazır WebBlocks UI galeri kancaları yönetmelidir.
  • Mevcut uygulama: kabul edilebilir
  • Public render sözleşmesi: Galeri artık public bir giriş başlığı veya paragrafı üretmez. Eski kayıtlarda saklanan Galeri başlık/açıklama değerleri durabilir, ancak public renderer tarafından yok sayılır. Sabit en-boy oranlı Galeri medyası, tam görüntüyü ortalanmış contain yerleşimiyle korur; böylece ekran görüntüsü tarzı görseller sabit karolar içinde kırpılmaz.
  • Editoryal sözleşme: bölüm başlıkları veya açıklayıcı metin gerektiğinde, Galeri bloğundan önce Content Header ile birlikte Plain Text veya Rich Text kullanın.
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: mevcut renderer, kanonik sıralı galeri medyasını block_media üzerinden yazar, öğe başına dile ait metinleri block_gallery_item_translations üzerinden çözümler, daha eski kayıtlı içerik için eski tip geri dönüş öğelerini korur ve data-wb-gallery-target özniteliğini #wb-overlay-root altındaki tek paylaşılan görüntüleyici penceresiyle eşli tutar.

`download`

  • CMS blok slug'ı: download
  • Yönetim alanları: title, subtitle, media_id, variant
  • Çevrilebilir alanlar: title, subtitle
  • Paylaşılan alanlar: media_id, variant
  • Hedeflenen WebBlocks UI çıktısı: wb-btn olarak dosya CTA'sı veya varyant daha fazla bağlam gerektirdiğinde kompakt bir wb-card artı wb-btn.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: Faz 3 artık görünür etiketi ve yardımcı metni metin çevirilerinde tutar, paylaşılan medya ve buton varyantı sahipliğini korur ve medya kaynağı olmadığında bozuk CTA çıktısını bastırır.

`contact_form`

  • CMS blok slug'ı: contact_form
  • Yönetim alanları: heading, intro_text, submit_label, success_message, recipient_email, send_email_notification, store_submissions
  • Çevrilebilir alanlar: heading, intro_text, submit_label, success_message
  • Paylaşılan alanlar: recipient_email, send_email_notification, store_submissions
  • Hedeflenen davranış: public gönderim önce mesajı kaydeder, ardından çözümlenen alıcıya eşzamanlı e-posta bildirimi dener; yönetim görünümleri, teslimat başarısız olduğunda kompakt bildirim durumunu ve güvenli hata ayrıntısını göstermelidir.
  • Public gönderim uç noktası: CSRF içeren yerel tarayıcı formu POST /contact-messages, CMS'e ait gizli, otomatik üretilmiş anti-spam kontrol alanı, zorunlu name, email ve message doğrulaması, isteğe bağlı subject ve kontrol alanı doldurulmuş gönderimler için genel başarı davranışı.
  • Notlar: önce blok düzeyindeki alıcı geçersiz kılması kazanır, ardından geçerli public sitenin contact_recipient_email değeri, ardından CONTACT_RECIPIENT_EMAIL, son olarak da açık bir iletişim alıcısı yapılandırılmadığında güvenli yerel geri dönüş olarak MAIL_FROM_ADDRESS kullanılır.

`video`

  • CMS blok slug'ı: video
  • Yönetim alanları: title, content, url, media_id
  • Çevrilebilir alanlar: title, content
  • Paylaşılan alanlar: url, media_id
  • Hedeflenen WebBlocks UI çıktısı: doğrudan kaynaklar için semantik <video controls> veya yalnızca bilinen YouTube/Vimeo URL'leri için güvenli bir sağlayıcı <iframe>, basit bir wb-card kabuğu içinde.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: Faz 3 artık Video'ya özel bir yönetim formu ve kaydetme yolu sağlar, görünür metni çevrilmiş tutar, barındırılan medya öncelikli renderlamayı korur ve güvenli ama bilinmeyen URL'ler için güvensiz gömme yerine basit bir dış bağlantıya geri döner.

`audio`

  • CMS blok slug'ı: audio
  • Yönetim alanları: title, content, url, media_id
  • Çevrilebilir alanlar: title, content
  • Paylaşılan alanlar: url, media_id
  • Hedeflenen WebBlocks UI çıktısı: basit bir wb-card kabuğu içinde semantik <audio controls>.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: Faz 3 artık Audio'ya özel bir yönetim formu ve kaydetme yolu sağlar, görünür metni çevrilmiş tutar ve kullanılabilir kaynak olmadığında boş oynatıcı kontrollerini bastırır.

`file`

  • CMS blok slug'ı: file
  • Yönetim alanları: title, content, url, media_id
  • Çevrilebilir alanlar: title, content
  • Paylaşılan alanlar: url, media_id
  • Hedeflenen WebBlocks UI çıktısı: wb-btn wb-btn-secondary indirme/açma eylemine sahip kompakt dosya kartı.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: Faz 3 artık File'a özel bir yönetim formu ve kaydetme yolu sağlar, görünür metni çevrilmiş tutar ve boş, geçersiz bağlantılar render etmeden paylaşılan medya-veya-URL kaynak sözleşmesini açık tutar.

`map`

  • CMS blok slug'ı: map
  • Yönetim alanları: title, content, url
  • Çevrilebilir alanlar: yok
  • Paylaşılan alanlar: title, content, url
  • Hedeflenen WebBlocks UI çıktısı: özel bir harita bileşeni değil, dışa açılan bir Open map butonuna sahip basit konum özeti.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: gerçek, hazır bir harita/gömme deseni mevcut olmadıkça uygulamayı bağlantı öncelikli tutun.

`slider`

  • CMS blok slug'ı: slider
  • Yönetim alanları: sıralı galeri varlıkları ve isteğe bağlı metin
  • Çevrilebilir alanlar: yok
  • Paylaşılan alanlar: varlıklar ve yapı
  • Hedeflenen WebBlocks UI çıktısı: öne çıkarılan bir Faz 4 renderer'ı yok; mümkün olduğunda bunun yerine gallery veya diğer yapılandırılmış medya bloklarını kullanın.
  • Mevcut uygulama: zayıf
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: standartlaştırmaya değer, doğrulanmış hazır bir WebBlocks UI karusel deseni olmadığı için slider ertelenmiş durumda kalır.

`code`

  • CMS blok slug'ı: code
  • Yönetim alanları: title, content
  • Çevrilebilir alanlar: title, content
  • Paylaşılan alanlar: isteğe bağlı settings.language
  • Hedeflenen WebBlocks UI çıktısı: enjekte edilmiş HTML ve sözdizimi vurgulama bağımlılığı olmadan, semantik <pre><code> içinde kaçış uygulanmış kaynak.
  • Mevcut uygulama: kabul edilebilir
  • İçe aktarma/senkronizasyon eşleme notu: <pre><code> örnekleri ve paket include blokları gibi ham veya çok satırlı parçalar rich-text değil code olmalıdır.
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: kod renderlamayı güvenli ve bağımlılıksız tutun. İsteğe bağlı dil metaverisi ayarlardan sunulabilir, ancak tam bir kod editörü veya sözdizimi vurgulama yığını Faz 3 kapsamının bilinçli olarak dışındadır.

`toc`

  • CMS blok slug'ı: toc
  • Yönetim alanları: title
  • Çevrilebilir alanlar: title
  • Paylaşılan alanlar: yok
  • Hedeflenen WebBlocks UI çıktısı: aynı sayfadaki mevcut, çapa (anchor) içeren header bloklarından oluşturulan wb-link-list.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: Faz 3 uygulaması bilinçli olarak minimal kalır. Yalnızca Header blokları zaten açık çapa kimlikleri (ID) sunduğunda render edilir; karmaşık başlık ayrıştırma veya otomatik üretilen çapalar denenmez.

`navigation-auto`

  • CMS blok slug'ı: navigation-auto
  • Yönetim alanları: navigation_menu_key
  • Çevrilebilir alanlar: yok
  • Paylaşılan alanlar: settings.menu_key
  • Hedeflenen WebBlocks UI çıktısı: basit nav/liste primitifleri veya uygun olduğunda wb-link-list kullanan site gezinme listesi; sayfa kabuğu gerçekten bir dokümantasyon kabuğu olmadıkça sahte bir dokümantasyon kenar çubuğu oluşturmayın.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: bloğu gezinme ağaçlarını renderlamaya odaklı tutun; çıktının üst gezinme, alt bilgi gezinmesi veya dokümantasyon gezinmesi olacağına slot/sayfa kabuğu karar versin.

`menu`

  • CMS blok slug'ı: menu
  • Yönetim alanları: navigation_menu_key
  • Çevrilebilir alanlar: yok
  • Paylaşılan alanlar: settings.menu_key
  • Hedeflenen WebBlocks UI çıktısı: navigation-auto ile aynı; bu, taşınmış veriler için eski tip bir takma ad olarak kalır.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: eski içerik desteğini koruyun, ancak yönetim deneyiminde ve gelecekteki seed'lerde navigation-auto tercih edin.

Eski / Geçiş Dönemi Faz 3 Notu

  • tabs, slider, menu ve faq-list, CMS kataloğunda hâlâ yayınlanmış çekirdek sözleşmeler değil, taslak döneminden kalma eski slug'lardır.
  • showcase-list ve contact-info hâlâ yalnızca public render uyumluluk blokları olarak mevcuttur ve bu fazda yayınlanmış çekirdek kataloğa yükseltilmemiştir.
  • Bu faz, söz konusu yolları dürüstçe belgelenmiş tutar, hâlihazırda kullanımda olan uyumluluk renderlamasını korur ve yeni bir sekme veya slider JavaScript sistemi getirmeden, ayarlara dayalı public bağlantılar için güvenli bağlantı temizliği ekler.

`contact_form`

  • CMS blok slug'ı: contact_form
  • Yönetim alanları: heading, intro_text, submit_label, success_message, recipient_email, send_email_notification, store_submissions
  • Çevrilebilir alanlar: title/başlık, content/giriş, submit_label, success_message
  • Paylaşılan alanlar: recipient_email, send_email_notification, store_submissions
  • Hedeflenen WebBlocks UI çıktısı: form alanları WebBlocks UI form primitiflerini kullanır; gönder eylemi wb-btn kullanır; geçici başarı geri bildirimi, paylaşılan public #wb-overlay-root altında bir kez WebBlocks UI toast olarak render edilir; doğrulama hataları ve kullanıcının düzeltebileceği hatalar ise wb-alert ile formun yakınında satır içi kalır.
  • Mevcut uygulama: kabul edilebilir
  • Sonraki renderer/yönetim iyileştirmeleri için notlar: yapılandırılmış form alanlarını koruyun, operasyonel ayarları editoryal metnin dışında tutun, site düzeyindeki varsayılan alıcıları rastgele blok JSON'u yerine site kaydında tutun ve editörleri ham form işaretlemesi yapıştırmaya veya gönderim yerine mailto: kullanmaya zorlamaktan kaçının.

Yalnızca Public Render Edilen veya Zayıf Bloklar

CMS Bloğu Mevcut durum İstenen yön Notlar
card-grid yalnızca public render geçiş amaçlı kalmalı Renderer artık columns.variant = cards ile aynı wb-grid ve wb-card yapısını üretiyor, ancak hâlâ settings.items öğesine bağımlı. Yeni yapılandırılmış içerik için Columns'u tercih edin.
showcase-list yalnızca public render geri dönüş/özel kalmalı Bu şu anda vitrine özgü seed içeriktir ve desen siteler arasında tekrarlamadıkça çekirdek olmamalıdır. Public görsel tetikleyicileri yine de data-wb-gallery-target üreterek ve #wb-overlay-root altında tek paylaşılan görüntüleyici penceresi kaydederek hazır galeri sözleşmesini izlemelidir.
contact-info yalnızca public render birinci sınıf olmalı Editörler iletişim metaverisi kartlarını kullanmaya devam ederse, ayarlara dayalı özel içerik yerine küçük, yapılandırılmış bir blok daha iyidir. Mevcut uyumluluk renderlaması artık geçersiz veya tehlikeli bağlantılar üretmek yerine güvenli olmayan ayar URL'lerini yok sayıyor.
code birinci sınıf public renderer kabul edilebilir Güvenli renderlaması artık mevcut; daha zengin editör olanakları isteğe bağlı gelecekteki iş olarak kalıyor.
list birinci sınıf public renderer kabul edilebilir Satır tabanlı özel liste renderlaması artık mevcut; eski, ayarlara dayalı içerik için uyumluluğu koruyun.
table birinci sınıf public renderer kabul edilebilir Satır tabanlı özel tablo renderlaması artık mevcut; eski ayar satırları için uyumluluğu koruyun.
accordion birinci sınıf public renderer kabul edilebilir Gruplu açılır içerik artık geri dönüş ayar işaretlemesi yerine semantik ve alt blokları kullanıyor.
feature-grid yayınlanmış uyumluluk takma adı geçiş amaçlı kalmalı Public renderer columns.variant = cards yoluna devrediyor; yeni içerik için Columns'u tercih edin, ancak Feature Grid kaynak destekli ve yayında olduğu için belgelenmiş kalsın.
stats yalnızca takma ad Columns ile birleşmeli Public renderer mevcut columns.variant = stats yoluna devrediyor ve bağımsız yayınlanmış bir sözleşme yerine takma ad davranışı olarak belgelenmiş kalmalı.
metric-card birinci sınıf takma ad stat primitifleriyle birleşmeli Public renderer artık Columns stats varyantıyla aynı wb-stat yönünü kullanıyor.
logo-cloud yalnızca geri dönüş birinci sınıf olmalı Yalnızca yapılandırılmış logo/medya satırlarına yönelik tekrarlanabilir bir ihtiyaç varsa yükseltin.
testimonial yalnızca takma ad Quote ile birleşmeli Public renderer alıntının testimonial varyantına devrediyor ve bağımsız yayınlanmış bir sözleşme yerine takma ad davranışı olarak belgelenmiş kalmalı.
timeline yalnızca geri dönüş birinci sınıf olmalı Yalnızca yapılandırılmış kilometre taşlarıyla ve net, hazır bir UI deseniyle yükseltin.
pricing yalnızca geri dönüş birinci sınıf olmalı Bir fiyatlandırma bloğunun yükseltilmeye değer olması için yapılandırılmış plan, özellik ve CTA alanlarına ihtiyacı vardır.
toc birinci sınıf public renderer kabul edilebilir Minimal TOC renderlaması artık mevcut Header çapalarını ve wb-link-list öğesini kullanıyor; etkin bölüm davranışı hâlâ ertelenmiş durumda.
breadcrumb yalnızca geri dönüş birinci sınıf olmalı Yalnızca public kabuk gerçekten içerik yolu (breadcrumb) gezinmesi gerektirdiğinde ekleyin.
cookie-notice yalnızca geri dönüş geri dönüş/özel kalmalı Public onay arayüzü zaten yerleşim kabuğunda bulunduğundan bu blok paylaşılan gizlilik deseniyle rekabet etmemelidir.

Renderer Kuralları

  • Blade renderer'ları hazır wb-* sınıflarını tercih etmelidir.
  • WebBlocks UI eksikliği olarak belgelenmedikçe yeni, tek seferlik public CSS sınıfları eklenmez.
  • Blok renderer'larında satır içi script olmaz.
  • Etkileşimli bloklar önce hazır WebBlocks UI veri kancalarını kullanmalıdır.
  • CMS'e özgü JS, yalnızca gerekli olduğunda public/cms/js içinde yer alır.
  • Kaplama, diyalog ve modal içeriği #wb-overlay-root kullanmalıdır.
  • Yönetim alanları, normal bloklar için editörleri ham WebBlocks UI HTML'i yapıştırmaya zorlamamalıdır.
  • Bloklar mümkün olduğunca ham HTML yerine yapılandırılmış alanlar ve varyantlar sunmalıdır.
  • Anlamlı renderer veya yönetim davranışı değişikliklerinden sonra README.md güncellenmelidir.

Faz Planı

Faz 1

  • Yalnızca dokümantasyon.
  • Renderer sözleşmesini oluşturun.
  • Henüz renderer yeniden yazımı yok.

Faz 2

  • Public yerleşimi ve slot sarmalayıcılarını hizalayın.
  • Ana içeriğin uygun yerlerde wb-content-shell ile render edilebilmesini sağlayın.
  • Kabuk ve slot sınıfı çıktısı için testler ekleyin.

Faz 3

  • card-grid, button-group ve gelecekteki bağımsız stats veya testimonial desenlerini, yalnızca takma ad olmaktan çıkıp gerçekten ürünün sahiplendiği sözleşmeler hâline geldiklerinde birinci sınıf yapın.
  • Gerektiğinde yönetim formları ve çeviri kaydı (registry) desteği ekleyin.

Faz 3 tamamlandı: çekirdek public bloklar artık WebBlocks UI primitifleriyle hizalı.

Faz 4

  • Mevcut seed/demo dokümantasyon içeriğini birinci sınıf bloklara taşıyın.
  • Yapılandırılmış bir blok mevcut olduğunda ham HTML veya settings.items bağımlılığını kaldırın.