R Presentation reveal.js:复制文件后未显示背景图像

时间:2016-09-18 22:03:28

标签: r knitr r-markdown reveal.js

我使用rmarkdown和reveal.js-framework编写了一个R-presentation,它在很大程度上工作得很好,但是,如果我将输出文件(html文件)复制到另一个位置,所有背景图像都是不见了。 (如果我在同一文件夹中创建html文件的副本,它仍然有效)。使用<img> - 标记包含的图片仍会显示。

MWE看起来像这样:

presentation.rmd:

---
title: "A Test"
author: "tester"
date: "Today"
output:
  revealjs::revealjs_presentation:
    transition: slide
    theme: night
    highlight: espresso
    center: true
    self_contained: true
    reveal_options:
      slideNumber: true
      previewLinks: true
---

# <font color="black">Outline</font> {data-background="kitten.jpg"}

kitten.jpg - 文件显然可以是任何图片。如果我打开presentation.html(使用firefox)一切正常,如果我将presentation.html复制到桌面并再次打开它,所有背景图像都会消失。

关于导致错误的原因和解决方法的任何想法?

我的系统是:

sessionInfo()

R version 3.2.3 (2015-12-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.1 LTS

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=de_DE.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=de_DE.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=de_DE.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] rmarkdown_1.0 revealjs_0.7 

loaded via a namespace (and not attached):
[1] magrittr_1.5    htmltools_0.3.5 tools_3.2.3     Rcpp_0.12.7     stringi_1.1.1   stringr_1.1.0  
[7] digest_0.6.10   evaluate_0.9   

2 个答案:

答案 0 :(得分:2)

解决方法似乎是使用{.slide: id="Sec1"}代替然后在自定义CSS文件中添加背景

#Sec1 {
  background-image: url(kitten.jpg);
}

答案 1 :(得分:1)

问题是,当您复制presentation.html时,它在同一目录中查找kitten.jpg presentation.html。当我创建Rmd文档时,我将所有数字放在figures目录中,例如figures/kitten.jpg当我复制html文件时,我也会复制figures目录。

我确信有更好的解决方案,但这对我有用。