2 puan yazan woojinim64 1 일 전 | Henüz yorum yok. | WhatsApp'ta paylaş

VS Code ve Windsurf'te Markdown yazarken ortaya çıkan angaryaları azaltmak için geliştirilmiş bir eklenti

Pano bağlamını algılama, çift yönlü önizleme ve belge analizi işlevlerini tek bir pakette birleştiriyor.
Windsurf, VS Code çatalı tabanlı olduğu için aynı API ile her ikisini de destekliyor.


Geliştirilme nedeni

Web/Word'den kopyalanan içeriğin bozuk HTML veya düz metin olarak gelmesi sorunu
Tablo verisi girerken harici dönüştürme sitelerine bağımlılık
Önizleme ile editör arasında konum senkronizasyonu olmaması nedeniyle oluşan kaydırma ve gezinme maliyeti


Başlıca özellikler

  • Smart Paste

HTML → Markdown: Turndown motoruna GFM tablo ve kod bloğu kural geçersiz kılmaları uygulanıyor
TSV otomatik dönüşümü: Excel/Google Sheets'ten kopyalanan tablolar, regex tabanlı bir hat üzerinden Markdown tablosuna dönüştürülüyor
Seçili metnin üzerine URL yapıştırıldığında otomatik olarak [selected](url) biçiminde sarılıyor

  • Çift yönlü önizleme

Değişiklikte tümünü yeniden render etme → KaTeX titreşimi ve kaydırma sıçraması sorunları oluşuyordu
Artımlı güncelleme (incremental DOM patch) yöntemine geçildi
Derleme aşamasında her HTML düğümüne kaynak satırı eşlemesi için data-line niteliği ekleniyor
Önizlemeye tıklandığında postMessage ile editöre satır numarası iletiliyor → imleç hareket ediyor

  • Document X-Ray (kenar çubuğu panosu)

Korece-İngilizce karışık belgelerde karakter sayısı/okuma süresi tahmini (İngilizce için 200 wpm, Korece için dakikada 500 karakter esas alınarak)
Başlık ağacı ayrıştırmasına dayalı taslak + tıklanabilir gezinme
Belgedeki harici bağlantılar için eşzamansız 404 sağlık kontrolü


Mevcut destek kapsamı

Linter/formatter entegrasyonu
KaTeX, Mermaid render desteği
HTML/PDF dışa aktarma


Gelecek planları

Büyük belgeler için performans optimizasyonu (incremental parsing)
Yapay zeka asistanı entegrasyonu (özetleme, cümle düzeltme)
Obsidian Vault uyumluluk modu


Teknik notlar

VS Code Extension API'nin Webview yapısı, editörden yalıtılmış bir sandbox'tır
Çift yönlü iletişimde debounce ve mesaj toplu işleme olmazsa büyük belgelerde performans düşüşü yaşanır
Aynı işlevlerde bile mimari tasarıma göre performans farkı büyük olabilir


Bağlantılar

GitHub: https://github.com/RAKKUNN/Marksmith
Page: https://rakkunn.github.io/MarkSmith/


Bol bol geri bildirim ve inceleme bekliyorum!!
Teşekkürler.

Henüz yorum yok.

Henüz yorum yok.