如何使用Sinatra或Padrino从HAML自动生成静态HTML?

时间:2012-04-19 20:45:05

标签: sinatra rendering haml padrino

我想使用nginx提供静态HTML页面。然后,我将使用jQuery通过来自Padrino服务器的AJAX调用来更新DIV,SPAN等。

我喜欢在HAML中创建我的网页,因为它更容易,但在生产中,我不想提供HAML模板。只是原始的,HTML以nginx的速度。

有一种简单的方法吗?

什么是理想的服务会自动将HAML,partials等呈现到nginx可以提供的公共文件夹中。

2 个答案:

答案 0 :(得分:2)

简单,

将padrino-cache添加到您的应用

class SimpleApp < Padrino::Application
  register Padrino::Cache
  enable :caching

  get '/foo', :cache => true do
   expires_in 30 # expire cached version at least every 30 seconds
   'Hello world'
  end
end

然后保存在您想要服务的地方:

set :cache, Padrino::Cache::Store::File.new(Padrino.root('public'))

您可以在此处阅读更多内容:http://www.padrinorb.com/guides/padrino-cache

答案 1 :(得分:1)

我想到的第一件事就是Jekyll。无论如何,我认为它只是一个问题或优化,所以如果你已经有一个Sinatra,你可以从每个请求渲染HAML开始,然后再添加缓存。