R Markdown htmltools with cat 功能添加额外不需要的代码

问题描述

我需要生成一个带有文本和链接缩略图网格。像 YouTube 之类的东西。

为此,我使用 Markdown 和 htmltool 包。

这是一个测试代码

```{r,echo=FALSE,warning=FALSE,results='asis'}
  library(htmltools)
  
  thumbnail <- function(title,Feedtitle,url,thumbs) {
    
    return(
      div(class = "col-sm-4",p(
          title
        ),a(class = "thumbnail",title = Feedtitle,href = url,img(src = thumbs),div(class = "caption",title)
               
        )
      )
    )
  }
  
  thumbnail("Title","Feedtitle","url","https://i4.ytimg.com/vi/KQ80oD_boBM/hqdefault.jpg"
          )
  
  
  cat(
    as.character(
              thumbnail("Title Cat","https://i4.ytimg.com/vi/KQ80oD_boBM/hqdefault.jpg"
                )
    )
  )
  
  for (i in 1:2){
    #thumbnail(videos[t,])
    cat(
      as.character(
                thumbnail(paste0("Title loop ",i),"https://i4.ytimg.com/vi/KQ80oD_boBM/hqdefault.jpg"
                  )
      )
    )
  }

结果我得到了这个页面

enter image description here

每个块下都有一个加法,带cat函数。这是块的示例

<div class="col-sm-4">
<p>
Title loop 2
</p>
<a class="thumbnail" title="Feedtitle" href="url"> <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABA<long image string that I removed>" />
<div class="caption">
Title loop 2
</div>
<p></a></p>
</div>

还有额外的 <p></a></p> 如果我只是在 Markdown 文档中使用 cat 运行代码,则不会出现。但是在编织后的结果html文件添加了它。

如果我使用没有 cat() 的函数调用结果是正确的。但是我需要 cat() 在循环中运行该函数。如果没有 cat() 循环,结果根本不会显示 html 块。

谁能解释一下为什么会这样以及如何删除它?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)