TL; DR: Bir şekilde bir {% include %}
için bir içerik oluşturup, her yerde yeniden üretmek zorunda kalmadan bir çok yere damgalayabileceğimi söyleyebilir miyim?Jekyll: Bir kez bir tane oluşturun ve tüm sayfalara ekleyin
Şu anda 50'den fazla makalesi olan Jekyll ile oldukça büyük bir dokümantasyon sitesi yapıyorum. Tüm makalelerin listelendiği bir kenar çubuğu vardır. kenar çubuğu ayrı bir sidebar.html içinde oluşturulur ve daha sonra sitenin her sayfasına {% include sidebar.html %}
default.html ile eklenir.
Sahip olduğum sorun, her bir makalenin ayrı olarak sidebar.html neslini çalıştırmasıdır, bu yüzden bu kod parçasından 50 jenerasyon geçişim var. Eklediğim her makale, bir geçiş daha ekler ve tüm geçişleri biraz daha yavaş yapar, çünkü kenar çubuğunun oluşturulması projedeki her bir makaleyi ayrıştırmak zorundadır.
Oluşturma süresi temel olarak sıfırdan 100 saniyeye kadar çıktı ve {% include sidebar.html %}
'u kaldırırsam 5 saniyeye düşer. Bütün makaleleri aldığımda, bunların 100-200 civarında olduğunu tahmin ediyorum. Öyleyse gelecekte tüm makalelerde versiyonlama yapmalıyım, bu da uzun vadede kolaylıkla 1000+ makale olabileceği anlamına gelir. Bu noktada, bir dosyada bir harf değiştirilirse, jekyll serve
ve jekyll build
dosyalarının yeniden oluşturulması için bir saat gibi bir şey alacak olursam şaşırmazdım.
Yapmak istediğim şey, yapım sürecinin başında bir kez sidebar.html oluşturmak ve söz konusu sayfaları oluşturduğumda her sayfaya yapıştırmak. Mümkün mü?
50 makale içerikli bir tablo oluşturmak çok uzun sürmez. İçerdiği kodu gösterebilir misin? –
Ben macun macunun üzerine koydum: http://pastebin.com/KBKbQr4P. Orada kısaca açıkladım ne yaptığını ve orada zaten bazı perfo sorunları kaydetti, ama bunu yapmak için daha iyi bir yol bulamadım. Üç bölümden oluşmaktadır. Bunu nasıl daha iyi yapacağınıza dair herhangi bir öneri de takdir edilmektedir. –
Bu, işlevsel bir içerik tablosu! Bu akşam kazacağım. –