在 Shiny 中包含带有选项的降价

qfa*_*lle 2 markdown shiny

我想将我的myMardown.md文档包含在我的 Shiny 应用程序中。
为了显示目录,我使用了 toc 选项,我还使用了 css ( myStyle.css)

myMarkdown.md

---
output: 
  html_document:
    toc: true
    toc_float: true
    toc_depth: 2
    css: myStyle.css
---

<div>
###A title using myStyle.css {.bigbaseline}
</div>

# Big chapter 1
## chapter A
## chapter B
# Big chapter 2
## chapter A
Run Code Online (Sandbox Code Playgroud)

myStyle.css

.bigbaseline {
   font-size: 2em;
   color: #134C89;
   text-align: center;
   font-style:italic;
}
Run Code Online (Sandbox Code Playgroud)

在 RStudio 中,当我预览 myMarkdown.md(使用pandoc)时,会显示目录,并且使用 css 的标题工作正常。

但恐怕当我使用 includeMarkdown 功能时, myMarkdown.md 文档的前端没有考虑在内。因为我看不到目录,也看不到带有 css 的标题。

app.R

ui <- fluidPage(
  uiOutput("doc_to_display")
)

server <- function(input, output) {
  output$doc_to_display <- renderUI({
    includeMarkdown("myMarkdown.md")
  })
}

shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

我也尝试过,includeHTML但在我的 Shiny 应用程序中,我有几个tabPanel(我使用navbarPage),一旦我转到tabPanel包含 HTML 文档的地方,我就无法切换回其他应用程序tabPanel

谢谢你。

qfa*_*lle 6

由于问题42422771 中的解决方法,终于找到了解决方案

这包括 HTML。
Toc选项可用,css工作正常,我可以从一个面板切换到另一个面板,而不会使闪亮的应用程序冻结。

library(shiny)

ui <- fluidPage(
  tags$iframe(src = './myMarkdown.html', # put myMarkdown.html to /www
              width = '100%', height = '800px', 
              frameborder = 0, scrolling = 'auto'
  )
)

server <- function(input, output) {

}

shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)