reloading01

Bu defter nasıl çalışıyor

Yazı eklemek, ön bilgi alanlarını doldurmak ve yayına almak — üç dosya, bir push.

883daaac93aa1 dakika

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.

sıra
0001
yazıldı
özet
883daaac93aa

Özet, yazının Markdown gövdesinin SHA-256 karmasının ilk on iki hanesi. Metin değişirse özet de değişir.