2017-11-19 9 views
0

Liquidテンプレートエンジンがテンプレート内のRubyライブラリにアクセスできるかどうかは疑問です。私はJekyllをWebインターフェイスのプロトタイプに使用していて、Fakerなどの現実的なコンテンツを生成するために使用したいと考えています。LiquidテンプレートのRubyライブラリへのアクセス、特にFaker

私はLiquidプラグインを書く道を控えています。 RubyライブラリをLiquidテンプレートに公開します。

答えて

1

他の通常のRubyファイルと同じように、Jekyllプラグインから他のモジュールにアクセスすることができます。この場合、プラグインからFakerを使用しても問題ありません。例えば

、偽物を使用してランダムな名前を生成するためにタグを使用するプラグインを作成:<p>{% render_name this is a faker name: %}</p>出力:this is a faker name: Ulises Bergstrom次に、あなたのようにそれを使用することができます

require 'faker' 

module Jekyll 

    class RandomnameTag < Liquid::Tag 

    def initialize(tag_name, text, tokens) 
     super 
     @text = text 
     @name = Faker::Name.name 
    end 

    def render(context) 
     "#{@text} #{@name}" 
    end 
    end 
end 

Liquid::Template.register_tag('render_name', Jekyll::RandomnameTag) 

を。

関連する問題