Могу ли я использовать Bootstrap с RCloud?
Несмотря на то, что Shiny великолепен, мне бы очень хотелось создать собственную адаптивную панель инструментов и использовать собственный брендинг, так что я могу использовать Bootstrap в RCloud?
1 ответ
Существует несколько способов добавления CSS в RCloud, в том числе:
Способ 1
В записной книжке edit.html/view.html (стандартный интерфейс записной книжки) добавьте CSS в качестве RCloud Asset и используйте:
rcloud.install.css(paste0("/notebook.R/",rcloud.session.notebook.id(),"/simple.css"))
Примечание. Предполагается, что RCloud Asset находится в той же записной книжке. Если нет, то необходимо указать путь notebook.R. notebook.R служит двум целям: 1. служить ноутбукам в качестве "сценариев" обработки REST API, обслуживать статические ресурсы из ноутбуков (например, CSS).
Способ 2
В блокноте mini.html:
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 используйте параметр body файла rcw.result, чтобы добавить прямой 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, доступный до тех пор, пока страница открыт.