是否可以在 Github Pages 上托管交互式 R Markdown 文件?

问题描述 投票:0回答:3

正如标题所示,我想在 Github Pages 上创建交互式 R Markdown 文件的帖子(意味着它嵌入了 Shiny 应用程序)。这可以在 Github Pages 中实现吗?如果是这样,我该怎么办?如果没有,托管交互式 RMD/Shiny 页面的最佳(免费)方式是什么?

r github shiny r-markdown github-pages
3个回答
25
投票

虽然不可能在 Github 页面上托管成熟的 Shiny 应用程序(事实上,正如 @Gregor 所建议的,shinyapps.io 对此很有用),但 Shiny 的开发人员一直在努力使某些功能完全在客户端上运行-通过 htmlwidgets.

这是一个在 Github 页面上运行的简单示例:

自述文件.Rmd

## Example of displaying htmlwidgets on a Github pages site

```{r}
# Source: http://www.htmlwidgets.org/showcase_plotly.html
library(plotly)
p <- ggplot(data = diamonds, aes(x = cut, fill = clarity)) +
            geom_bar(position = "dodge")
ggplotly(p)
```

渲染的 HTML

(实时版本:Github 页面 htmlwidget 演示

对于更复杂的交互,包括完全在客户端的小部件之间的通信,请查看来自 UserR 的 Joe Cheng 最近的串扰演示! 2016.


1
投票
当您渲染 rmd 文件时,您也可以将其编织为 HTML,然后可以在 github 页面上托管该页面。


0
投票
到 2023 年,您可以使用

shinylive
 包在 Github 页面上托管 Shiny 应用程序

来自 Posit 网站上的

文档页面

部署 Shiny 的传统方式涉及单独的服务器和客户端:服务器运行 Python 和 Shiny,客户端通过 Web 浏览器连接。每个客户端只要使用该应用程序,就会保持开放的 Websocket 连接。

但是

当使用 Shinylive 部署应用程序时,Python 和 Shiny 在 Web 浏览器中运行:浏览器实际上既是应用程序的客户端又是服务器。有一个提供文件服务的 Web 服务器,但它不运行 Python 或 Shiny — 它可以是一个“哑”静态 Web 服务器。

这意味着您可以通过 GitHub 页面托管 Shiny 应用程序。

高级工作流程示例

全部从 RamiKrispin 优秀的

示例存储库中窃取

由于shinylive应用程序是无服务器的,您可以将应用程序部署到

Github页面。首先,按照以下步骤创建您的应用程序:

shiny create myapp
这将创建应用程序文件 - 

app.py

,并在 
myapp
 文件夹下使用默认的shinylive示例:

. └── myapp └── app.py
接下来,更新您的应用程序并使用 

shiny static

 命令构建网站:

shiny static myapp docs
我们将应用程序文件夹 - 

myapp

 映射到网站文件夹 
docs
(Github Pages 需要将网站名称设置为 
docs
)。这将添加以下文件夹:

. ├── docs │ ├── edit │ └── shinylive │ ├── jquery.terminal │ │ ├── bin │ │ ├── css │ │ └── js │ ├── pyodide │ │ └── fonts │ ├── pyright │ └── shiny_static │ └── edit └── myapp
您可以使用以下命令在本地测试您的应用程序:

python3 -m http.server --directory docs 8008
并使用 

http://localhost:8008/

 在浏览器上打开。

注意: 任何时候更改应用程序时,都必须运行 shiny static myapp docs

 来更新 
docs
 文件夹。

完成应用程序后,提交并推送更改并在 Github 上打开存储库,然后转到

Settings

 选项卡并选择 
Pages
 选项(蓝色框):

接下来,在

Build and deployment

 下选择 
Deploy from branch
 选项(绿色框),然后在分支选项下选择要从中部署的分支和 
docs
 文件夹(紫色框)。

该网站应在几分钟后准备就绪,网址如下:

YOUR_GITHUB_USER_PROFILE.github.io/YOUR_REPO_NAME
    
© www.soinside.com 2019 - 2024. All rights reserved.