微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。