Bu defter nasıl çalışıyor
Yazı eklemek, ön bilgi alanlarını doldurmak ve yayına almak — üç dosya, bir push.
Bu site bir Astro projesi. Yazılar src/content/blog/ altında Markdown olarak duruyor,
dile göre iki klasöre ayrılmış:
src/content/blog/
├── tr/bu-defter-nasil-calisiyor.md
└── en/how-this-ledger-works.md
Klasör adı yazının dilini belirler. Türkçe yazılar kökte (/yazi/...), İngilizce
yazılar /en/post/... altında yayımlanır.
Yeni yazı eklemek
İlgili dil klasörüne ASCII adlı bir .md dosyası aç. Dosya adı adresin son parçası
olacağı için Türkçe karakter kullanma. Başına şu ön bilgiyi koy:
---
title: Yazının başlığı
description: Listede ve arama sonuçlarında görünecek tek cümle.
date: 2026-08-17T14:00:00Z
tags: [ct, tls]
---
| Alan | Zorunlu | Ne işe yarar |
|---|---|---|
title |
evet | Başlık |
description |
evet | Liste özeti ve meta açıklama |
date |
evet | Sıra numarası ve besleme tarihi |
updated |
hayır | Sonradan düzeltme yaptıysan |
tags |
hayır | Etiket sayfaları bundan üretilir |
draft |
hayır | true ise yayına çıkmaz, npm run dev’de görünür |
translationKey |
hayır | Aynı yazının iki dildeki sürümünü eşler |
translationKey iki dosyada da aynı yazıldığında listedeki satıra en işareti düşer ve
üstteki dil bağlantısı doğrudan çevirisine gider.
Sıra numarası ve özet
Her yazı yayım tarihine göre bir sıra numarası alır. Numaralar eskiden yeniye verildiği için yeni bir yazı eskilerin numarasını kaydırmaz.
Satırdaki on iki haneli özet, dosyanın Markdown gövdesinin SHA-256 karmasının ilk on iki hanesi. Metni düzeltirsen özet de değişir. Aynı hesabı kendin de yapabilirsin:
node -e '
const fs = require("fs"), crypto = require("crypto");
const body = fs.readFileSync(process.argv[1], "utf8")
.replace(/^---\n[\s\S]*?\n---\n/, "")
.trim();
console.log(crypto.createHash("sha256").update(body).digest("hex").slice(0, 12));
' src/content/blog/tr/bu-defter-nasil-calisiyor.md
Ön bilgi bloğu karmaya girmez, yalnızca gövde girer — baştaki ve sondaki boşluklar da kırpılmış hâliyle. Başlığı değiştirmek özeti değiştirmez; metni değiştirmek değiştirir.
Yayına almak
main dalına push at, gerisini GitHub Actions yapar: bağımlılıkları kurar,
npm run build çalıştırır ve çıkan dist/ klasörünü Pages’e gönderir. Derlenmiş
dosyalar depoda tutulmaz.
Yerelde bakmak için:
npm run dev
Taslaklar yalnızca burada görünür; draft: true kalan bir yazı derlemeye girmez.