【发布时间】:2011-05-31 18:42:38
【问题描述】:
我对 HAML 和 CoffeeScript 感到非常兴奋,并且正在编写教程来展示如何在非 Rails 环境中使用它们。 因此,haml 具有易于使用的命令行实用程序
haml input.haml output.html.
而且,很棒的是,有一个项目(众多分支之一:https://github.com/aussiegeek/coffee-haml-filter)旨在提供自定义过滤器,将 CoffeeScript 转换为 HAML 文件中的 JS。 不幸的是(或者我错过了什么?)haml 不允许在命令行或使用某些配置文件指定自定义过滤器。
我(不是 Ruby 粉丝,甚至对它了解不够)设法使用这个帮助脚本解决了这个问题(基于 SO 某处的一些聪明的建议):
haml.rb
require 'rubygems'
require 'active_support/core_ext/object/blank'
require 'haml'
require 'haml/filters/coffee'
template = ARGV.length > 0 ? File.read(ARGV.shift) : STDIN.read
haml_engine = Haml::Engine.new(template)
file = ARGV.length > 0 ? File.open(ARGV.shift, 'w') : STDOUT
file.write(haml_engine.render)
file.close
这很简单,除了开头的要求。
现在,问题是:
1) 我真的应该使用它吗,还是有其他方法可以使用自定义过滤器按需进行 HAML 到 HTML 编译?
2) HAML 监视模式怎么样?它很棒而且很方便。当然,我可以在 python 中创建一个轮询脚本,用于监视目录更改并调用此 .rb 脚本,但它看起来像一个肮脏的解决方案。
除了Heikki的回复,我的解决方法如下: https://gist.github.com/759002
如果您觉得有用,请随意使用
【问题讨论】:
标签: ruby haml coffeescript