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-shellwb-content-headerwb-content-bodywb-content-footerwb-promowb-calloutwb-link-listwb-statwb-gallerywb-alertwb-rich-textwb-rich-text-readablewb-rich-text-compactwb-rich-text-loosewb-btnwb-gridwb-grid-2wb-grid-3wb-grid-4wb-stackwb-gap-1wb-gap-2wb-gap-3wb-gap-4wb-gap-6wb-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:
stackvarsayı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-shellevrensel 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_shellolarak 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-defaultveyalayout-docsgibi 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-bodyvewb-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-rootiçine taşımalıdır. - CMS,
#wb-overlay-rootaltında ortak bir diyalog katmanını önceden işlediğinde, WebBlocks UIv2.7.12sü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ü olarakarticle.wb-cardöğesinin sahibidir.card_header,data-wb-public-block-type="card-header"ilediv.wb-card-headeröğesinin sahibidir.card_body,data-wb-public-block-type="card-body"ilediv.wb-card-bodyöğesinin sahibidir.card_footer,data-wb-public-block-type="card-footer"ilediv.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ıradanasideiç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 Slotssayfa 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-navbarkö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,sidebarvefooterslotlarını semantik sarmalayıcılara eşler ve bilinmeyen slotlar içindivöğesine geri döner.docs;headerslotunu docs navbar sarmalayıcısına,sidebarslotunu docs kenar çubuğu sarmalayıcısına vemainslotunu docs ana sarmalayıcısına eşlerkenwb-dashboard-shellsayfaya ait kalır.- Yerleşik
defaultvedocsyerleş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-navbarsı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_slotkullandığı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_shelltüketen sayfanın yerleşim tanıtıcısıyla birebir eşleşmelidir ve isteğe bağlıslot_nametü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-blocksarmalayıcısı almak yerinedata-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-sectionvewb-containerüzerine kuruluheaderbö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-stackveyawb-gridkullanın. - Birincil veya yasal gezinme
navigation-autoya damenuü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, mevcutwb-sectionvewb-containerkabuğ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-bodyvewb-content-footerbölümleriylewb-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-gridvewb-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-shellher sayfaya zorlanmak yerine ayrılmış kalsın diye açık yerleşim modları ekler.
Sidebar slotu
- Amaçlanan eşleme:
wb-gridveya ürünle gelen başka bir yerleşim temel öğesi aracılığıyla ana içeriğe bitişikaside. - Varsayılan içerik, destekleyici bloklardan oluşan bir
wb-stackolmalı ve blok içeriğine uyuyorsa isteğe bağlı olarak birwb-cardveyawb-calloutiçinde gruplanmalıdır. wb-sidebaryalnı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-sidebarkabuğu kullanmaktadır. Faz 2A, iç blokların kart mı yoksa callout olarak mı işleneceklerini kendilerinin denetlemesi için zorunlu dışwb-cardsarmalayıcısını kaldırır.
Footer slotu
- Amaçlanan eşleme:
wb-section,wb-containervewb-gridveyawb-stacküzerine kurulufooterbölgesi. - Gezinme listeleri basit nav/liste temel öğelerini veya ürünle gelen UI deseni uygunsa
wb-link-listkullanmalı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:
titlemetni - Ortak alanlar:
variant/seviye, hizalama ayarı, çapa (anchor) - Amaçlanan WebBlocks UI çıktısı:
leveldeğ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ı
headerblokları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
Headertarafı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-stackritmini 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_textyalnı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-readableiç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,live gerektiğindebretiketleridir. 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
contenteditableyü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
textyerinerich-textolmalı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-textpublic 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-rootiç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-sectionkullanır; açıkpromovaryantları, ürünle gelen desen uyduğundawb-promoile eşlenebilir; CTA eylemleri ham HTML'den değil, çocuk bloklardan gelmelidir. - Mevcut uygulama: kabul edilebilir
- Sarmalayıcı kuralı:
Sectionbloğu gerçek<section class="wb-section ...">kökünün sahibidir ve bu öğe üzerindedata-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
buttonbloklarıwb-promo-actionsiç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,cardvecontent_headerkö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,GridveCluster, 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 BodyveCard 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 olaraktitle, destekleyici metin olarakcontent - Ortak alanlar:
variant, çocuk blok yapısı - Amaçlanan WebBlocks UI çıktısı: isteğe bağlı
wb-eyebrow,wb-promo-title,wb-promo-textvewb-promo-actionsilewb-promo > .wb-promo-copy - Mevcut uygulama: kabul edilebilir
- Sonraki renderer/yönetim iyileştirmeleri için notlar: hero CTA eylemleri çocuk
buttonblokları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
buttonbloklarıwb-promo-actionsiçinde işlenir; düğme olmayan çocuklar CTA satırında yok sayılır. - Sarmalayıcı kuralı:
heroartık kendi renderer kökünün sahibidir vedata-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, yinelenebilircolumn_items - Çevrilebilir alanlar:
title,subtitle,content, çocukcolumn_itemmetni - 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-4veya sayı dinamik olduğunda genel birwb-gridkullanan, yinelenebilir çocuklar için yerleşim kapsayıcısı. - Mevcut uygulama: kabul edilebilir
- Varyant eşlemesi:
cards-> her çocuğuwb-card > .wb-card-bodyolarak işlenen grid kapsayıcısıplain-> çerçevesiz yığılmış çocuk içeriğe sahip grid kapsayıcısıstats-> çocuk öğeleriwb-statolarak işlenen grid kapsayıcısılinks-> çocuk öğeleri bağlantı listesi satırları olarak işlenenwb-link-list- Sonraki renderer/yönetim iyileştirmeleri için notlar: mevcut
column_itemiç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-itemveya ü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_itembasit bir içerik birimi olmaya devam eder ve artık public sunumu üstcolumnsbloğuna bırakır. Henüz özel bir sayısal değer alanı olmadığı için mevcutstatseş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 olaraktitle, destekleyici metin olarakcontent, ayrıca altbuttonetiketleri - Paylaşılan alanlar:
variant, alt CTA URL'leri, alt öğe sıralaması - Hedeflenen WebBlocks UI çıktısı:
wb-promo-copyvewb-promo-actionsiçeren promosyon tarzıwb-card wb-promobö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ı:
ctaartık kendi renderer kök öğesine sahiptir vedata-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, tekrarlanabilirfeature_items - Çevrilebilir alanlar:
title,subtitle,content, altfeature-itemmetni - Paylaşılan alanlar: alt öğe sıralaması, alt bağlantılar, yapı
- Hedeflenen WebBlocks UI çıktısı:
columns.variant = cardstarafı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_itemtarafı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 varsawb-calloutile 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-cardvewb-stackkabuğ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
titlevecontentalanları 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
titlevecontentalanları olmayan bloklar boş sarmalayıcılar olarak render edilmek yerine atlanır.
`faq-list`
- CMS blok slug'ı:
faq-list - Yönetim alanları:
accordionile 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ı:
accordionile 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ı
accordionbloğ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,ghostvedangeriçin açıkwb-btnvaryant eşlemesi; bilinmeyen değerlerwb-btn wb-btn-primarydeğerine geri dönmelidir. - Mevcut uygulama: kabul edilebilir
- Varyant eşlemesi:
primary->wb-btn wb-btn-primarysecondary->wb-btn wb-btn-secondaryoutline->wb-btn wb-btn-outlineghost->wb-btn wb-btn-ghostdanger->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
buttonbloklarıyla modellemelidir. - Promosyon CTA satırları
wb-promo-actionsiçinde render edilir. - Promosyon bağlamlarının dışında, sıradan eylem satırları
wb-cluster wb-cluster-2gibi hazır küme yardımcı sınıflarını kullanabilir. - Birinci sınıf bir
button-groupbloğ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 olaraksubtitle - Paylaşılan alanlar:
media_id,url - Hedeflenen WebBlocks UI çıktısı: semantik
figure,imgve 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 Itemsliste satırları, paylaşılan Galeri sunum ayarları ve öğe başına metaveri pencereleri - Çevrilebilir alanlar:
block_gallery_item_translationsüzerinden galeri öğesi başınaalt_text,caption,overlay_titleveoverlay_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-rootaltı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 Headerile birliktePlain TextveyaRich Textkullanı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 metinleriblock_gallery_item_translationsüzerinden çözümler, daha eski kayıtlı içerik için eski tip geri dönüş öğelerini korur vedata-wb-gallery-targetözniteliğini#wb-overlay-rootaltı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-btnolarak dosya CTA'sı veya varyant daha fazla bağlam gerektirdiğinde kompakt birwb-cardartı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ı, zorunluname,emailvemessagedoğrulaması, isteğe bağlısubjectve 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_emaildeğeri, ardındanCONTACT_RECIPIENT_EMAIL, son olarak da açık bir iletişim alıcısı yapılandırılmadığında güvenli yerel geri dönüş olarakMAIL_FROM_ADDRESSkullanı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 birwb-cardkabuğ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-cardkabuğ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-secondaryindirme/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 mapbutonuna 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
galleryveya 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çalarrich-textdeğilcodeolmalı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
headerbloklarından oluşturulanwb-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
Headerblokları 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-listkullanan 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-autoile 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-autotercih edin.
Eski / Geçiş Dönemi Faz 3 Notu
tabs,slider,menuvefaq-list, CMS kataloğunda hâlâ yayınlanmış çekirdek sözleşmeler değil, taslak döneminden kalma eski slug'lardır.showcase-listvecontact-infohâ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-btnkullanır; geçici başarı geri bildirimi, paylaşılan public#wb-overlay-rootaltında bir kez WebBlocks UI toast olarak render edilir; doğrulama hataları ve kullanıcının düzeltebileceği hatalar isewb-alertile 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/jsiçinde yer alır. - Kaplama, diyalog ve modal içeriği
#wb-overlay-rootkullanmalı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.mdgü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-shellile 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.itemsbağımlılığını kaldırın.