如何使用datacamp的教程包在xaringan slides中插入R练习?
How to use datacamp's tutorial package to insert R exercises in xaringan slides?
我最近发现 DataCamp's tutorial package 通过在 DataCamp 的学习界面中打开代码块,使 R Markdown 文档中的代码块具有交互性。我使用 tutorial::build_example()
生成了一个示例文件并对其进行编译以查看呈现的 html 文件的外观。它按预期工作。因为我想在 xaringan
幻灯片中使用此功能,所以我将 output: html_document
更改为 output: xaringan::moon_reader
,现在我看到了:
我想知道为什么这在 xaringan
幻灯片中失败了,我该如何解决?
tutorial
适用于 rmarkdown 的 html_document
格式,其行为不同于 xaringan。我认为绕道而行并尝试通过 tutorial
包让它工作是不值得的。
最终,您只需要编写一些 HTML 并嵌入 datacamp-light.js:
设置一个包含 JS
的 HTML 文件
dc.html
<script async='async' src='https://cdn.datacamp.com/dcl-react.js.gz'></script>
并将其包含在您的 xaringan 项目的 YAML header 中:
.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 键盘快捷键,因此您想禁用它们。
我最近发现 DataCamp's tutorial package 通过在 DataCamp 的学习界面中打开代码块,使 R Markdown 文档中的代码块具有交互性。我使用 tutorial::build_example()
生成了一个示例文件并对其进行编译以查看呈现的 html 文件的外观。它按预期工作。因为我想在 xaringan
幻灯片中使用此功能,所以我将 output: html_document
更改为 output: xaringan::moon_reader
,现在我看到了:
我想知道为什么这在 xaringan
幻灯片中失败了,我该如何解决?
tutorial
适用于 rmarkdown 的 html_document
格式,其行为不同于 xaringan。我认为绕道而行并尝试通过 tutorial
包让它工作是不值得的。
最终,您只需要编写一些 HTML 并嵌入 datacamp-light.js:
设置一个包含 JS
的 HTML 文件dc.html
<script async='async' src='https://cdn.datacamp.com/dcl-react.js.gz'></script>
并将其包含在您的 xaringan 项目的 YAML header 中:
.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 键盘快捷键,因此您想禁用它们。