mdBook, Markdown dosyalarından kolayca kitap oluşturmak için kullanılan, özellikle Rust ekosisteminde popüler bir araçtır. Rust'ın resmi kitabının yayınlanması gibi birçok alanda tercih edilmektedir. mdBook'un temel gücü, kitap çıktısını istenilen şekilde değiştirmek için kullanılan basit ama etkili bir eklenti mekanizması olan "ön işlemcilerdir" (preprocessors). Bu ön işlemciler, herhangi bir programlama dili veya aracı kullanılarak geliştirilebilir ve kitabın içeriğini oluşturma aşamasında manipüle etme yeteneği sunar.
Ön işlemciler, mdBook'un mimarisinde önemli bir yer tutar. İçerik Markdown dosyalarından yüklendikten sonra, ancak çıktı (varsayılan olarak HTML) oluşturulmak üzere işleyiciye gönderilmeden önce çalıştırılırlar. Bu sayede, kitabın yapısı veya içeriği üzerinde kapsamlı değişiklikler yapılabilir. Bir ön işlemciyi kullanmak için, projenin book.toml yapılandırma dosyasında açıkça belirtilmesi gerekir. mdBook, ön işlemciyi bir alt süreç olarak çalıştırır ve bu da Python gibi farklı dillerde yazılmış eklentilerin sorunsuz bir şekilde entegre edilmesini sağlar.
Eklentilerin kaydı iki aşamalıdır: İlk olarak, mdBook eklentinin belirli bir işleyiciyi (örneğin HTML) destekleyip desteklemediğini kontrol eder. Ardından, tüm kitabı JSON formatında standart girdiden (stdin) eklentiye iletir ve eklentinin değiştirilmiş kitabı yine JSON formatında standart çıktıya (stdout) döndürmesini bekler. Bu yaklaşım, eklentilere kitabın tamamı üzerinde kontrol sağlayarak, ince taneli müdahaleler yerine geniş kapsamlı değişiklikler yapma esnekliği sunar.
mdBook'un dil bağımsız ön işlemci mimarisi, geliştiricilere kitap içeriklerini esnek ve güçlü bir şekilde özelleştirme imkanı sunarak yayıncılık süreçlerini zenginleştiriyor.