DT包使用hugo-future-imperfect主题不能使用blogdown

pss*_*guy 8 r r-markdown hugo

我有一个基于hugo-future-imperfect主题的博客网站,其中在rmd中正确创建了DT输出,但在应用serve_site/build_site时未显示数据(尽管标题为)

我创建了两个全新的网站(因此没有其他复杂情况)来说明问题.这是代码和输出

```{r DT}
library(DT)
library(tidyverse)

iris %>% 
  datatable()
```
Run Code Online (Sandbox Code Playgroud)

a)默认主题 defaulttheme

b)hugo-imperfect imperfecttheme

igo*_*rkf 11

您可以使用该包widgetframe。

安装包,然后将数据表保存在变量中。

install.packages("widgetframe")

ts <- iris %>% DT::datatable()
Run Code Online (Sandbox Code Playgroud)

所以当你想显示数据表时,就这样做:

widgetframe::frameWidget(ts)
Run Code Online (Sandbox Code Playgroud)

这对我行得通!


MrH*_*pko 6

来自https://owi.usgs.gov/blog/leaflet/和https://github.com/rstudio/blogdown/issues/20,答案是在iframe中显示输出.所以:

将输出绑定到代码中的变量,不显示此块的输出:

```{r, message=FALSE, warning=FALSE, include=FALSE}
library(DT)
library(tidyverse)

d1 <- iris %>% 
  datatable()

d1

```
Run Code Online (Sandbox Code Playgroud)

在下一个块中,将窗口小部件保存到单独的文件中(隐藏代码和输出).

```{r, message=FALSE, warning=FALSE, include=FALSE}
library(htmlwidgets)
library(htmltools)

htmlwidgets::saveWidget(d1, file = "d1.html", selfcontained = TRUE)

```
Run Code Online (Sandbox Code Playgroud)

窗口小部件不会保存为d1.html,而是创建文件夹d1并在文件夹中创建文件index.html.您需要从iframe标记引用此索引文件(在代码块之外)

<iframe seamless src="../d1/index.html" width="100%" height="500"></iframe>
Run Code Online (Sandbox Code Playgroud)

您应该在页面中看到此iframe的输出.

这不是一个很好的解决方法.希望很快就能在rblogdown中解决问题.