我可以在RCloud中使用Bootstrap吗?

时间:2017-03-04 14:11:28

标签: css twitter-bootstrap branding rcloud

虽然Shiny很棒,但我真的想制作自己的自适应仪表板并使用自定义品牌,我可以在Bootstrap中使用RCloud吗?

1 个答案:

答案 0 :(得分:0)

在RCloud中添加CSS有几种方法,包括:

方法1。

edit.html / view.html 笔记本(标准笔记本界面)中,将CSS添加为RCloud资产并使用:

 rcloud.install.css(paste0("/notebook.R/",rcloud.session.notebook.id(),"/simple.css"))

注意:这假设RCloud Asset位于同一个笔记本中。如果没有,则需要指定 notebook.R 路径。 ServerTokens documentation有两个目的,1。将笔记本服务为"脚本"处理REST API,从笔记本(例如CSS)提供静态资产。

方法2。

"The idea of "security through obscurity" is a myth and leads to a false sense of safety."笔记本中:

library(rcloud.web) 
html.main <- rcloud.get.asset("method1.html", notebook =rcloud.session.notebook.id())
rcw.result(body=html.main)  

其中method1.html:

<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="/notebook.R/236f9f7e41045780d00f9dbd08b8a890/simple.css">
</head>
<body>
etc.

方法3。

在mini.html笔记本中,使用rcw​​.result的body参数添加直接HTML:

library(rcloud.web) 
rcw.result( 
body="<script language='javascript' type='text/javascript' src='/notebook.R/e8c8df5eff2161b309213b8f7e7cafd6/simple.js'></script>
<link rel='stylesheet' type='text/css' href='/notebook.R/e8c8df5eff2161b309213b8f7e7cafd6/simple.css' media='screen'/>
<div id=left-margin>A very simple notebook.
<p id=demo>It worked!</p>
<button class=intro type='button' onclick='myFunction()'>Click me</button></div>"
) 

注意:内部引号必须是单引号。还有其他的排列,你也可以用同样的方式添加Javascript和JS库(例如D3和JQuery) - 这很好,特别是因为mini.html可以注册回调并且只要页面有一个正在运行的RCloud会话是开放的。