Sinatra Markdown 模板
2023-12-19 16:15 更新
需要引入 rdiscount
gem/library 以填充 Markdown 模板:
# 需要在你的应用中引入rdiscount
require "rdiscount"
get '/' do
markdown :index
end
这里调用的是 ./views/index.markdown
(md
和 mkd
也是合理的文件扩展名)。
在 markdown 中是不可以调用方法的,也不可以传递 locals 给它。 你因此一般会结合其他的填充引擎来使用它:
erb :overview, :locals => { :text => markdown(:introduction) }
请注意你也可以从其他模板中调用 markdown 方法:
%h1 Hello From Haml!
%p= markdown(:greetings)
既然你不能在 Markdown 中调用 Ruby,你不能使用 Markdown 编写的布局。 不过,使用其他填充引擎作为模版的布局是可能的, 通过传递:layout_engine
选项:
get '/' do
markdown :index, :layout_engine => :erb
end
这将会调用 ./views/index.md
并使用 ./views/layout.erb
作为布局。
请记住你可以全局设定这个选项:
set :markdown, :layout_engine => :haml, :layout => :post
get '/' do
markdown :index
end
这将会调用 ./views/index.markdown
(和任何其他的 Markdown 模版) 并使用 ./views/post.haml
作为布局。
也可能使用 BlueCloth 而不是 RDiscount 来解析 Markdown 文件:
require 'bluecloth'
Tilt.register 'markdown', BlueClothTemplate
Tilt.register 'mkd', BlueClothTemplate
Tilt.register 'md', BlueClothTemplate
get '/' do
markdown :index
end
使用 BlueCloth 来填充 ./views/index.md
。
以上内容是否对您有帮助:
更多建议: