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

问题描述 投票:1回答:2

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

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

Screenshot of error

ruby-on-rails markdown haml pandoc
2个回答
5
投票

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

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

如果你需要更多地控制Haml使用的处理器(例如,如果你想在你的应用程序中使用kramdown用于Haml过滤器但是在其他方面使用RedCarpet),请在初始化程序中尝试这样的事情:

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

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


0
投票

来自its README

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

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

首先,确保gem 'pandoc-ruby'

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

qazxswpoi
© www.soinside.com 2019 - 2024. All rights reserved.