2017-12-30 46 views
1

私は宝石「レッドカーペット」を使用しています。私はマークダウンファイルを持っています。私はいくつかのルビ変数でレンダリングできるようにしたい。このようなもの:マークダウンファイルにルビ変数を渡してレンダリングするにはどうすればよいですか?宝石「レッドカーペット」

# my_file.md 

###Something 
fdafdsfdsfds 

--- 

<% for n in my_numbers do %> 
    <%= n %> 
<% end %> 

このような処理を行うにはどうすればよいですか?ルビーを渡してレンダリングするにはどうすればいいですか? ?

答えて

3

あなたはルビーに含まれているerbライブラリを使用することができますが、あなたがそれを必要とする必要があります。

require 'erb' 
require 'redcarpet' 

input = File.read "./file.md" 

markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, autolink: true, tables: true) 

output = markdown.render ERB.new(input).result(binding) 

File.open("output.html", "w") { |f| f.write output } 

あなたはバインディング何redcarpet readme

+0

を参照して値下げレンダラをカスタマイズすることができますか? – Raj

+0

どこでルビ変数をマークダウンに渡しましたか? – Raj

+0

バインディングは特別な変数です。詳細については、 "what is binding in ruby​​"のgoogleを検索してください。 Rubyの変数は 'file.md'ファイルにあると仮定されています... –

関連する問題