我建設使用西納特拉和Heroku的一個簡單的「筆記」的網站。我使用Markdown編寫筆記,並使用rdiscount gem將它們轉換爲Sinatra中的HTML。所以/ foo的請求會提供模板/views/foo.md,轉換爲HTML我如何才能讓Sinatra以純文本的形式將Markdown作爲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」選項中的「佈局」使用Rails的定義「layout」作爲「頁面包裝器」,如「在渲染markdown *模板時使用* layouts *的erb引擎*」,並且我在任何地方都看不到任何佈局。那是什麼讓你搞砸了? – AlexChaffee 2011-09-28 17:54:29