2012-06-16 5 views
7

Buraya yeni başlayanlar Jekyll (daha önce Hyde'da).Sessiz bir şekilde yok sayılan eklentileri nasıl ayıklayabilirim?

  • _plugins/dizinine yerleştirilen Ruby dosyaları açıkça sessizce yok sayılır.
  • Ubuntu 12.04'te ruby ​​1.8.7 ile, Jekyll sürüm 0.11.2 kullanıyorum.

Bu eklentileri yüklemek için fazladan bir yapılandırma parametresi eklenmeli mi? Doktor öyle söylemiyor - aklı önceliği _plugins'e bakmak olmalı ve otomatik olarak istenmelidir. Jekyll eklentilerinin yüklenmesi nasıl hata yapabilir?

cevap

2

Jekyll örneğim için (ayrıca 0.11.2, ancak Mac üzerinde 1.9.2p290 rubyeli), herhangi bir ek yapılandırma eklemem gerekmiyor, ancak aşağıdaki satırı en üst düzeyinize eklemeyi deneyebilirsiniz " _config.yml "dosya.

plugins:  _plugins 

veya muhtemelen

plugins:  ./_plugins 

eklentilerinizde çalıştığını sınamak için en kolay yolu ise yarayacak biri hariç hepsini kaldırmaktır. Kurulumumda beklendiği gibi çalışan aşağıdakileri bir araya getirdim.

  1. aşağıdaki içeriği ile "plugin_test.md" adlı jekyll kaynak dizininin kökü yeni bir dosya oluştur: "varsayılan düzeni" değiştirmek gerekebilir

    --- 
    layout: default 
    title: Plugin Test 
    --- 
    
    the quick brown fox jumps over the lazy dog. 
    
    Testing plugin output of '_plugins/testplugin.rb': {% testplugin %} 
    

    Not Aslında ne kullanıyorsan onu.

  2. aşağıdaki içeriği ile "_plugins/testplugin.rb" da yeni bir dosya oluşturun:

    module Jekyll 
        class TestPlugin < Liquid::Tag 
        def render(context) 
         "It's Working!" 
        end 
        end 
    end 
    
    Liquid::Template.register_tag('testplugin', Jekyll::TestPlugin) 
    
  3. Run Jekyll kaynak dir üzerinde.

Tüm bu testplugin.rb metinle sıvı etiketi {% testplugin %} örneklerini değiştirmek olduğunu mu "Bu Çalışma bu!". eklentilerinizde tetiklediğini ederseniz, çıkış sitesi kökünde çıktı üretmesi sayfa "plugin_test.html" konulu

Testing plugin output of '_plugins/testplugin.rb': It's Working!" 

göreceksiniz. Görüyorsanız: eklentinin tetiklenmediği anlamına gelir. Eğer bununla karşılaşırsanız, bence bir şeylerin baştan çıkarıcı olduğunu gösteren bir işaret olduğunu ve jekyll'i yeniden yüklemenizi tavsiye edeceğini düşünüyorum.

1

Biliyorum biraz geç kaldım ama hala bu soruyla karşılaşan diğer kişiler için çözünürlüğümü eklemek istiyorum: Yeni eklenen eklentiyi çalıştırmak için sunucuyu yeniden başlatın. Yani jekyll serve (Ctrl C) 'yi durdurun ve yeniden jekyll serve ile yeniden başlatın.