FrankenMarkdown: Sıfır Bağımlılıklı Rust Markdown Motoru
FrankenMarkdown v0.3.0, sıfır bağımlılıklı Rust çekirdeğiyle Markdown'ı byte-eşdeğer HTML ve PDF'e dönüştürüyor; aynı motor WASM üzerinde tarayıcıda da çalışıyor.
FrankenMarkdown, crates.io üzerinde v0.3.0 sürümüne ulaşan, Markdown'ı hem HTML hem de PDF'e dönüştüren bir Rust motoru. Projenin öne çıkan noktası, ayrıştırıcıdan sözdizimi vurgulayıcıya, font okuyucudan PDF yazıcıya kadar tüm bileşenlerin sıfırdan yazılmış olması; CLI dışında hiçbir üçüncü parti bağımlılık kullanılmıyor ve bu durum CI'da politika kapısıyla denetleniyor. Aynı ayrıştırma ağacı hem yerel Rust derlemesinde hem de WebAssembly üzerinden çalışan tarayıcı sürümünde kullanılıyor; iki çıktı da byte düzeyinde birebir aynı olacak şekilde CI'da doğrulanıyor.
Motor, PDF çıktısında Knuth–Plass optimal satır kırma algoritması, Liang tireleme, gerçek font metrikleri ve kerning/ligatür desteğiyle LaTeX benzeri bir tipografi sunuyor. Fontlar tam olarak değil, yalnızca belgede kullanılan glifleri içerecek şekilde alt kümelenerek gömülüyor; bu sayede tipografik kaliteden ödün vermeden dosya boyutu küçük tutulabiliyor. Sabit girdi ve seçeneklerle her zaman aynı çıktı byte'larının üretilmesi, tekrarlanabilir derlemeler ve önbellekleme için pratik bir avantaj sağlıyor.
Projenin CommonMark uyumluluğu şu an 652 örnekten 379'u (~%64) seviyesinde ve bu oran CI'da yalnızca yükselecek şekilde kilitlenmiş; ham HTML geçişi bilinçli olarak desteklenmiyor. PDF sayfalama ve SVG desteği gibi bazı alanlar hâlâ olgunlaşma aşamasında ve geliştiriciler bu sınırları açıkça belirtiyor. Ajan/otomasyon odaklı bir CLI (JSON çıktılı capabilities, doctor, robot-docs komutları) ve URL fragmanı üzerinden sunucusuz belge paylaşımı gibi özellikler, aracı hem insan hem de otomasyon iş akışlarına uygun hale getiriyor.