<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Yazılar | Defter</title>
<link>https://notebook.themes.kilim.dev/tr/posts/</link>
<description>Essays and short notes about the web, type and making things slowly.</description>
<atom:link href="https://notebook.themes.kilim.dev/tr/posts/feed.xml" rel="self" type="application/rss+xml"/>
<lastBuildDate>Wed, 21 Oct 2026 00:00:00 GMT</lastBuildDate>
<item>
<title>Sıfır JavaScript&#39;in savunusu</title>
<link>https://notebook.themes.kilim.dev/tr/2026/zero-javascript/</link>
<guid isPermaLink="true">https://notebook.themes.kilim.dev/tr/2026/zero-javascript/</guid>
<pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate>
<description>Sayfaların çoğu belgedir. Onları script&#39;siz yayınlamak bir kısıt değil, bir özelliktir.</description>
<content:encoded><![CDATA[<p>Web'in çoğu hâlâ belgelerden oluşuyor: bir yazı, bir menü, bir fiyat listesi, bir doküman sayfası. Yine de hepsi bir framework yüklüyor ve bedelini tek çizgi çeken bir trende okuyucu ödüyor.</p>
<h2 id="neyden-vazgeciyorsunuz">Neyden vazgeçiyorsunuz</h2>
<p>Sandığınızdan azından. Bir details öğesi açılıp kapanır, bir form gönderilir, bir link Speculation Rules ile sonraki sayfayı önceden yükler. Tarayıcı, son baktığımızdan beri çok şey öğrendi.</p>
<ul>
<li>Menüler ve akordeonlar: <code>&#x3C;details></code> ve <code>&#x3C;summary></code></li>
<li>Koyu tema: <code>prefers-color-scheme</code></li>
<li>Anında geçiş: üzerine gelince önceden yükleme</li>
</ul>
<h2 id="ne-kazaniyorsunuz">Ne kazanıyorsunuz</h2>
<p>İlk istekte çizilen, ekran okuyucunun anladığı ve on yıl sonra da çalışan sayfalar. Bir sayfanın gerçekten script'e ihtiyacı varsa bunu yüksek sesle söylemeli.</p>
<blockquote>
<p>En hızlı script, hiç göndermediğiniz script'tir.</p>
</blockquote>
<p>Sıfırdan başlayın ve sayfanın istediğini ekleyin. Her şeyle başlayıp eksiltmeye çalışmaktan daha iyi bir varsayılan.</p>]]></content:encoded>
</item>
<item>
<title>İçeriği şemalarla tiplemek</title>
<link>https://notebook.themes.kilim.dev/tr/2026/typing-content/</link>
<guid isPermaLink="true">https://notebook.themes.kilim.dev/tr/2026/typing-content/</guid>
<pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
<description>Bir tarihteki yazım hatası, okuyucuya ulaşmadan önce dosya ve satırıyla build&#39;i durdurmalı.</description>
<content:encoded><![CDATA[<p>Frontmatter, kimsenin doğrulamadığı küçük bir veritabanıdır. Eksik bir başlık, <code>10/08</code> diye yazılmış bir tarih, metne dönüşmüş bir etiket listesi: her biri sessizce yayına çıkar.</p>
<h2 id="her-collection-a-bir-sema">Her collection'a bir şema</h2>
<p>Alanları bir kez, collection'ın yanında tanımlayın ve build her dosyayı bu şemadan geçirsin.</p>
<pre class="shiki shiki-themes github-light github-dark" style="background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8" tabindex="0"><code><span class="line"><span style="color:#D73A49;--shiki-dark:#F97583">const</span><span style="color:#005CC5;--shiki-dark:#79B8FF"> posts</span><span style="color:#D73A49;--shiki-dark:#F97583"> =</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> z.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">object</span><span style="color:#24292E;--shiki-dark:#E1E4E8">({</span></span>
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">  title: z.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">string</span><span style="color:#24292E;--shiki-dark:#E1E4E8">(),</span></span>
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">  date: z.coerce.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">date</span><span style="color:#24292E;--shiki-dark:#E1E4E8">(),</span></span>
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">  tags: z.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">array</span><span style="color:#24292E;--shiki-dark:#E1E4E8">(z.</span><span style="color:#6F42C1;--shiki-dark:#B392F0">string</span><span style="color:#24292E;--shiki-dark:#E1E4E8">()).</span><span style="color:#6F42C1;--shiki-dark:#B392F0">default</span><span style="color:#24292E;--shiki-dark:#E1E4E8">([]),</span></span>
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">});</span></span></code></pre>
<p>Aynı şema editöre formunu, layout'lara tiplerini verir. Olmayan bir alan sayfada boşluk değil, şablonda tip hatası olur.</p>
<h2 id="bir-yeri-gosteren-hatalar">Bir yeri gösteren hatalar</h2>
<p>Hata mesajı da bir arayüzdür. "Geçersiz girdi" kimseye yardım etmez; <code>content/posts/hello.md:3: date: Invalid date</code> sizi doğrudan satıra götürür.</p>]]></content:encoded>
</item>
<item>
<title>Artımlı build, okuma okuma</title>
<link>https://notebook.themes.kilim.dev/tr/2026/incremental-builds/</link>
<guid isPermaLink="true">https://notebook.themes.kilim.dev/tr/2026/incremental-builds/</guid>
<pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate>
<description>Bir yazım hatasını düzelttiğinizde hangi sayfalar değişir? Her sayfanın ne okuduğunu kaydedin, bilirsiniz.</description>
<content:encoded><![CDATA[<p>Küçük bir sitenin tam build'i bir saniye sürer. Bir saatte kırk kez dosya kaydetmek, o saniyeyi bir bekleme alışkanlığına çevirir.</p>
<h2 id="dosyalari-degil-okumalari-izleyin">Dosyaları değil okumaları izleyin</h2>
<p>Her layout bir şey okur: bir başlık, bir tarih, yazıların listesi. Build bu okumaları kaydederse, her kayıttan sonra kesin bir soruyu yanıtlayabilir: değişen şeyi hangi sayfalar okudu?</p>
<ol>
<li>Her sayfayı dokunduğu anahtarları not eden bir proxy ile render edin.</li>
<li>Bu anahtarların arkasındaki değerlerin parmak izini alın.</li>
<li>Sonraki kayıtta parmak izlerini karşılaştırıp yalnız okumaları değişen sayfaları render edin.</li>
</ol>
<h2 id="sikici-kisim">Sıkıcı kısım</h2>
<p>Proxy yirmi satır. Zor olan, artımlı çıktının tam build'le byte byte aynı olduğundan emin olmak; bu yüzden her test ikisini de çalıştırıp karşılaştırır.</p>]]></content:encoded>
</item>
<item>
<title>Düz dosyalar için bir yönetim paneli</title>
<link>https://notebook.themes.kilim.dev/tr/2026/admin-for-files/</link>
<guid isPermaLink="true">https://notebook.themes.kilim.dev/tr/2026/admin-for-files/</guid>
<pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate>
<description>Commit&#39;lediğiniz Markdown&#39;ı yazan ve yalnız dokunduğunuz satırları değiştiren yerel bir editör.</description>
<content:encoded><![CDATA[<p>Git'teki içerik geliştiriciler için bir armağan, diğer herkes için bir duvardır. Genel çözüm bir yönetim panelidir ve genellikle yanında bir veritabanı getirir.</p>
<h2 id="dosyalarin-kendisini-duzenleyin">Dosyaların kendisini düzenleyin</h2>
<p>Panel yalnız sizin makinenizde, dev sunucusunun yanında çalışır. Collection şemalarını okur, her alan için bir form çizer ve aynı Markdown dosyasına kaydeder.</p>
<h2 id="diff-i-kucuk-tutun">Diff'i küçük tutun</h2>
<p>Bir dosya editörünün sınavı geride bıraktığı diff'tir. Bir başlığı değiştirdiğinizde commit tek satır göstermeli; yorumlarınız, tırnaklarınız ve anahtar sıranız olduğu gibi kalmalı.</p>
<ul>
<li>Değişmeyen bloklar byte byte korunur</li>
<li>Yeni anahtarlar şemanın koyduğu yere girer</li>
<li>Bir çakışma, kaybolan iş olarak değil çakışma olarak görünür</li>
</ul>
<p>Panel işini bitirdiğinde ortadan kalkar: yayınlanan siteye ondan hiçbir şey ulaşmaz.</p>]]></content:encoded>
</item>
<item>
<title>Bir kilim ızgara hakkında ne öğretir</title>
<link>https://notebook.themes.kilim.dev/tr/2026/weaving-grids/</link>
<guid isPermaLink="true">https://notebook.themes.kilim.dev/tr/2026/weaving-grids/</guid>
<pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate>
<description>Dokumacı ilk düğümden önce her sırayı planlar. Bir sayfa ızgarası da aynı sözü verir.</description>
<content:encoded><![CDATA[<p>Kilim sıra sıra dokunur ve her motif görünmeden önce iplik iplik sayılır. Geri alma yoktur: ızgara iş başlamadan kararlaştırılır.</p>
<h2 id="desen-yaratan-kisitlar">Desen yaratan kısıtlar</h2>
<p>Dokuma yalnız belirli açılara izin verir; bu yüzden her yerde baklavalar ve basamaklar görürüz. Kısıtın kendisi üsluptur. CSS grid bize tersini verir: her şey mümkündür, dolayısıyla hiçbir şey kararlaştırılmamıştır.</p>
<h2 id="once-siralari-secin">Önce sıraları seçin</h2>
<ul>
<li>Bir sütun sayısı ve bir boşluk seçin, onlara sadık kalın</li>
<li>Yeni genişlikler icat etmek yerine içeriği sütunlara yayın</li>
<li>Yeni bir motif eklemek yerine bir motifi tekrarlayın</li>
</ul>
<p>Üç genişliği tekrarlayan bir sayfa, on bir genişlik kullanan bir sayfadan daha sakin okunur. Dokumacı bunu, tasarım sistemleri için bir kelimemiz olmadan yüzyıllar önce biliyordu.</p>
<blockquote>
<p>Desen, defalarca tutulan bir sözdür.</p>
</blockquote>]]></content:encoded>
</item>
<item>
<title>Ekranda serif yazı</title>
<link>https://notebook.themes.kilim.dev/tr/2026/serif-on-screens/</link>
<guid isPermaLink="true">https://notebook.themes.kilim.dev/tr/2026/serif-on-screens/</guid>
<pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate>
<description>Ekranlar serif için yıllar önce yeterince keskinleşti. Uzun okuma onları geri istiyor.</description>
<content:encoded><![CDATA[<p>On yıl boyunca ekranlar serif için fazla kabaydı ve sans ile okumayı öğrendik. Sonra pikseller küçüldü; neden ortadan kalktı, alışkanlık kaldı.</p>
<h2 id="zaten-orada-olan-yazi-tiplerini-kullanin">Zaten orada olan yazı tiplerini kullanın</h2>
<p>Her sistem iyi bir serifle gelir. Bunun gibi bir yığın indirme gerektirmez ve her yerde bilinçli görünür:</p>
<pre class="shiki shiki-themes github-light github-dark" style="background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8" tabindex="0"><code><span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">font-family: Charter, "Bitstream Charter", "Iowan Old Style",</span></span>
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">  "Sitka Text", Cambria, Georgia, serif;</span></span></code></pre>
<h2 id="once-satir-uzunlugu-sonra-boyut">Önce satır uzunluğu, sonra boyut</h2>
<p>60 ile 75 karakterlik bir satır, tipografinin en eski kuralıdır ve bir nedeni var. Önce sütun genişliğini, sonra onu dolduran boyutu, sonra 1.6 civarı bir satır yüksekliğini seçin.</p>
<p>Serif, 120 karakterlik satırı olan bir sayfayı kurtarmaz. İyi bir satır uzunluğu ise neredeyse her yazı tipini kurtarır.</p>]]></content:encoded>
</item>
<item>
<title>Önce 375 piksel için tasarlamak</title>
<link>https://notebook.themes.kilim.dev/tr/2026/designing-for-375/</link>
<guid isPermaLink="true">https://notebook.themes.kilim.dev/tr/2026/designing-for-375/</guid>
<pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate>
<description>En dar yaygın telefon, bir düzenin dürüst sınavıdır. Daha genişi bonustur.</description>
<content:encoded><![CDATA[<p>Sitenizi güneşin altında, tek başparmakla bir telefonda açın. Gerçek tasarım incelemesi budur.</p>
<h2 id="dardan-baslayin">Dardan başlayın</h2>
<p>375 pikselde her satıra tek bir fikir sığar. Orada ayakta kalan her şey geniş ekranda zarifçe yeniden dizilir; tersi nadiren doğrudur.</p>
<h2 id="her-zamanki-supheliler">Her zamanki şüpheliler</h2>
<ul>
<li>Sarmayı reddeden uzun bir URL ya da kod satırı</li>
<li>Ekrandan geniş bir tablo</li>
<li>Birinin aceleyle yazdığı sabit bir genişlik</li>
</ul>
<p>Her biri bir sayfayı bozuk hissettiren yatay kaydırmayı yaratır. <code>overflow-wrap: anywhere</code> ve kendi kutusunda kayan bir tablo çoğunu düzeltir.</p>
<h2 id="her-seferinde-kontrol-edin">Her seferinde kontrol edin</h2>
<p>Geçen ay çalışan bir düzen tek bir yeni yazıyla bozulabilir. Dar ekran kontrolünü yayın günü hatırladığınız bir şey değil, build'in bir parçası yapın.</p>]]></content:encoded>
</item>
<item>
<title>Sessiz araçlar</title>
<link>https://notebook.themes.kilim.dev/tr/2026/quiet-tools/</link>
<guid isPermaLink="true">https://notebook.themes.kilim.dev/tr/2026/quiet-tools/</guid>
<pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate>
<description>En iyi araçlar bir şey ters gidene kadar susar, sonra tam olarak neyin ters gittiğini söyler.</description>
<content:encoded><![CDATA[<p>En sevdiğim komut hiçbir şey yazmaz. Çalışır, başarır ve yoldan çekilir. Başarısız olduğunda bir dosya adı ve bir nedenle tek satır yazar.</p>
<h2 id="gurultu-bir-maliyettir">Gürültü bir maliyettir</h2>
<p>Her ilerleme çubuğu, emoji ve afiş bir bakış ister. Bunu günde yüz çalıştırmayla çarpın; araç hiç susmayan bir iş arkadaşına dönüşür.</p>
<h2 id="sessizlik-icin-bir-liste">Sessizlik için bir liste</h2>
<ul>
<li>Başarıda sessiz, hatada net</li>
<li>Sorun başına bir satır, nereye bakılacağıyla</li>
<li>Renkler yalnız bir anlam taşıdığında</li>
<li>Makineler için bir <code>--json</code> bayrağı</li>
</ul>
<p>Sessiz, gizli demek değildir. Sessiz bir araç sorduğunuz anda kendini uzun uzun anlatabilir; yalnızca her seferinde dinlemek istediğinizi varsaymaz.</p>]]></content:encoded>
</item>
<item>
<title>Bir sonbahar okuma listesi</title>
<link>https://notebook.themes.kilim.dev/tr/2026/autumn-reading/</link>
<guid isPermaLink="true">https://notebook.themes.kilim.dev/tr/2026/autumn-reading/</guid>
<pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
<description>Uzun akşamlar için, işleri yavaş ve iyi yapmak üzerine beş kitap.</description>
<content:encoded><![CDATA[<p>Akşamlar uzuyor, ekran daha az ilginç geliyor. İşte bana bir şeyleri daha özenle yapmayı istettiren beş kitap.</p>
<ol>
<li>Richard Sennett'ten <strong>Zanaatkâr</strong>, ellerde yaşayan beceri üzerine.</li>
<li>Ellen Lupton'dan <strong>Thinking with Type</strong>, var olan en samimi tipografi kitabı.</li>
<li>Christopher Alexander'dan <strong>A Pattern Language</strong>, her yazılımcının eninde sonunda bulduğu kitap.</li>
<li>Don Norman'dan <strong>Gündelik Şeylerin Tasarımı</strong>, çekmeniz gerekirken ittiğiniz kapılar için.</li>
<li>Matthew Crawford'dan <strong>Shop Class as Soulcraft</strong>, bir şeyi tamir etmenin onuru üzerine.</li>
</ol>
<h2 id="nasil-okuyorum">Nasıl okuyorum</h2>
<p>Yavaşça, elimde kalemle, akşam başına bir bölüm. Hiçbiri yazılım hakkında değil, hepsi yazılım hakkında.</p>]]></content:encoded>
</item>
<item>
<title>Yavaş bir sabahtan notlar</title>
<link>https://notebook.themes.kilim.dev/tr/2026/slow-mornings/</link>
<guid isPermaLink="true">https://notebook.themes.kilim.dev/tr/2026/slow-mornings/</guid>
<pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate>
<description>İlk mesajdan önceki bir saat ve onun günün geri kalanına yaptıkları.</description>
<content:encoded><![CDATA[<p>Bir ay boyunca günün ilk saatini mesajlardan uzak tuttum. Gelen kutusu yok, sohbet yok, haber yok. Yalnız kahve, bir defter ve ne inşa ediyorsam o.</p>
<h2 id="ne-degisti">Ne değişti</h2>
<p>İlk saat günün en verimli saati oldu; buna benden başka kimse şaşırmadı. Daha ilginci ikinci saatti: mesajlar hâlâ oradaydı ve hiçbiri beklediği için daha kötü hale gelmemişti.</p>
<h2 id="ne-degismedi">Ne değişmedi</h2>
<p>Bazı günler o saat pencereden dışarı bakmaya gitti. O da sayılır. Amaç sabaha daha çok iş sıkıştırmak değil, güne kendi seçtiğim bir şeyle başlamaktı.</p>
<p>Telefonuma hâlâ fazla bakıyorum. Ama ikinci sırada bakıyorum.</p>]]></content:encoded>
</item>
</channel>
</rss>
