Tasarım dili, açıp okuyabileceğiniz dosyalar hâlinde. Glifi indirin, sitenin derlendiği token dosyasını ve Zero Door tokenlarının anlık görüntüsünü okuyun, dili denetleyen testleri ve kapıları görün, neyin ne zaman değiştiğini ve bir değişikliğin yayına nasıl ulaştığını izleyin.
Glif iki SVG dosyası, tokenlar iki metin dosyası olarak sunulur. Her biri bu sayfanın okuduğu kaynakla aynıdır; indirdiğiniz, bu sayfaların gösterdiğinin ta kendisidir.
İki dosya, tek glif.
İki glif dosyası da sitenin kodda çizdiği tek yolu çizer; indirdiğiniz işaret, bu sayfada gördüğünüz işaretin ta kendisidir.
Mürekkep glif
Açık zeminler için. Glif mürekkep rengiyle ve kendi zemini olmadan çizilir; altındaki yüzey görünür kalır.
/favicon.svg ayrı bir dosyadır: bu kare ve renkleri, glif sekme boyunda okunsun diye kenarın üçte ikisine büyütülmüş.
Logoyu dosyalarının çizdiği gibi kullanın. Yeniden renklendirmeyin, döndürmeyin, efekt eklemeyin.
NedenTasarımcı logoya iki renk kullanımı verdi: açık zeminde mürekkep, mürekkep zeminde kâğıt. Bunlara bağlı kalmak onu her yerde tanınır kılar. Kural basın kitinde yazılıdır.
İncelemeBir testle değil, incelemeyle korunur.
İndirilen dosyalar glifi koddan çizer, yeniden çizilmiş bir kopyadan değil.
NedenKoddaki glif yolu değişirse dosyalar da onunla birlikte değişmek zorundadır; yoksa test kırılır.
TestHer değişiklikte bir testle korunur.
İndirilen dosyalardaki her dolgu bir token rengidir.
NedenSiteden çıkan bir dosya da paleti taşır: mürekkep ve kâğıt, token dosyasının tanımladığı hâliyle.
Neden16 px'te tasarımcının karesi glifi sekmede okunamayacak kadar küçük bırakır; bu yüzden simge ayrı bir dosyadır. Bir test onu ölçer; büyük glif kutunun karesinden ayrışamaz.
TestHer değişiklikte bir testle korunur.
Dosya olarak tokenlar
Sitenin derlendiği token dosyası ve Zero Door tokenlarının anlık görüntüsü; sonraki iki bölümün gösterdiği iki dosya.
Sitenin token dosyası
Sitenin derlendiği dosya, olduğu gibi. Düz bir stil dosyası değil, bir Tailwind 4 @theme bloğudur.
Ürünün token dosyasındaki iki renk teması, aralık, yarıçap, gölge, eğriler ve süreler; ürün kodundan okunan, yazı tipi ve simge boyutları gibi değerler ve aşağıda anlık görüntüyle birlikte gösterilen iki tarih. Commit kimliği taşımaz.
Bu sayfaların okuduğu anlık görüntü, source.repo alanındaki iç depo adı çıkarılmış hâliyle
Tür
application/json
Henüz tanımlı olmayanlar
Raster bir sürüm yok. Koruma alanı, en küçük boyutlar ve kâğıt ile vurgunun baskı değerleri Zerone'un eklediği kurallardır; logo sayfası bunları yöntemleriyle birlikte yazar ve logo sisteminin tamamını gösterir. Basın kiti altı dosyasını sunar: mürekkep ve kâğıt renginde iki dizilim ve buradaki iki glif dosyası. Yazı tipi dosyaları bu site için sunulur, burada indirilmeye açılmaz.
Sitenin adlı renkleri, yazı tipi yığınları, eğrisi, köşe yarıçapları ve gölgesi tek bir dosyada tanımlanır. Aşağıdaki blok o dosyanın kendisidir; site derlenirken okunur, bu yüzden yayındaki hâlinden farklı olamaz. Kullanımda bileşenler bazı yarıçapları ve renk karışımlarını bir tokenı anmak yerine yerinde de yazar.
Yayın adresi
/design/tokens.css
Satır
35
Adlı token
19
Son değişiklik
tokens.cssDerleme anında okunur, olduğu gibi basılır
/* Zerone tasarim tokenlari: renk, yazi tipi yigini, egri, yaricap ve golge
degerleri. Bilesenler renkleri token adiyla kullanir (var(--color-*)).
CSS disindaki kopyalar (theme-color, SVG, OG gorseli, e-posta)
tasarim kaynaklari betiginde, RAW_HEX_COPIES
listesinde tutulur. */
@theme {
--color-*: initial;
--color-transparent: transparent;
--color-current: currentColor;
--color-paper: #fdfaf6;
--color-paper-2: #f6f3ee;
--color-hair: #e2dfdb;
--color-hair-2: #cdcac6;
--color-ink: #0f1c26;
--color-ink-muted: #5c5753;
--color-ink-subtle: #736d69;
--color-accent: #00847e;
--color-accent-deep: #006560;
--color-accent-tint: #d9f5f3;
/* Ham, dogrulanmamis degisim. Kanit sahnesinde inen egri ve isaretleri bu
renktedir: accent "dogrulanmis tek sinyal" demek oldugu icin gurultunun
de kendi rengi olmali, yoksa ikisi de koyu kaliyor ve sahne tek renkli
bir grafige donuyor. Alarm kirmizisi DEGIL, kirilmis bir tugla tonu:
kagit uzerinde 5,7:1, uzerindeki beyaz tik 5,9:1. */
--color-raw: #a9432c;
--font-sans: var(--font-newblack), system-ui, sans-serif;
--font-mono: var(--font-geistmono), ui-monospace, SFMono-Regular, monospace;
--ease-out-quart: cubic-bezier(0.23, 1, 0.32, 1);
--radius-sm: 6px;
--radius-md: 8px;
--shadow-float: 0 12px 30px -18px rgb(15 28 38 / 0.45);
}
Sayfa dosyayı olduğu gibi basar; derleme kapısı da yüzde işaretinin yanındaki 99,5 dışındaki her sayıyı reddeder. Bu yüzden bir birim testi dosyaya yüzde işareti girmesini engeller ve kırıldığında nedenini söyler.
Dosya nasıl çalışır.
Dosya bir Tailwind 4 @theme bloğudur. İlk bildirimi olan --color-*: initial, Tailwind'in varsayılan paletini kaldırır; bg-red-500 gibi palet adıyla yazılan bir renk sınıfı ancak o ad burada tanımlıysa vardır. Geri eklenen iki anahtar sözcük vardır: transparent ve currentColor. --color-raw tokenının üstündeki yorum da dosyanın parçasıdır, çünkü o rengin neden var olduğunu kayda geçirir.
Hangi tokenı hangi test denetliyor.
Bu tablo site derlenirken testlerden okunur. Değer, token testinin tam değeri denetlediği; varlık, yalnızca tokenın tanımlı olduğunu denetlediği anlamına gelir. Son sütun tokenı okuyan diğer testleri sayar. İki sütunda da karşılığı olmayan bir tokenı yalnızca inceleme korur.
Token dosyasındaki her adlı token ve onu okuyan testler
Token dosyasındaki her adlı token ve onu okuyan testler
Token
Token testinde
Ayrıca okuyan
--color-transparent
Token testindeDenetlenmiyor
Ayrıca okuyanYok
--color-current
Token testindeDenetlenmiyor
Ayrıca okuyanYok
--color-paper
Token testindeDeğer
Ayrıca okuyan1 başka test
--color-paper-2
Token testindeDeğer
Ayrıca okuyan1 başka test
--color-hair
Token testindeDeğer
Ayrıca okuyan1 başka test
--color-hair-2
Token testindeDeğer
Ayrıca okuyan1 başka test
--color-ink
Token testindeDeğer
Ayrıca okuyan1 başka test
--color-ink-muted
Token testindeDeğer
Ayrıca okuyan1 başka test
--color-ink-subtle
Token testindeDeğer
Ayrıca okuyan1 başka test
--color-accent
Token testindeDeğer
Ayrıca okuyan1 başka test
--color-accent-deep
Token testindeDeğer
Ayrıca okuyan1 başka test
--color-accent-tint
Token testindeDeğer
Ayrıca okuyan1 başka test
--color-raw
Token testindeDeğer
Ayrıca okuyan1 başka test
--font-sans
Token testindeVarlık
Ayrıca okuyan1 başka test
--font-mono
Token testindeVarlık
Ayrıca okuyan1 başka test
--ease-out-quart
Token testindeVarlık
Ayrıca okuyan1 başka test
--radius-sm
Token testindeVarlık
Ayrıca okuyan1 başka test
--radius-md
Token testindeVarlık
Ayrıca okuyan1 başka test
--shadow-float
Token testindeDenetlenmiyor
Ayrıca okuyan1 başka test
Paletin her rengi, 11 hex renk, kendisine verilen değeri aynen korur.
NedenHer sayfadaki kontrast bu değerlerden hesaplanır; kayan bir renk bütün oranları birden kaydırır.
TestHer değişiklikte bir testle korunur.
Token dosyasında saf siyah da saf beyaz da yoktur.
NedenPaletin en koyu rengi mürekkep, en açık rengi kâğıttır.
TestHer değişiklikte bir testle korunur.
Tailwind'in varsayılan paleti kapalı kalır.
Neden--color-*: initial olmasa bg-red-500 gibi varsayılan bir renk sınıfı yine çalışır ve paletin dışına fark edilmeden çıkılırdı.
Zero Door arayüzünün kendi token dosyası vardır. Onu elle yeniden yazmıyoruz: bir betik ürünün dosyalarını değiştirmeden okur ve değerleri bu depodaki tek bir JSON dosyasına yazar.
Betik, token dosyasının yanında yazı tipi, varsayılan tema ve simge boyutları gibi, ürünün kendi kodunda belirlediği değerleri de okur. İki tarih kaydeder: token dosyasının son değiştiği gün ve değer okuduğu dosyalardan herhangi birinin son değiştiği gün. Aşağıdaki tarihler, hangi sürümün anlatıldığını böyle söyler.
Yayın adresi
/design/product-tokens.json
Okunduğu yer
Zero Door token dosyası ve 13 kaynak dosyası daha
Token dosyasının son değişikliği
Kaynak dosyaların son değişikliği
İki tema
Açık
Metin
İkincil metin
Silik metin
Başarılı
Uyarı
Tehlike
Bilgi
MarkaOdak
Koyu
Metin
İkincil metin
Silik metin
Başarılı
Uyarı
Tehlike
Bilgi
MarkaOdak
Anlık görüntüdeki değerlerle boyanmış iki tema: üç yüzey, üç metin düzeyi, dört sinyal rengi, marka ve odak halkası. Bu sitenin yazı tipiyle dizildi; ürünün kendisi Inter kullanır.
Renk tokenları
Açık temanın 6 rengi, sRGB'ye çevrildiğinde bir site rengiyle birebir aynı değeri verir; örnekleri o site rengini adıyla anar.
Açık tema
--surfaceoklch(0.985 0.006 75) · #fdfaf6paper ile aynı
--surface-subtleoklch(0.965 0.007 75) · #f6f3eepaper-2 ile aynı
--surface-raisedoklch(1 0 0) · #ffffff
--fgoklch(0.235 0.010 60) · #221d19
--fg-mutedoklch(0.460 0.010 60) · #5c5753ink-muted ile aynı
--fg-subtleoklch(0.540 0.010 60) · #736d69ink-subtle ile aynı
--zd-borderoklch(0.905 0.006 75) · #e2dfdbhair ile aynı
--zd-border-strongoklch(0.840 0.006 75) · #cdcac6hair-2 ile aynı
Her hex değeri, oklch değerinden bu sayfalarda kontrastı hesaplayan aynı kodla hesaplanır; sRGB aralığı dışına taşan bir renk kanalı kırpılır.
Aralık, yarıçap, gölge ve hareket
Aralık ölçeği, her çubuk kendi değeri uzunluğunda
--space-12px
--space-24px
--space-36px
--space-48px
--space-512px
--space-616px
--space-720px
--space-824px
--space-932px
--space-1040px
--space-1148px
--space-1264px
Yarıçap, eğriler ve süreler
Yarıçap, eğriler ve süreler
Token
Değer
--radius-sm
Değer4px
--radius-md
Değer8px
--radius-lg
Değer12px
--ease-out
Değercubic-bezier(0.23, 1, 0.32, 1)
--ease-in-out
Değercubic-bezier(0.77, 0, 0.175, 1)
--ease-drawer
Değercubic-bezier(0.32, 0.72, 0, 1)
--duration-feedback
Değer130ms
--duration-fast
Değer160ms
--duration-default
Değer200ms
--duration-slow
Değer300ms
--duration-drawer
Değer400ms
Gölgeler, açık ve koyu
Gölgeler, açık ve koyu
Token
Açık
Koyu
--shadow-flat
Açık0 1px 2px rgb(0 0 0 / 0.04)
Koyu0 1px 2px rgb(0 0 0 / 0.20)
--shadow-raised
Açık0 8px 24px rgb(0 0 0 / 0.08)
Koyu0 8px 24px rgb(0 0 0 / 0.40)
Ürün değerleri elle yazılmaz, bir betikle kopyalanır.
NedenElle yazılmış bir kopya ürün değiştiği gün eskir. Anlık görüntü, ürünün token dosyasının son değiştiği günü ve okuduğu dosyalardan herhangi birinin son değiştiği günü kaydeder; eskimiş bir kopya böylece göze çarpar.
İncelemeBir testle değil, incelemeyle korunur.
Ürünün her metin tokenı, iki temada da üç yüzeyin hepsinde 4,5:1 ya da daha yüksek kontrast verir.
NedenArayüz yoğundur; metin hangi yüzeye düşerse düşsün okunur kalmalıdır.
TestHer değişiklikte bir testle korunur.
Ürünün --zd-border kenar tokenı için 3:1 iddia edilmez.
NedenBölgeleri ayırır ve iki temada da yüzeye karşı 3:1'in altında kalır. Test bunu sabitler; hiçbir sayfa daha fazlasını iddia edemez.
Bu sayfalardaki her kural, onu neyin denetlediğini söyler. Dili sitenin tamamında denetleyen testler ve kapılar bunlardır; onları çalıştıran hat aşamasına göre gruplanmış, her birinin denetlediği şeyle birlikte. Yalnızca tek bir sayfanın kuralını denetleyen bir test, o kuralın kartında işaretlenir.
Derlemeden önce: birim testleri
Token değerleri
Token dosyasındaki paletin her renginin, 11 hex rengin, tam değerini sabitler. Yazı tipi yığınlarının, eğrinin ve yarıçapların tanımlı olduğunu denetler; dosyada hiçbir hex yazımıyla saf siyah ve beyaz bulunmamasını ve Tailwind'in varsayılan paletinin kapalı kalmasını sağlar.
Yazı tipi dosyaları
Sitenin kendisinin sunduğu 6 yazı tipi dosyasının her birinin gerçek bir WOFF2 dosyası olduğunu ve boyutunun makul kaldığını denetler: 8.000 bayttan büyük, 120.000 bayttan küçük. Denetlenen ağırlıklar: New Black 400, 500, 600, 700; Geist Mono 400, 500.
İki dil
Bu tasarım sayfaları dahil her sayfa sözlüğünü okur; Türkçe ve İngilizce sürümlerin yapısı farklıysa ya da herhangi bir dizede uzun tire, ürün adının tek kelimelik yazımı, başka bir yasaklı dize veya 99,5 dışında bir yüzde varsa kırılır.
Renk hesabı
Bu sayfaların kullandığı renk hesabını bilinen değerlere karşı doğrular; gösterilen bir oranın aşağı yuvarlandığını, yani eşiği geçmeyen bir oranın geçmiş gibi görünmediğini denetler; token dosyasındaki bütün renkleri sırasıyla okur; token dosyasının ve birincil düğme stilinin yorumlarında belirtilen oranları doğrular ve ink, ink-muted, ink-subtle ve accent-deep renklerinin paper ve paper-2 üzerinde en az 4,5:1 olduğunu denetler.
Tasarım sayfaları
Her tasarım sayfasının sözlüğü, bileşeni, rota kaydı ve gezinme etiketi olduğunu; önceki/sonraki zincirinin her sayfayı bir kez gezdiğini; site tokenlarının beklenen değerlerle okunduğunu ve Zero Door anlık görüntüsünün iki temada da kontrast iddialarını koruduğunu denetler.
Bu sayfanın iddiaları
Bu sayfanın dosyalar hakkındaki iddialarını denetler: indirilen dosyalar glif yolunu koddan çizer ve yalnızca token renkleri kullanır, tarayıcı simgesi mürekkep kutunun karesini korur ve glifi kenarın üçte ikisidir, token dosyasında yüzde işareti yoktur, bu sayfada bir testle korunduğunu söyleyen her kural kartı var olan bir teste bağlıdır ve token renklerini tekrarlayan dosyaların listesi eksiksiz kalır.
Ortak hareket ayarı
Bütün sitenin paylaştığı tek hareket ayarını denetler: ayar oynar durumda başlar, bir duraklatma ya da sürdürme her dinleyiciye bir kez ulaşır ve tercih sabit bir anahtarla saklanır.
Çerçeve listesi
Sitenin uyumluluk çerçevesi listesini, ürün kataloğundan kopyalanmış 13 kimliğe sabit bir sırayla bağlar; ürün tarafındaki bir değişikliği bu test değil, inceleme yakalar. Ayrıca listedeki hiçbir adın boş olmadığını ve ürünün getirmediği çerçevelerin sabit listesinden bir ad içermediğini denetler.
Derlemeden sonra: derlenmiş sitede kapılar
Derlenmiş site
Derlenmiş her sayfa ve stil dosyası üzerinde çalışır. Uzun tire, tek kelimelik ürün adı ve geniş ekranda dört sütunlu ızgara sınıfı yok; 99,5 dışında yüzde yok; her sayfada güvenlik politikası, 404 sayfası dışındaki her sayfada kanonik bağlantı ve dil bağlantıları var; Google Fonts yok, iletişim sayfasındaki adı belli tek istisna dışında dış betik yok; yayına çıkan CSS'te, adı belli tek bir Tailwind varsayılanı dışında, hiçbir yazımla (hex, anahtar sözcük ya da renk fonksiyonu; satır içi SVG görselleri dahil) saf siyah ya da beyaz yok, bir anahtar karede ya da onu adıyla anan bir geçişte opacity yok; main içinde başlık düzeyi atlanmıyor; araştırma ve yasal sayfalar dışındaki sayfaların ana içeriğinde, sitenin desteklenmeyen uyumluluk çerçeveleri listesinden hiçbir ad geçmiyor.
Bağlantılar ve çapalar
Derlenmiş her sayfadaki her iç bağlantıyı ve her #çapayı izler; hedef dosya ya da id yoksa kırılır.
Tarayıcıda
Tarayıcıda erişilebilirlik
404 sayfası dahil her derlenmiş sayfayı aşağıdaki WCAG etiketleriyle axe'den geçirir ve sıfır ihlal bekler; mobil çalıştırma yasal belgeleri ve araştırma yazılarını dışarıda bırakır, iki dizin sayfasını bırakmaz. Ortak belirme hareketiyle başlayan bir döngü kendini işaretler; ana sayfadaki gürültü alanı gibi kendi betiğiyle çalışan birkaç döngü de öyle. Test, işaretli bir döngünün görünür bir duraklatma düğmesi olmadan çalıştığı sayfayı kırar. Ayrıca 320 CSS px genişlikte hiçbir sayfanın yana kaymadığını, aşağıdaki boşluklarda adı geçen sayfalarda klavye odağının sabit üst menünün altında kalmadığını (bir masaüstü penceresinde ve bir de 390 CSS px genişlikte) ve bir duraklatma kararının sayfadan sayfaya taşındığını denetler.
WCAG etiketleri
wcag2a
wcag2aa
wcag21a
wcag21aa
wcag22aa
Masaüstünde Lighthouse
Sabit bir sayfa listesinde Lighthouse. Eşiğin altında kalan bir puan hattı durdurur, çünkü siteyi yayımlayan işler bu işi bekler.
Eşikler
Ön ayar
desktop
Sayfa
21
Sayfa başına çalıştırma
2
Performans
100 üzerinden en az 95 (en iyi çalıştırma)
Erişilebilirlik
100 üzerinden 100 (en kötü çalıştırma)
En iyi uygulamalar
100 üzerinden 100 (en iyi çalıştırma)
SEO
100 üzerinden 100 (en iyi çalıştırma)
Yasal belgeler SEO puanını atlar ama diğer tek tek SEO denetimlerini korur; is-crawlable kapalıdır.
Mobilde Lighthouse
tavsiye niteliğinde
Mobil öykünmeyle, daha kısa bir sayfa listesinde Lighthouse. İş tavsiye niteliğindedir: CI başarısız olmasına izin verir, hat durmaz.
Eşikler
Ön ayar
mobil öykünme
Sayfa
11
Sayfa başına çalıştırma
3
Performans
100 üzerinden en az 90 (ortanca)
Erişilebilirlik
100 üzerinden 100 (en kötü çalıştırma)
En büyük içerikli boyama
en çok 2.800 ms (ortanca, yalnızca uyarı)
Yayından önce
Yayın kapısı
elle başlatılır
Üretim yayını işinde ilk sırada çalışır.
Yayını durduran durumlar
derleme yok ya da eksik
bir yasal sayfada doldurulmamış bir alan kalmış
ana sayfa noindex olarak işaretli
bir sayfa, yayımlanan gizlilik sayfasının adını anmadığı bir kaynaktan betik ya da çerçeve yüklüyor
kendi alt alan adlarımızdan birine verilen bağlantı yanıt vermiyor
Henüz hiçbir testin denetlemediği kurallar.
Token dosyası dışındaki ham hex. Token dosyasının başlığı, bileşenlerin renkleri token adıyla kullandığını söyler ve CSS dışında tutulan kopyalar için bir listeyi gösterir. Bir palet değeri sitede, ortak pakette ya da form servisinde başka bir yerde geçerse bir birim testi kırılır; paletin dışındaki bir hex değeri ise yalnızca saf siyah ya da beyazsa yakalanır. Kopyalar, her biri ne için tutulduğuyla:
Tarayıcı tema rengi
Paylaşım kartı çizicisi
Logo SVG dosyaları
Siteden ayrı dağıtılan form servisi
Odağın sabit üst menünün altında kalmadığını denetleyen test her sayfada değil, 3 sayfada çalışır: /, /zero-door ve /tr/contact.
Tasarım dili sürümlerle yayımlanmaz; kaydını git tutar. Bir girdi ana dala ulaştığını söylemedikçe her tarih, değişikliğin commit edildiği gündür; en yenisi en üsttedir.
Maskot sayfasına ve adına kavuştu.
Zero Door sayfasının kunduzu kendi sayfasına, onunla birlikte de adına kavuştu. Sayfa, sahnesinin her parçasının neyi temsil ettiğini anlatır ve her parçayı Zero Door sayfasında yankıladığı metinle eşler; onun gliften nasıl çizildiğini ve nasıl hareket ettiğini de gösterir. Kuralları nerede görünebileceğini söyler. Ad, Zero Door açılışının metin karşılığı dahil, onun anlatıldığı her yerde kullanılır. Maskot sayfası temellerde, logodan sonra durur.
Kapı figürü emekli oldu; baraj bir figür türü oldu.
Kapı figürü tasarım dilinden çıktı; Zero Door sayfasının barajı figür türleri arasında onun yerini aldı. Görselleştirme sayfası artık barajı ölçüleri ve kurallarıyla canlı gösterir. Diyagramlar sayfasındaki temel öğeler barajın kartını, orijinalini, durdurulan kartını ve karar etiketini, barajın geniş bir ekranda Zero Door açılışındaki boyunda çizer.
Betikli hareket için tek bir dil
Betikli hareket adlandırılmış süreler, eğriler ve hareketlerden oluşan tek bir modüle taşındı; bir birim testi de adıyla listelenmiş birkaç istisna dışında kendi eğrisini ya da çıplak bir süre yazan her betiği kırmaya başladı. Önceden her bileşen aynı hareketi kendi sayılarıyla tarif ediyordu. Bu dili hareket sayfası anlatır.
Tasarım dili bölümü
Bu bölüm, her sayfanın paylaştığı parçalarla geldi: gezinme, git'ten okunan son değişiklik tarihi ve her kuralı neyin koruduğunu söyleyen kural kartları. Altında bir ölçüm katmanı vardı: site tokenları derleme anında token dosyasından okunur, kontrast oranları elle yazılmaz, hesaplanır; Zero Door tokenları da üründen bir betikle kopyalanır.
Duraklatma düğmesi için bir bekçi
Ortak belirme hareketiyle başlayan bir döngü kendini işaretlemeye başladı; erişilebilirlik testi de böyle bir döngünün görünür bir duraklatma düğmesi olmadan çalıştığı sayfayı kırmaya başladı. Mimari sayfasındaki akış diyagramı düğmesiz yayına çıkmıştı; aynı gün düğmesine kavuştu.
Erişilebilirlik kapısı ana dala ulaştı.
Bu tarihten itibaren derlenmiş sayfalar axe'den sıfır ihlalle geçmek zorunda kaldı; 320 CSS px genişlikte yana kayan bir sayfa kapıdan geçemedi. Kapı bir gün önce yazıldı, ana dala bu tarihte ulaştı. Neyin sınandığını erişilebilirlik sayfası anlatır.
Tek duraklatma düğmesi; odak menünün altında kalmaz.
Bütün site için tek bir hareket ayarı geldi: bir animasyonu duraklatmak her sayfadaki bütün animasyonları duraklattı ve tarayıcı bu tercihi hatırladı. O günün döngülü görsellerinin yanına küçük, yuvarlak bir duraklatma düğmesi geldi. Odaklanabilen öğeler de klavye odağını sabit üst menünün altından uzak tutan bir kaydırma payı kazandı. Düğmeyi hareket sayfası anlatır.
Ham değişimin rengi
--color-raw, #a9432c, palete katıldı: ham, doğrulanmamış değişim için soluk bir tuğla tonu. Vurgu rengi doğrulanmış tek sinyal demektir; gürültünün de kendi rengi olmalıydı. İlk günden sonra eklenen tek renk budur; token testi değerini aynı gün sabitledi.
Temel
Tek bir commit token dosyasını, sitenin kendisinden sunulan New Black ve Geist Mono yazı tiplerini, glifi, temel stilleri ve ilk token ve yazı tipi testlerini getirdi. Aynı gün birincil düğme, kâğıt rengi metinle 4,5:1'e ulaşmak için accent-deep'e geçti ve belirme hareketi yalnızca transform kullanmaya başladı. Yasaklı dizeler, dış yazı tipleri ve her türlü saf siyah ya da beyaz için derleme kapıları geldi; basın kiti iki glif dosyasını yayımladı.
Dilde bir değişiklik, bir dosyada bir değişikliktir ve siteye ancak her değişikliğin geçtiği hattan geçerek ulaşır. Adımlar, hattın çalıştırdığı sırayla şunlardır.
Denetim
Tür denetimi ve birim testleri
Derleme
Derleme ve kapılar
Test
Tarayıcı testleri
Masaüstünde Lighthouse
Mobilde Lighthousetavsiye niteliğinde
Yayın
Üretim yayınıelle başlatılırbekler: derleme ve kapıları, tarayıcı testleri ve masaüstünde Lighthouse
Site derlenirken hattın yapılandırmasından okunur. Yayın aşaması yalnızca üretim yayınını gösterir.
01
Tokenı ya da bileşeni değiştirin.
Renkler, yazı tipi yığınları, eğri, yarıçaplar ve gölge token dosyasında değişir; yazı tiplerinin kendisi derleme yapılandırmasında tanımlanır. Düğmeler, bağlantılar ve temel yazı sitenin stil dosyasında ya da bileşenin kendisinde değişir. Teamül olarak bir bileşen bir renk tokenının değerini kopyalamaz, tokenı adıyla anar.
02
Birim testleri değerleri sabitler.
İlk aşama tür denetimini ve birim testlerini bütün çalışma alanında çalıştırır. Bir test, testi değişmeden değişen bir palet renginde kırılır; bir başkası token dosyasında ve düğme stilinde belirtilen oranları yeniden denetler; bir üçüncüsü iki dili aynı yapıda tutar.
03
Derlenmiş site kapılardan geçer.
Derleme aşaması her sayfayı iki dilde derler, ardından kapıları sonuç üzerinde çalıştırır: yasaklı dizeler, yayına çıkan CSS'te saf siyah ve beyaz ile canlandırılan opacity, başlık sırası ve her iç bağlantı ve çapa.
04
Bir tarayıcı, okurun karşılaştığını denetler.
Tarayıcı testleri derlenmiş siteyi bir masaüstü ve bir mobil tarayıcıda açar: her sayfanın kendi testleri, derlenmiş sayfalarda axe, 320 CSS px genişlikte yeniden akış ve işaretli bir döngü çalıştıran her sayfada görünür bir duraklatma düğmesi.
05
Lighthouse sonucu puanlar.
Lighthouse sabit bir sayfa listesini masaüstünde puanlar ve eşiklerin altında yayını durdurur; mobil çalıştırma raporlar ama hiçbir şeyi durdurmaz.
06
Yayından önce bir kapı daha çalışır.
Siteyi yayımlayan işler şunları bekler: derleme ve kapıları, tarayıcı testleri ve masaüstünde Lighthouse. Üretim yayını elle başlatılır ve ilk adım olarak yayın kapısını çalıştırır.
.note {
color: var(--color-ink-muted);
}
YapınTokenı adıyla anın. Tokendaki bir değişiklik böylece her kullanıma birden ulaşır.
.note {
color: #5c5753;
}
YapmayınBir tokenın değerini bileşene kopyalamayın. Token değiştiğinde kopya geride kalır; kopyalar testi, kopya kaldırılana ya da listeye eklenene kadar kırılır.
Bileşen bir renk tokenını adıyla anar, hex değer yazmaz.
NedenToken dosyasının başlığı bunu söyler. Paletin dışındaki bir hex değeri yalnızca saf siyah ya da beyazsa yakalanır; kuralı inceleme korur.
İncelemeBir testle değil, incelemeyle korunur.
Token dosyası dışında yazılan bir palet değeri, listelenmiş bir kopyadır.
NedenTest siteyi, ortak paketi ve form servisini paletin her değeri için tarar. Kopyalar listesinin anmadığı bir dosyada da, listede olup artık değer taşımayan bir dosyada da kırılır.
TestHer değişiklikte bir testle korunur.
Sabitlenmiş bir değeri değiştiren commit, testini de değiştirir.
NedenToken testi paletin her renginin, 11 hex rengin, tam değerini denetler; testi değişmeyen bir renk değişikliği hattın ilk aşamasında kırılır.