2017-12-30 44 views
1

나는 "redcarpet"보석을 사용하고 있습니다. 그리고 나는 markdown 파일을 가지고있다. 루비 변수로 렌더링 할 수 있기를 원합니다. 다음과 같이 입력하십시오 :Markdown 파일에서 루비 변수를 전달하고 렌더링하는 방법은 무엇입니까? 보석 "redcarpet"

# 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

바인딩은 특별한 변수입니다. Google에서 "무엇이 바인딩에 루비인지"에 대한 자세한 정보를 검색하십시오. 루비 변수는'file.md' 파일에 있다고 가정합니다 ... –