'尝试使用时没有这样的文件或目录 - pandoc':haml-rails中的markdown过滤器

时间:2017-04-18 23:54:56

标签: ruby-on-rails markdown haml pandoc

我正在尝试在Rails 5.0.2上使用:markdown过滤器和haml-rails

当我第一次尝试在HAML文件中使用Markdown时,它说它需要pandoc-ruby作为依赖项,所以我将它添加到我的Gemfile中。但是,现在当我尝试在我的文件中使用:markdown时,我收到以下错误:

Screenshot of error

2 个答案:

答案 0 :(得分:5)

你不需要Pandoc,这只是Tilt尝试使用的第一个降价处理器,并报告它是否找不到任何其他处理器。你确实需要一些降价处理器。

您最简单的修复可能是从pandoc-ruby中移除Gemfile并添加Ruby降价处理器(例如kramdown)。

如果您需要更好地控制Haml使用的处理器(例如,如果您想在Haml过滤器中使用kramdown但在应用程序中使用RedCarpet进行其他操作),请在初始化程序中尝试这样的操作:

require 'tilt/kramdown'
module Haml::Filters
  remove_filter("Markdown")
  register_tilt_filter "Markdown", :template_class => Tilt::KramdownTemplate
end

如果您确实想使用Pandoc渲染markdown,那么您需要确保已安装它,请参阅Chris’ answer

答案 1 :(得分:0)

来自its README

  

PandocRuby是Pandoc的包装器,这是一个Haskell库,带有用于将一种标记格式转换为另一种标记格式的命令行工具。

它需要单独安装Pandoc(强调添加):

  

首先,请务必install Pandoc

     

接下来,将PandocRuby添加到您的Gemfile

gem 'pandoc-ruby'