2011-08-29 18 views
45

Jekyll blogumda görünmesini istediğim Markdown formatlı bir kenar çubuğum var. Daha önce {% include sidebar.markdown %} gibi eklemeyi denedim ama aslında Markdown'u oluşturmazdı. Ben başarıyla gibi içerebilir:Jekyll'de, bir Markdown kısmi render yapmak için kısa bir yol var mı?

{% capture sidebar %}{% include sidebar.markdown %}{% endcapture %} 
{{ sidebar | markdownify }} 

ve bu yönetilebilir bir çözüm olmasına rağmen, ben bu başarmak daha şık bir şekilde tercih ediyorum. Herhangi bir fikir? Şimdiden teşekkürler!

+3

Bu bağlantı öldü: kullanım örneği ile blog. Bu, bir çözüme bağlantı vermek yerine soruyu cevaplamanın daha iyi olmasının bir nedenidir. – askewchan

+0

Özgün çözümü beğendim, ancak yakalama arasında bir ekleme yapmak yerine, sadece içeriğimi koydum ve yakalama + render'imi _includes/sidebar.html – stackdump

cevap

5

Jekyll artık etiket, dönüştürücü veya jeneratör eklemek için basit eklentileri yazmayı destekliyor. Ayrıntılar için http://jekyllrb.com/docs/plugins/'a bir göz atın.

:

+1

Ooh'm içine taşıdım, yeni bir etiket oluşturmayı düşünmemiştim. Bunu bir girdap vereceğim, teşekkürler! –

+0

Tamam, bu yüzden elimi doğru etiketi oluşturmaya çalıştım ama hala hangi kodun gerekli olduğunu anlayamıyorum. Ben include etiketi (https://github.com/mojombo/jekyll/blob/master/lib/jekyll/tags/include.rb) reimplement var gibi görünüyor ama ben çıkışını nasıl işaretlemek için emin değilim - Muhtemelen bu, 26 hattında bir değişikliği içerecektir, ama ben gerçekten bir Rubyist değilim ve ne yapacağımı bilmiyorum ... –

+0

Ben sizin için dönüştürücü alabilirsiniz: converter = self.site.converters. {| c | bulmak c.matches (self.ext)} Ardından dönüştürme yöntemini kullanın. Bunun nasıl uygulandığını öğrenmek için https://github.com/mojombo/jekyll/blob/master/lib/jekyll/converters/markdown.rb adresini ziyaret edin. –

21
Ben de bu arıyordu

, bir PİDE, pek Google'ın içeriği nasıl yapılacağını keşfetmek, en kesin bulgu burada işe yaramaz bir özü ... ölü basit bir çözüm oldu ./_plugins/markdown_tag.rb:

module Jekyll 
    class MarkdownTag < Liquid::Tag 
    def initialize(tag_name, text, tokens) 
     super 
     @text = text.strip 
    end 
    require "kramdown" 
    def render(context) 
     tmpl = File.read File.join Dir.pwd, "_includes", @text 
     Jekyll::Converters::Markdown::KramdownParser.new(Jekyll.configuration()).convert(tmpl) 
    end 
    end 
end 
Liquid::Template.register_tag('markdown', Jekyll::MarkdownTag) 

GÜNCELLEME: https://web.archive.org/web/20161207125751/http://wolfslittlestore.be/2013/10/rendering-markdown-in-jekyll/

+1

Bu eklenti ile işaretlemeye tuhaf bir şey olduğu görünüyor. Örneğin, çitle kodlanmış kod blokları kullanıldığında, yeni satırların yok olduğu anlaşılıyor. Ayrıca, MathJax için kurulumuma destek ekledim ve ters eğik çizgi kaldırıldı. OP tarafından verilen açık ekleme, her iki durumda da gayet iyi çalışır. Bu sorunların nasıl çözüleceği hakkında herhangi bir fikrin var mı? – Mike

+0

Teşekkürler, blog yayınınız çok yardımcı oluyor. – apotonick

İlgili konular