【问题标题】:Including a plain HTML partial in middleman在中间人中包含一个纯 HTML 部分
【发布时间】:2014-07-16 17:37:39
【问题描述】:

我正在使用带有middleman-slim 包的中间人来生成静态网站。如果我在一个名为 _test.erb_test.slim 的文件中有一个部分,我可以简单地将它包含在行中

== partial 'layouts/test'

但是,如果这只是一个普通的 .html 文件,它就不起作用。我四处搜寻,但收效甚微。到目前为止我能想到的选项是:

  1. 将文件重命名为 .erb,这样可以,但我不想这样做。
  2. 使用 IO.read 包含文件的内容(例如==IO.read('source/layouts/_test.html')),这也很难看

有没有一种方法可以为普通的 .html 文件注册一个处理程序,以便以一种简单的方式完成这项工作?

【问题讨论】:

    标签: ruby sinatra slim-lang middleman


    【解决方案1】:

    这是 Middleman 的一个未解决问题:https://github.com/middleman/middleman/issues/1206

    查看链接以获取最新信息和一些解决方法。

    我个人的做法是为IO.readsprockets.find_asset 创建一个简单的助手。

    UPD:Thomas Reynolds 已为您解决此问题!等待 Middleman 3.3.4 发布或通过 Bundler 从 Github 使用它:

    gem 'middleman', :git => 'git@github.com:middleman/middleman.git', :branch => 'v3-stable'
    

    【讨论】:

    • 感谢您的回复!老实说,我已经放弃了希望,并针对当前的默认分支编写了自己的扩展。但是,我无法让 Thomas 的版本正常工作 - 它只能用于 .svg 文件吗?
    • NVM;看了一下代码。不过,我不知道为什么,但是当我为文件提供扩展名时,我得到“没有注册模板引擎”,如果没有扩展名,它根本找不到它。
    猜你喜欢
    • 2018-08-16
    • 2014-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    相关资源
    最近更新 更多