【发布时间】:2017-12-30 23:48:18
【问题描述】:
我正在使用宝石“红地毯”。我有一个降价文件。我希望能够用一些 ruby 变量来渲染它。像这样的:
# my_file.md
###Something
fdafdsfdsfds
---
<% for n in my_numbers do %>
<%= n %>
<% end %>
做这样的事情的正确方法是什么?如何传递和渲染红宝石 变量?
【问题讨论】:
我正在使用宝石“红地毯”。我有一个降价文件。我希望能够用一些 ruby 变量来渲染它。像这样的:
# my_file.md
###Something
fdafdsfdsfds
---
<% for n in my_numbers do %>
<%= n %>
<% end %>
做这样的事情的正确方法是什么?如何传递和渲染红宝石 变量?
【问题讨论】:
您可以使用 ruby 中包含的 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来自定义markdown渲染器
【讨论】:
file.md 文件中...