#r #xaringan
#r #xaringan
Вопрос:
Недавно я наткнулся на обучающий пакет DataCamp, который делает фрагменты кода в документе R Markdown интерактивными, открывая фрагменты кода в обучающем интерфейсе DataCamp. Раньше я tutorial::build_example()
генерировал файл примера и компилировал его, чтобы посмотреть, как выглядит отображаемый HTML-файл. Это работает, как и ожидалось. Поскольку я хотел использовать эту функцию в xaringan
слайдах, я изменил output: html_document
на output: xaringan::moon_reader
и теперь я вижу это:
Мне интересно, почему это не удается на xaringan
слайдах и как я могу это исправить?
Ответ №1:
tutorial
предназначен для работы с html_document
форматом rmarkdown, который ведет себя иначе, чем xaringan. Я думаю, что не стоит беспокоиться о том, чтобы обойти и попытаться заставить его работать с помощью tutorial
пакета.
В конечном счете, вам просто нужно написать некоторый HTML и внедрить datacamp-light.js:
Настройте HTML-файл, который включает JS
dc.html
<script async='async' src='https://cdn.datacamp.com/dcl-react.js.gz'></script>
и включите его в заголовок YAML вашего проекта xaringan:
.Rmd
output:
xaringan::moon_reader:
css: ["customtheme.css"]
includes:
in_header: "dc.html"
Затем вы можете писать интерактивные упражнения, Используя те же SCT и т. Д., Но Используя фрагменты HTML:
---
## DC
<div data-datacamp-exercise data-lang='r' data-height = 320>
<code data-type="sample-code">
set.seed(123)
# draw the winning numbers for this week
</code>
<code data-type="solution">
set.seed(123)
# draw the winning numbers for this week
sample(1:49, size = 6)
</code>
<code data-type="sct">
test_function("sample", args = c("x","size"))
</code>
</div>
Обратите внимание, что ввод кода будет мешать работе сочетаний клавиш xaringan, поэтому вы хотите отключить их.