Как включить произвольный HTML в документ RMarkdown?

Я использую RMarkdown для создания блога через blogdown. Я хотел бы включить, например, встроенные твиты. Как ниже:

<blockquote class="twitter-tweet" data-partner="tweetdeck">
  <p lang="en" dir="ltr">Section 1.5 uses the gutenbergr package to pull literary text. Unfortunately, the function doesn&#39;t get through our work firewall.</p>&mdash; Jeremy GH (@JGreenbrookHeld) 
  <a href="https://twitter.com/JGreenbrookHeld/status/912774476533719040?ref_src=twsrc%5Etfw">September 26, 2017</a>
</blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

Я знаю, как включить R-код, который будет оцениваться, но я не знаю, как просто вставить блок HTML-кода и передать его напрямую. Какие-нибудь советы?

В качестве примера у меня есть простой документ RMarkdown

---
title: "Test"
author: "Mark Ewing"
date: "October 2, 2017"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

## R Markdown

<blockquote class="twitter-tweet" data-partner="tweetdeck">
  <p lang="en" dir="ltr">Section 1.5 uses the gutenbergr package to pull literary text. Unfortunately, the function doesn&#39;t get through our work firewall.</p>&mdash; Jeremy GH (@JGreenbrookHeld) 
  <a href="https://twitter.com/JGreenbrookHeld/status/912774476533719040?ref_src=twsrc%5Etfw">September 26, 2017</a>
</blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

Когда я просто добавляю HTML в середину документа, я получаю эту ошибку:

pandoc.exe: Could not fetch //platform.twitter.com/widgets.js
//platform.twitter.com/widgets.js: openBinaryFile: does not exist (No such file or directory)
Error: pandoc document conversion failed with error 67
In addition: Warning message:
running command '"C:/Program Files/RStudio/bin/pandoc/pandoc" +RTS -K512m -RTS test.utf8.md --to html --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash --output test.html --smart --email-obfuscation none --self-contained --standalone --section-divs --template "C:\Users\u772700\Documents\R\win-library\3.4\rmarkdown\rmd\h\default.html" --no-highlight --variable highlightjs=1 --variable "theme:bootstrap" --include-in-header "C:\Users\u772700\AppData\Local\Temp\RtmpK4i4dH\rmarkdown-str30e47033f51.html" --mathjax --variable "mathjax-url:https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"' had status 67 
Execution halted

Если я сначала оберну его в маркер кода ```, он будет заключать в кавычки html вместо его рендеринга.

1 ответ

Решение

Хотя одно из решений было указано в комментарии выше (добавьте протокол http:// к URL-адресу widget.js), я хочу упомянуть документацию blogdown, где я специально использовал встраивание твитов в качестве примера. Я не рекомендую вам использовать код для встраивания, предоставленный Twitter, но вместо этого используйте шорткод Hugo, который намного легче (хотя он по сути генерирует то же самое под капотом).

Другие вопросы по тегам