Bir yedek al

Herhangi bir toplu değişiklikten önce, Obsidian kasanın bir kopyasını mutlaka al. Her şey kusursuz çalışsa bile — hatalar olur. Ayrıca riski en aza indirmek için — elle yöntemi öneririm.


🎯 Neyi değiştirmek istiyoruz?

Notlar eskiden şöyle başlıyordu:

Şu an kullandığım bağlantı şablonu:

Bu format:

  • Dataview eklentisi tarafından okunmaz
  • notun yapısını bozar
  • elle düzenleme gerektirir

YAML’a geçmek istiyoruz:

YAML şablonu nasıl görünüyor:

Ve YAML kaynak kodu olarak şöyle görünür:

---
input links:
  - '[[PSİKOLOJİ]]'
tags:
  - psikoloji
  - blog
date: 24-05-2025
---

Geri bağlantıların gösterimi ise notun başına taşınabilir. Nasıl mı? Aşağıda ele alalım.


🔗 Geri bağlantılar — Obsidian’dan yerleşik bir özellik

[[Dataview]] kodlu Output links yerine, artık şunu kullanıyoruz:

  • yerleşik geri bağlantılar (ayarlardan etkinleştirilir)

"Geri bağlantılar" nasıl görünüyor:


🎨 Geri bağlantıları CSS ile YAML’ın yanına, yukarı nasıl taşırsın

  1. CSS parçacıkları klasörünü aç:

CSS parçacıkları klasörü:

  1. Bir CSS belgesi oluştur (önce sıradan bir not defteri oluştur “Farklı kaydet” “Tüm formatlar” dosya adına .css ekle örn. backlinks.css)

  2. Bu kodu publish.css ya da obsidian.css’e ekle:

.cm-sizer {
  display: flex;
  flex-direction: column;
}

.inline-title {
  order: 1;
}

.metadata-container {
  order: 2;
}

.embedded-backlinks {
  order: 3;
  position: static;
  overflow-y: auto;
  max-height: 300px;
}

.cm-contentContainer {
  order: 4;
}

Kod not defterinde (css) nasıl görünüyor:

👉 Artık geri bağlantılar doğrudan YAML bloğunun altında olacak. Bu, bağlantıları hızlıca görmek için kullanışlı.


🔁 YAML’a geçmenin 3 yolu

1. 🐍 Python betiği (deneyimliler için)

# Aşağıya bak — Vault yolunu (Vault_Path) mutlaka değiştir ve arama şablonunu kontrol et

Dikkat! Bu yöntem metni toplu değiştirir. Emin değilsen çalıştırma. Çalıştırmadan önce ChatGPT'ye danışmak daha iyi.

İşte kodun kendisi:

import os
import re

VAULT_PATH = r"C:\delete after\Tutorial 01"

# Esnek regex: isteğe bağlı boşluklara, satır sonlarına ve bazı alanların yokluğuna izin verir
pattern = re.compile(
    r"(?:)?",
    re.DOTALL
)

def convert_file(filepath):
    with open(filepath, "r", encoding="utf-8") as f:
        content = f.read()

    if content.strip().startswith("---"):
        return False

    match = pattern.search(content)
    if not match:
        return False

    input_raw = match.group(1).strip()
    tags_raw = match.group(2).strip()
    date = match.group(3).strip() if match.group(3) else None

    # Bağlantıları biçimlendirme: '[[...]]'
    input_links = re.findall(r"\[\[(.*?)\]\]", input_raw)
    input_yaml = "\n".join([f"  - '[[{link.strip()}]]'" for link in input_links])

    # Etiketleri biçimlendirme
    tags = [tag.strip("# ").strip() for tag in tags_raw.split()]
    tags_yaml = "\n".join([f"  - {tag}" for tag in tags]) if tags else "  - "

    # YAML'ı oluşturma
    yaml = [
        "---",
        "input links:",
        input_yaml if input_yaml else "  - ",
        "tags:",
        tags_yaml,
    ]
    if date:
        yaml.append(f"date: {date}")
    yaml.append("---")

    # Tüm eski bloğu sil ve YAML ekle
    new_content = "\n".join(yaml) + "\n\n" + content[match.end():].lstrip()

    with open(filepath, "w", encoding="utf-8") as f:
        f.write(new_content)

    print(f"✅ Güncellendi: {filepath}")
    return True

def process_vault():
    print("🚀 İşlem başlatılıyor...")
    count = 0
    for root, _, files in os.walk(VAULT_PATH):
        for file in files:
            if file.endswith(".md"):
                full_path = os.path.join(root, file)
                if convert_file(full_path):
                    count += 1
    print(f"🎉 Bitti! Güncellenen dosya: {count}")

if __name__ == "__main__":
    process_vault()
    

Kendine nasıl uyarlanır?

  1. VAULT_PATH’i kendi kasanın yoluyla değiştir

  2. Bu kodu ChatGPT’ye göster ve yaz: “Kendi şablonlarıma uyarlamama yardım et. İşte örnek bir not…“


2. 🔍 Global Search and Replace eklentisi

Şablon dizeleri için uygun. Örneğin:

  • Bul: ...%% bloğunu sil
  • Geri bağlantıları etkinleştir ve yukarıda olmaları için CSS kullan

📌 Sonuç

YAML'a geçmek düzenle ilgilidir: elle koddan kurtulur, Obsidian'ın yerleşik özelliklerini kullanır ve sistemine temizlik getirirsin.

Kasana uyarlama örneği mi istiyorsun? ChatGPT’ye yaz:

“Eski şablonum böyle görünüyordu. Onu YAML’a dönüştürmeme yardım et ve hangi satırları elle ekleyebileceğimi açıkla.”


Devam edelim mi?