
ve sonra “Mayıs 2025” notuna şu kodu ekle:
```dataviewjs
const pages = dv.pages('"2. Areas/Мой дневник/1-3 Daily notes"')
.where(p => p.date && p.date.toString().includes("-05-2025"))
const totalDays = 31
const count = (key) => pages.filter(p => p[key] === true).length
const habits = [
{ name: "Isınma", key: "разминка" },
{ name: "Spor beslenmesi", key: "спортпитание" },
{ name: "Okuma", key: "Чтениекниг" }
]
function getColor(percent) {
if (percent >= 80) return "#4CAF50" // yeşil
if (percent >= 50) return "#FFC107" // sarı
return "#F44336" // kırmızı
}
if (pages.length === 0) {
dv.paragraph("❌ Mayıs için veri yok.");
} else {
const container = this.container
habits.forEach(habit => {
const current = count(habit.key)
const percent = Math.round((current / totalDays) * 100)
const color = getColor(percent)
const block = document.createElement("div")
block.style.marginBottom = "16px"
const label = document.createElement("div")
label.textContent = `${habit.name}: ${percent}%`
label.style.fontWeight = "bold"
label.style.marginBottom = "4px"
const barContainer = document.createElement("div")
barContainer.style.background = "#eee"
barContainer.style.borderRadius = "6px"
barContainer.style.height = "16px"
barContainer.style.width = "100%"
barContainer.style.overflow = "hidden"
const bar = document.createElement("div")
bar.style.background = color
bar.style.height = "100%"
bar.style.width = `${percent}%`
bar.style.transition = "width 0.3s"
barContainer.appendChild(bar)
block.appendChild(label)
block.appendChild(barContainer)
container.appendChild(block)
})
}```
→ const pages = dv.pages(‘“2. Areas/Мой дневник/1-3 Daily notes”’) — 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:
📁 1. Günlük notlarına ne eklemen gerekiyor

💻 2. Kod “Mayıs 2025” notunda nasıl görünüyor
Ay notunda (örn. Mayıs 2025), şu kodu ekle:
```dataviewjs
const pages = dv.pages('"2. Areas/Мой дневник/1-3 Daily notes"')
.where(p => p.date && p.date.toString().includes("-05-2025"))🛠 Açıklama:
-
pages— klasördeki tüm günlükleri alıyoruz. -
Yalnızca Mayıs 2025 için filtreliyoruz (
includes("-05-2025")). -
Yolu kendi yolunla değiştirmeyi unutma!
const totalDays = 31
const count = (key) => pages.filter(p => p[key] === true).length-
totalDays— aydaki toplam gün sayısı. -
count()— alışkanlığın kaç gün yapıldığı.
const habits = [
{ name: "Isınma", key: "разминка" },
{ name: "Spor beslenmesi", key: "спортпитание" },
{ name: "Okuma", key: "Чтениекниг" }
]🔑 Burada takip edeceğin alışkanlık listesini belirlersin.
-
name— ekranda nasıl adlandırılacağı. -
key— alanın YAML’da nasıl yazıldığı.
function getColor(percent) {
if (percent >= 80) return "#4CAF50" // yeşil
if (percent >= 50) return "#FFC107" // sarı
return "#F44336" // kırmızı
}🟩 Yeşil = harikasın 🟨 Sarı = çabalıyorsun 🟥 Kırmızı = disiplin lazım
📊 Görselleştirme
habits.forEach(...) döngüsünün içinde şunlar oluşturulur:
-
alışkanlığın tamamlanma yüzdesiyle metin;
-
gri çubuklu bir kapsayıcı;
-
%‘ye göre dolan renkli bir ilerleme çubuğu.
✅ Sonuçta ne elde edersin
Ay için bir alışkanlık paneli elde edersin:
-
Güzel.
-
Motive edici.
-
Doğrudan notunda — dış takipçilere gerek yok.