我正在构建一个 Quarto 网站(https://quarto.org/docs/websites/),该网站应该有一些与 Shiny 交互工作的页面。
假设这个迷你交互式文件应命名为mini-app.qmd:
---
title: "Old Faithful"
format: html
server: shiny
---
```{r}
sliderInput("bins", "Number of bins:",
min = 1, max = 50, value = 30)
plotOutput("distPlot")
```
```{r}
#| context: server
output$distPlot <- renderPlot({
x <- faithful[, 2] # Old Faithful Geyser data
bins <- seq(min(x), max(x), length.out = input$bins + 1)
hist(x, breaks = bins, col = 'darkgray', border = 'white')
})
```
Run Code Online (Sandbox Code Playgroud)
这就像一个普通.qmd文件一样,渲染、预览,一切都很棒。
但是,一旦此文件mini-app.qmd成为使用此交互式组件创建的四开本的一部分,quarto create-project mysite --type website就不再起作用了。
错误信息:
Error in shiny_prerendered_html(input_rmd, render_args) :
Prerendered HTML file not found at /Users/.../quarto-website/mini-app.html
Calls: .main ... <Anonymous> -> shiny_prerendered_app -> shiny_prerendered_html
Execution halted
Run Code Online (Sandbox Code Playgroud)
如何构建一个包含一些与 Shiny 交互的页面的四开版网站?我想念什么?
简短的回答:不可能,因为 quarto 网站是静态的,而 Shiny 不是。
长答案:https://github.com/quarto-dev/quarto-cli/discussions/1561