Obsidian Her Yerde Ama Nasıl?#

Obsidian#

Mükemmel ve özelleştirilebilir bir not uygulaması olan Obsidian, birçok amaçla kullanılabilmektedir. Hatta Obsidian üzerinde metin tabanlı oyunlar bile yapılabilmektedir. Sonuçta Markdown kullanılmakta burada anlattık :). Çok basit bir sistemdir ve topluluğu oldukça geniştir. Ayrıca sayamayacağım kadar özelliği mevcut. Adresinden detaylara bakabilirsiniz.


Syncthing#

Syncthing, internet ya da intranet üzerinde bulunan cihazlarda belirleyeceğiniz klasörlerin senkronizasyonunu sağlayan bir programdır. Neredeyse tüm işletim sistemlerinde çalışmaktadır. Buradan detaylara bakabilirsiniz.


Neden?#

Uzun zamandır notlarımı toparlamak ve blog tutmak istiyordum. Aslında belirli dönemlerde gelip giden bir heves gibiydi. Ancak artık daha berrak düşünebildiğim bir dönemde olduğumu düşünüyorum. Kariyerimi ve bilgi birikimimi koruyabilmek adına daha düzenli olarak not almaya başladım. Bunu yaparken hep Obsidian kullanmak istiyordum.

Obsidian tüm notları .md yani Markdown olarak saklar. Kendine ait bir senkronizasyon sistemi mevcut, ancak aylık 4 dolar ücretlendirme söz konusu. Ayrıca “Publish” seçeneği de mevcut, o da aylık 8 dolar ücretli. Ama ben tüm sistemi birbirine bağlayarak herhangi bir cihazımda Obsidian ile yazımı yazıp blog tutabiliyorum. Tabii tek sebep bu değil. Birçok fikrimi unutuyorum ve not alamıyorum ya da önemli işleri sonraya bırakıp unutuyorum. Bu açıdan harika. Aslında kendimi bir disipline oturtmaya çalışıyorum.


Mantık#

Tek solukta anlatmaya çalışacağım. Obsidian “vault"lar üzerinde çalışır ve bunların her biri birer klasördür. Bu klasörleri Syncthing ile MacBook’tan, PC’den veya telefondan düzenlediğim ya da oluşturduğum dosyaları otomatik olarak sunucuma yüklüyor. Olmayan cihazlarda ise indiriyor.

Mantıklı bir cümle mi oldu emin değilim, ama açıkta kalan noktalar var gibi. Mesela bir dosya sildim, ne olacak? Cihazım sunucuya bakarak tekrar indirmeyecek mi? Gayet makul olabilir, ancak o iş tabii ki düşünülmüş. Örneğin şu anda MacBook üzerinde bu yazıyı yazıyorum, 10 saniye sonra sunucuya gidiyor, oradan da diğer cihazlarıma ulaşıyor. Sonra Mac’ten kalkıp PC’ye gidiyorum, kaldığım yerden devam ediyorum. Aynı şekilde sunucuya yükleniyor, oradan da diğer cihazlarıma dağıtılıyor. Burada çok iyi anlatan bir video bıraktım.


Blog#

Blog tutmak için Golang ile yazılmış Hugo frameworkünü tercih ettim. Yine sunucum üzerine kurulu durumda ve buradan yayın yapmaktayım. Vault içerisinde “blog” isminde bir klasör oluşturdum. Bu klasörün içinde draft değeri true olmayan içerikler otomatik olarak yayınlanıyor. Hugo için derleme komutu mevcut, dokümantasyondan inceleyebilirsiniz.


Sunucu#

Sunucu tarafında ise otomatik derleme için bir bash script mevcut. Mac üzerinden yazdığım yazıyı kaydediyorum, sonrasında Syncthing bunu sunucuya yüklüyor. Sunucu üzerindeki cron, bu dosyayı Hugo için doğru klasöre rsync ile aktarıyor. Sonrasında derleme komutunu çalıştırıyor ve blog yazım hazır hale geliyor. Düzenlemeler için de aynı şeyler geçerli.


Telefon#

Telefon olarak iPhone kullanıyorum. Doğrudan Syncthing uygulaması yok, bir kullanıcı tarafından yazılmış Synctrain mevcut. Telefonuma indirdim, telefonumda bulunan Obsidian klasörünü sunucuya gönderiyorum. Çünkü telefonumda Obsidian’ı başka klasöre alamıyorum, sadece Obsidian altındaki klasörlerde çalışıyor.

Sunucumda PC ve Mac üzerinden gelen dosyalar için bir klasör, telefon üzerinden gelen dosyalar için ise farklı bir klasör mevcut. Böyle bir durumda telefonumda ortak bir çalışma yapabilmem mümkün olmuyor. Ancak Unison komutu ile iki farklı klasör için senkron sağlayabiliyorum. Böylelikle PC ya da Mac üzerinden yaptığım değişiklik sunucuya gittikten sonra cron ile çalışan Unison komutu ile telefon için olan Obsidian klasörüne de gidiyor. Tam tersi senaryoda ise telefondan gönderilen içerikler kök Obsidian klasörüne aktarılıyor.

Ayrıca telefonda senkronizasyon için uygulamayı açmak gerekiyor, bu ise unutulabiliyor. Bunun için iPhone üzerinde Shortcuts kullanıyorum. Instagram ya da WhatsApp açıldığında “senkron et” şeklinde tetikliyorum ve gayet başarılı çalışıyor.


Sonuç#

Obsidian, Syncthing, Hugo ve birkaç basit otomasyon aracı sayesinde kendi kendine işleyen bir not ve blog ekosistemi kurmak mümkün. Bu yapı, hem fikirlerin kaybolmasını engelliyor hem de farklı cihazlar arasında zahmetsiz bir geçiş sağlıyor. En güzeli ise tüm kontrolün sende olması; yani verilerin üçüncü taraf servislerde değil, tamamen senin sunucularında güvende kalıyor.