codecamp

Sinatra RDoc 模板

需要引入 ​RDoc​ gem/library 以填充 RDoc 模板:

# 需要在你的应用中引入rdoc/markup/to_html
require "rdoc"
require "rdoc/markup/to_html"

get '/' do
  rdoc :index
end

这里调用的是 ​./views/index.rdoc​。

在 rdoc 中是不可以调用方法的,也不可以传递 locals 给它。 你因此一般会结合其他的填充引擎来使用它:

erb :overview, :locals => { :text => rdoc(:introduction) }

请注意你也可以从其他模板中调用​rdoc​方法:

%h1 Hello From Haml!
%p= rdoc(:greetings)

既然你不能在 RDoc 中调用 Ruby,你不能使用 RDoc 编写的布局。 不过,使用其他填充引擎作为模版的布局是可能的, 通过传递​:layout_engine​选项:

get '/' do
  rdoc :index, :layout_engine => :erb
end

这将会调用 ​./views/index.rdoc​ 并使用 ​./views/layout.erb​ 作为布局。

请记住你可以全局设定这个选项:

set :rdoc, :layout_engine => :haml, :layout => :post

get '/' do
  rdoc :index
end

这将会调用 ​./views/index.rdoc​ (和任何其他的 RDoc 模版) 并使用​ ./views/post.haml ​作为布局。


Sinatra Textile 模板
Sinatra Radius 模板
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Sinatra 配置

Sinatra 错误处理

Sinatra Sinatra::Base - 中间件,程序库和模块化应用

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }