扩展Middleman以处理新文件类型(JPADE)

时间:2012-10-23 22:57:47

标签: ruby format pug middleman

我想向Middleman添加.jade支持。我不需要使用任何jade的动态功能,但我想在中间人编译我的应用程序,而不是使用我自己的乱码编译脚本。

向Middleman添加新文件类型的最简单方法是什么?

1 个答案:

答案 0 :(得分:3)

Middleman的模板建立在Tilt之上,所以使用tilt-jade gem它应该非常简单。

以下是将一些Mustache模板添加到Middleman的代码:

require 'tilt-mustache'

# Mustache Renderer
module Middleman::Renderers::Mustache
  class << self
    def registered(app)
      # Mustache is not included in the default gems,
      # but we'll support it if available.
      begin

        # Require Gem
        require "mustache"

        # After config, setup mustache partial paths
        app.after_configuration do
          Mustache.template_path = source_dir

          # Convert data object into a hash for mustache
          provides_metadata %r{\.mustache$} do |path|
            { :locals => { :data => data.to_h } }
          end
        end
      rescue LoadError
      end
    end

    alias :included :registered
  end
end
Middleman::Base.register Middleman::Renderers::Mustache

应该很容易适应与Jade合作。