我有一个repository,其中包含使用Bookdown
构建的一系列Rmd文件。在这些Rmd文件中,有一个对folder(也在存储库中)的图像的调用。如果我从master分支打开每个Rmd文件,则图像将正确呈现。但是,我尝试构建书籍,并使用gh-pages
将构建的书籍推送到Travis
分支(其中还包含图像文件夹),并使用Github页面,但是图像未呈现。生成的书是here。
要在Rmd文件中调用图像,我使用如下代码:
![**Fig. 0** Terminal en RStudio](./docs/non-plain/img/rstudio_terminal.png)
如果我检查生成的书中损坏的图像,则该路径包含我计算机的本地文件夹,鉴于Rmd文件中的所有路径都是相对路径,我对此并不十分了解。我也尝试使用此代码(在R代码块内)调用图像,但是它也不起作用:
knitr::include_graphics("/docs/non-plain/img/config_git.png")
我正在使用.travis.yml
(摘自Bookdown手册,它调用了_build.sh
和_deploy.sh
脚本。
。travis.yml
language: r
cache: packages
pandoc_version: 1.19.2.1
before_script:
- chmod +x ./_build.sh
- chmod +x ./_deploy.sh
script:
- ./_build.sh
- ./_deploy.sh
_ build.sh
#!/bin/sh
Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::gitbook')"
_ deploy.sh
#!/bin/sh
set -e
[ -z "${GITHUB_PAT}" ] && exit 0
[ "${TRAVIS_BRANCH}" != "master" ] && exit 0
git config --global user.email "email.com"
git config --global user.name "username"
git clone -b gh-pages https://${GITHUB_PAT}@github.com/${TRAVIS_REPO_SLUG}.git book-output
cd book-output
cp -r ../_book/* ./
git add --all *
git commit -m"Update the book" || true
git push -q origin gh-pages
我无法掌握我在做什么,以及为什么无法正确渲染图像。任何帮助表示赞赏。
一种解决方法是将github上图像的URL用作路径。
我在使用bookdown::render_book()
时遇到类似的问题,我认为这是因为图像路径相对于章节.Rmd文件是相对的,这些文件位于与index.Rmd不同的文件夹中