使用插件将 RevealJS 演示文稿发布到 RStudio Connect?

Publishing a RevealJS presentation to RStudio Connect with plugins?

我使用 JJ Allaire 的 revealjs 包(版本 0.9)开发了演示文稿,在 RStudio IDE(版本 1.4.1103.4,平台:x86_64-redhat-linux-gnu(64 位),R 版本 3.6 中没有出现问题.0)。但是,如果我添加插件,使用源代码发布到 RStudio Connect 时会出现以下错误。

Error in (function (incremental = FALSE, center = FALSE, slide_level = 2, :
04/03 14:25:02.921 (GMT)
Using reveal_plugins requires self_contained: false
04/03 14:25:02.921 (GMT)
Calls: local ... <Anonymous> -> create_output_format -> do.call -> <Anonymous>

incrementalself-contained 的值在我的 YAML 中分别设置为 TRUE 和 FALSE,所以这个错误对我来说没有意义。看来我有两个选择可以成功发布:

  1. 有插件,无源码
  2. 有源码,无插件

我在下面包含了一个简单的源代码示例。

---
title: "My Title"
author: "Author Name"
date:  "`r Sys.Date()`"
output:
  revealjs::revealjs_presentation:
    incremental: true
    self_contained: false
    reveal_plugins: ["notes", "chalkboard", "menu"]
link-citations: yes
---

## Slide 1

- Bullet 1
- Bullet 2

我真的很喜欢revealjs,但是我很困惑。非常感谢任何帮助。

回到我收到的针对我在此处发布的 GH 问题的(转述的)答案:https://github.com/rstudio/revealjs/issues/86

图片来源:Christoph Dervieux

问题在于 RStudio Connect 如何处理 YAML header.

self_contained 选项的 revealjs 约束

使用插件时,self_contained 必须设置为 FALSE。但是,RStudio Connect 在发布到服务器时强制执行 self_contained: true。 RStudio Connect 将在服务器上呈现文档,但没有提及它还在 Markdown 的 YAML header 中覆盖了 self_contained 设置,在幕后将 self_contained: FALSE 更改为 self_contained: TRUE。这解释了为什么插件在本地工作,但在发布到服务器时却不能。

我尚未尝试过的建议解决方法是在本地服务器上构建幻灯片,然后发布文件夹和文件(HTML + 资源)与尝试使用 RStudio Connect呈现降价。

现在,我很高兴使用插件在本地呈现我的幻灯片。将添加带有任何新信息的评论。但就目前而言,这个问题似乎得到了解答。