如何在标记文件中传递和呈现ruby变量?宝石“红地毯”
我用的是宝石红地毯。我有一份降价文件。我希望能够用一些ruby变量来呈现它。大概是这样的:如何在标记文件中传递和呈现ruby变量?宝石“红地毯”,ruby,markdown,Ruby,Markdown,我用的是宝石红地毯。我有一份降价文件。我希望能够用一些ruby变量来呈现它。大概是这样的: # my_file.md ###Something fdafdsfdsfds --- <% for n in my_numbers do %> <%= n %> <% end %> 这样做的正确方法是什么?如何传递和渲染红宝石 变量?您可以使用ruby中包含的erb库,但您必须要求它: require 'erb' require 'redc
# 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 }
您可以通过引用自定义标记渲染器。您可以使用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 }
您可以通过引用what's binding?binding是一个特殊变量来定制markdown渲染器,有关详细信息,请在google中搜索ruby中的what's binding。假设ruby变量位于file.md文件中……为什么不必使用元编程呢?我如何传递一个具体的变量,而不是所有的上下文?这并不是真正的元编程。如果你只想公开特定的数据而不是整个上下文,你可以创建一个自定义绑定对象,但我不确定你为什么要这么做。绑定是什么?绑定是一个特殊的变量,在谷歌搜索ruby中绑定的内容以获取更多信息。假设ruby变量位于file.md文件中……为什么不必使用元编程呢?我如何传递一个具体的变量,而不是所有的上下文?这并不是真正的元编程。如果您只想公开特定的数据,而不想公开整个上下文,那么可以创建一个自定义绑定对象,但我不确定您为什么要这样做。