0

我使用 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>

incremental在我的 YAML 中,和的值self-contained分别设置为 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,但我很困惑。任何帮助深表感谢。

4

1 回答 1

0

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

学分:克里斯托夫·德维厄

问题在于 RStudio Connect 如何处理YAML 标头revealjs中选项的约束。self_contained

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

我还没有尝试过的建议解决方法是在本地服务器上构建幻灯片,然后发布文件夹和文件(HTML + 资源),而不是让 RStudio Connect 尝试渲染降价。

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

于 2021-09-29T22:44:15.027 回答