R blogdown 无法找到图像文件
R blogdown fails to find image files
我有一个使用 blogdown 制作的工作网站。今天我试图重建网站,这是几个月来的第一次,但我遇到了错误,因为它显然找不到我的图片。
为了制作 reprex,我制作了一个新项目,并选择了 "website with blogdown" 选项并采用了所有默认值。使用 blogdown::serve_site() 构建的网站没有问题。我把一张名为x.png的图片放到静态目录下,并添加:
```{r x, fig.cap='x', tidy=FALSE}
knitr::include_graphics("x.png")
```
进入 2015-07-23-r-rmarkdown.Rmd 文件。当我告诉它 blogdown:::serve_site() 我得到:
Error in knitr::include_graphics("x.png") :
Cannot find the file(s): "x.png"
Calls: local ... withCallingHandlers -> withVisible -> eval -> eval -> <Anonymous>
Execution halted
然后我尝试使用 "Addins" 菜单添加图像并选择 Insert Image
并将其指向文件。它复制了文件并将预期的降价写入 2015-07-23-r-rmarkdown.Rmd:
![](/post/2015-07-23-r-rmarkdown_files/x.png)
抛出了这个错误:
pandoc: /post/2015-07-23-r-rmarkdown_files/x.png: openBinaryFile: does not exist (No such file or directory)
Error: pandoc document conversion failed with error 1
Execution halted
关于到底哪里出了问题有什么想法吗?
> sessionInfo()
R version 3.6.2 (2019-12-12)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Catalina 10.15.3
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] Rcpp_1.0.3 later_1.0.0 compiler_3.6.2 pillar_1.4.3
[5] prettyunits_1.1.1 tools_3.6.2 digest_0.6.25 packrat_0.5.0-25
[9] pkgbuild_1.0.6 jsonlite_1.6.1 evaluate_0.14 lifecycle_0.2.0
[13] tibble_2.1.3 gtable_0.3.0 pkgconfig_2.0.3 rlang_0.4.5
[17] cli_2.0.2 rstudioapi_0.11 parallel_3.6.2 yaml_2.2.1
[21] blogdown_0.18 xfun_0.12 loo_2.2.0 gridExtra_2.3
[25] stringr_1.4.0 dplyr_0.8.4 knitr_1.28 tidyselect_1.0.0
[29] stats4_3.6.2 grid_3.6.2 glue_1.3.1 inline_0.3.15
[33] R6_2.4.1 processx_3.4.2 fansi_0.4.1 rmarkdown_2.1
[37] bookdown_0.18 rstan_2.19.3 servr_0.16 purrr_0.3.3
[41] magrittr_1.5 callr_3.4.2 ggplot2_3.3.0 promises_1.1.0
[45] matrixStats_0.55.0 scales_1.1.0 ps_1.3.2 StanHeaders_2.21.0-1
[49] htmltools_0.4.0 rsconnect_0.8.16 assertthat_0.2.1 mime_0.9
[53] colorspace_1.4-1 httpuv_1.5.2 stringi_1.4.6 munsell_0.5.0
[57] crayon_1.3.4
> rmarkdown::pandoc_version()
[1] ‘2.7.3’
使用插件的第二种方法:你不应该编写这个 RMD 文件。如果你只是使用插件 "serve site" 它会按预期工作。当然,如果你编织它就不会起作用,因为文件被复制到"static/post/...."并且你的RMD文件在"content/post/..."
试着把你的图片放在 de "content/post" 里面。您可以使用插件 "new post" 并为每个 post "content/post/my_incredible_post" 创建一个子目录,然后您的文件将全部在同一个地方。然后你可以使用:
knitr::include_graphics("x.png")
和
![](x.png)
这是我如何组织博客的示例 post:
site/content/blog/veterans/
包含我的博客 post 作为 index.md
site/content/blog/veterans/gallary
包含我在博客 post 中使用的图片。
要在博客post中调用我的图片,我使用![png](./gallery/uspop.png)
如果它和我的博客post在同一个目录下,我会使用![png](./uspop.png)
如果有帮助,您可以查看我的 GitHub 存储库:
https://github.com/datasurfergtx/site/tree/master/content/blog/veterans
谢谢大家。我原来的网站需要添加 "error = FALSE" 选项。我认为由于 knitr 1.28 中的更改,此代码失败:
knitr::include_graphics("/post/2019-12-10-installing-r-rstudio-on-windows_files/marginWin.png")
但这行得通:
knitr::include_graphics("/post/2019-12-10-installing-r-rstudio-on-windows_files/marginWin.png", error = FALSE)
我在做reprex的时候引入了第二个问题。叹气... include_graphics() 调用中的路径需要以 /
开头
我有一个使用 blogdown 制作的工作网站。今天我试图重建网站,这是几个月来的第一次,但我遇到了错误,因为它显然找不到我的图片。
为了制作 reprex,我制作了一个新项目,并选择了 "website with blogdown" 选项并采用了所有默认值。使用 blogdown::serve_site() 构建的网站没有问题。我把一张名为x.png的图片放到静态目录下,并添加:
```{r x, fig.cap='x', tidy=FALSE}
knitr::include_graphics("x.png")
```
进入 2015-07-23-r-rmarkdown.Rmd 文件。当我告诉它 blogdown:::serve_site() 我得到:
Error in knitr::include_graphics("x.png") :
Cannot find the file(s): "x.png"
Calls: local ... withCallingHandlers -> withVisible -> eval -> eval -> <Anonymous>
Execution halted
然后我尝试使用 "Addins" 菜单添加图像并选择 Insert Image
并将其指向文件。它复制了文件并将预期的降价写入 2015-07-23-r-rmarkdown.Rmd:
![](/post/2015-07-23-r-rmarkdown_files/x.png)
抛出了这个错误:
pandoc: /post/2015-07-23-r-rmarkdown_files/x.png: openBinaryFile: does not exist (No such file or directory)
Error: pandoc document conversion failed with error 1
Execution halted
关于到底哪里出了问题有什么想法吗?
> sessionInfo()
R version 3.6.2 (2019-12-12)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Catalina 10.15.3
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] Rcpp_1.0.3 later_1.0.0 compiler_3.6.2 pillar_1.4.3
[5] prettyunits_1.1.1 tools_3.6.2 digest_0.6.25 packrat_0.5.0-25
[9] pkgbuild_1.0.6 jsonlite_1.6.1 evaluate_0.14 lifecycle_0.2.0
[13] tibble_2.1.3 gtable_0.3.0 pkgconfig_2.0.3 rlang_0.4.5
[17] cli_2.0.2 rstudioapi_0.11 parallel_3.6.2 yaml_2.2.1
[21] blogdown_0.18 xfun_0.12 loo_2.2.0 gridExtra_2.3
[25] stringr_1.4.0 dplyr_0.8.4 knitr_1.28 tidyselect_1.0.0
[29] stats4_3.6.2 grid_3.6.2 glue_1.3.1 inline_0.3.15
[33] R6_2.4.1 processx_3.4.2 fansi_0.4.1 rmarkdown_2.1
[37] bookdown_0.18 rstan_2.19.3 servr_0.16 purrr_0.3.3
[41] magrittr_1.5 callr_3.4.2 ggplot2_3.3.0 promises_1.1.0
[45] matrixStats_0.55.0 scales_1.1.0 ps_1.3.2 StanHeaders_2.21.0-1
[49] htmltools_0.4.0 rsconnect_0.8.16 assertthat_0.2.1 mime_0.9
[53] colorspace_1.4-1 httpuv_1.5.2 stringi_1.4.6 munsell_0.5.0
[57] crayon_1.3.4
> rmarkdown::pandoc_version()
[1] ‘2.7.3’
使用插件的第二种方法:你不应该编写这个 RMD 文件。如果你只是使用插件 "serve site" 它会按预期工作。当然,如果你编织它就不会起作用,因为文件被复制到"static/post/...."并且你的RMD文件在"content/post/..."
试着把你的图片放在 de "content/post" 里面。您可以使用插件 "new post" 并为每个 post "content/post/my_incredible_post" 创建一个子目录,然后您的文件将全部在同一个地方。然后你可以使用:
knitr::include_graphics("x.png")
和
![](x.png)
这是我如何组织博客的示例 post:
site/content/blog/veterans/
包含我的博客 post 作为 index.md
site/content/blog/veterans/gallary
包含我在博客 post 中使用的图片。
要在博客post中调用我的图片,我使用![png](./gallery/uspop.png)
如果它和我的博客post在同一个目录下,我会使用![png](./uspop.png)
如果有帮助,您可以查看我的 GitHub 存储库: https://github.com/datasurfergtx/site/tree/master/content/blog/veterans
谢谢大家。我原来的网站需要添加 "error = FALSE" 选项。我认为由于 knitr 1.28 中的更改,此代码失败:
knitr::include_graphics("/post/2019-12-10-installing-r-rstudio-on-windows_files/marginWin.png")
但这行得通:
knitr::include_graphics("/post/2019-12-10-installing-r-rstudio-on-windows_files/marginWin.png", error = FALSE)
我在做reprex的时候引入了第二个问题。叹气... include_graphics() 调用中的路径需要以 /
开头