gpt4 book ai didi

ruby - nanoc:如何将选项传递给 pandoc-ruby?

转载 作者:数据小太阳 更新时间:2023-10-29 07:46:41 24 4
gpt4 key购买 nike

我正在尝试将 nanoc 3.5.0 与 pandoc 一起使用使用 pandoc-ruby 的过滤器.具体来说,我无法从我的 Rules 文件中传递多个选项,因此对 PandocRuby.convert() 的最终调用如下所示:

PandocRuby.convert(content,
{:from => :markdown, :to => :html}, :no_wrap,
:table_of_contents, :mathjax, :standalone,
{"template" => Dir.getwd + '/layouts/pandocTemplate.html'})

当我将上述调用置于自定义过滤器中时,一切正常。但是,我想在 Rules 中指定 pandoc 选项,这样我就不必为每组选项创建一个特殊的过滤器。

默认的 pandoc 过滤器定义为函数 run(content, params={}) 并简单地调用 PandocRuby.convert(content, params)。如何设置 params 以便正确调用 PandocRuby.convert()Rules 中的以下指令不起作用:

filter :pandoc, :params => { :from => :markdown, :to => :html, :no_wrap, :table_of_contents, :mathjax, :standalone, "template" => Dir.getwd + '/layouts/pandocTemplate.html' }
filter :pandoc, :params => { :from => :markdown, :to => :html, :no_wrap => true, :table_of_contents => true, :mathjax => true, :standalone => true, "template" => Dir.getwd + '/layouts/pandocTemplate.html' }

第一个指令导致 Ruby 错误,第二个指令运行但给我一个空白页面,表明 pandoc 没有被正确调用。我对 Ruby 不是很熟悉,所以我目前的努力只是在黑暗中摸索。

最佳答案

nanoc 附带的 pandoc 过滤器此时无法正确执行此操作。传递给过滤器的参数直接传递给 PandocRuby.convert:

def run(content, params={})
PandocRuby.convert(content, params)
end

( source )

您对过滤器的调用有两个以上的参数,这就是它崩溃的原因。过滤器当然需要更新(我对如何调用它的想法太天真了)。如果您想尝试改进过滤器,当然欢迎您提交拉取请求!同时,我已将此问题报告为 ( link)。

(希望我能尽快用正确的答案更新这个答案!)

关于ruby - nanoc:如何将选项传递给 pandoc-ruby?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14646741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com