YAML'dan bilgi alan basit bir tablo nasıl görünüyor:

Eklenecek kod:

```dataviewjs
const pages = dv.pages('"2. Areas/Занятие спортом/Динамика веса"')
  .where(p => p.Вес && p.date)
  .sort(p => p.date);

let rows = [];
let prevWeight = null;
const goal = 80;

for (let p of pages) {
  const date = new Date(p.date).toLocaleDateString();
  const weight = p.Вес;
  let diffDisplay = "–";
  let toGoal = `${(goal - weight).toFixed(1)} kg`;

  if (prevWeight !== null) {
    const diff = weight - prevWeight;
    if (diff > 0) {
      diffDisplay = `🟢 +${diff.toFixed(1)}`; // kilo alma = iyi
    } else if (diff < 0) {
      diffDisplay = `🔴 ${diff.toFixed(1)}`;  // kaybetme = kötü
    } else {
      diffDisplay = "➖ 0";
    }
  }

  rows.push([date, weight, diffDisplay, toGoal]);
  prevWeight = weight;
}

dv.table(["📅 Tarih", "⚖️ Kilo (kg)", "📈 Fark", "🎯 Hedefe (80 kg)"], rows);```

const pages = dv.pages(‘“2. Areas/Занятие спортом/Динамика веса”’) — YAML’lı notlarının bulunduğu kendi yolunla değiştir Son üç apostrof karakterini yeni bir satıra taşı


🧠 Bu kodu daha derin anlamak isteyenler için açıklama:

Bu kod sadece bir tablo değil. Doğrudan Obsidian içinde akıllı bir kilo takipçisidir. Şunları gösterir:

  • kayıt tarihi;

  • mevcut kilo;

  • önceki kayda göre kilodaki değişim;

  • hedefe ne kadar kaldığı (örn. 80 kg).

Ve hepsi — otomatik olarak, Excel ya da üçüncü taraf uygulamalar olmadan.


dataviewjs, sıradan dataview’den nasıl farklı?

Sıradan dataviewdataviewjs
Excel’deki gibi yazarsın: sadece tablo, sıralama, filtre.JavaScript kullanırsın — yani daha karmaşık mantık yapabilirsin: karşılaştırmalar, hesaplamalar, duygular.
Basit liste ve tablolar için uygun.İleri düzey takipçiler, hesaplamalar, görselleştirmeler için uygun.
Değerler arasındaki farkı hesaplayamaz.Karşılaştırabilir, farkı hesaplayabilir ve hatta sonuca göre emoji çıkarabilir.

Kodun adım adım açıklaması

const pages = dv.pages('"2. Areas/Занятие спортом/Динамика веса"')
  .where(p => p.Вес && p.date)
  .sort(p => p.date);
  • “Kilo dinamiği” klasöründeki tüm notları alıyoruz.

  • Filtreliyoruz: yalnızca hem kilo hem tarih olanlar lazım.

  • Tarihe göre sıralıyoruz — sırayla olsun.


let rows = [];
let prevWeight = null;
const goal = 80;
  • rows — tablo satırları burada toplanacak.

  • prevWeight — mevcutla karşılaştırmak için önceki kiloyu hatırlayacağız.

  • goal — hedefin (örn. 80 kg). Kod ne kadar kaldığını gösterecek.


for (let p of pages) {
  const date = new Date(p.date).toLocaleDateString();
  const weight = p.Вес;
  • Her nottan tarih ve kiloyu alıyoruz.

  • Tarihi okunabilir yapıyoruz (örn. “27.05.2025”).


let diffDisplay = "–";
let toGoal = `${(goal - weight).toFixed(1)} kg`;
  • diffDisplay — geçen seferden beri kiloya ne oldu.

  • toGoal — hedefe kilogram olarak ne kadar kaldı.


if (prevWeight !== null) {
  const diff = weight - prevWeight;
  if (diff > 0) {
    diffDisplay = `🟢 +${diff.toFixed(1)}`;
  } else if (diff < 0) {
    diffDisplay = `🔴 ${diff.toFixed(1)}`;
  } else {
    diffDisplay = "➖ 0";
  }
}
  • Kiloyu karşılaştırıyoruz: arttı, azaldı ya da aynı mı kaldı.

  • Bir renk ve emoji ekliyoruz:

    • 🟢 kilo aldı — iyi!

    • 🔴 kaybetti — belki yemek yemen lazım 😅

    • ➖ aynı kaldı — istikrar!


rows.push([date, weight, diffDisplay, toGoal]);
prevWeight = weight;
  • Her şeyi tabloya ekliyoruz.

  • Sonrakiyle karşılaştırmak için mevcut kiloyu hatırlıyoruz.


dv.table(["📅 Tarih", "⚖️ Kilo (kg)", "📈 Fark", "🎯 Hedefe (80 kg)"], rows);
  • Güzel bir tablo çıkarıyoruz:

    • tarih,

    • kilo,

    • değişim,

    • hedefe ne kadar kaldığı.


💥 Sonuç

Doğrudan Obsidian’da şunları yapan bir tablo elde edersin:

  • ilerlemeyi hesaplar;

  • nerede kaybettiğini ya da kazandığını gösterir;

  • devam etmeye motive eder.

Kişisel gelişim ve ilerleme takibi için mükemmel bir araç. Ve bunu sen kendin yaptın — Excel olmadan, uygulama olmadan, sadece Obsidian temelinde.