通过travis生成书中图像的路径

问题描述 投票:2回答:1

我有一个repository,其中包含使用Bookdown构建的一系列Rmd文件。在这些Rmd文件中,有一个对folder(也在存储库中)的图像的调用。如果我从master分支打开每个Rmd文件,则图像将正确呈现。但是,我尝试构建书籍,并使用gh-pages将构建的书籍推送到Travis分支(其中还包含图像文件夹),并使用Gi​​thub页面,但是图像未呈现。生成的书是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

我无法掌握我在做什么,以及为什么无法正确渲染图像。任何帮助表示赞赏。

r r-markdown travis-ci bookdown
1个回答
0
投票

一种解决方法是将github上图像的URL用作路径。

我在使用bookdown::render_book()时遇到类似的问题,我认为这是因为图像路径相对于章节.Rmd文件是相对的,这些文件位于与index.Rmd不同的文件夹中

© www.soinside.com 2019 - 2024. All rights reserved.