【发布时间】:2011-09-29 01:02:26
【问题描述】:
我正在使用 Sinatra 和 Heroku 构建一个简单的“笔记”网站。我使用 Markdown 编写笔记并使用 rdiscount gem 将它们转换为 Sinatra 中的 HTML。因此,对 /foo 的请求将提供模板 /views/foo.md,并转换为 HTML
我还希望能够将 Markdown 源作为纯文本文件提供。所以 /foo/source(或类似的东西)会将 /views/foo.md 作为纯文本服务器。
我尝试过使用 ERB,但它最终想要服务 /views/foo.erb。
这是我当前的应用程序:
require 'sinatra'
require 'rdiscount'
set :markdown, :layout_engine => :erb
get '/' do
markdown :index
end
get '/:topic' do
markdown params[:topic].to_sym
end
【问题讨论】:
-
查看我的完整答案,而且,这一行可能会让您感到困惑:“set :markdown, :layout_engine => :erb”——“layout_engine”选项中的“layout”使用 Rails ' 将“布局”定义为“页面包装器”,如“在渲染markdown 模板时使用erb引擎进行布局”,我在任何地方都看不到任何布局。这就是你惹的祸吗?