gpt4 book ai didi

r - 使用 jekyll、rmarkdown 和 github : how to display images 写博客

转载 作者:行者123 更新时间:2023-12-04 21:11:02 24 4
gpt4 key购买 nike

我尝试使用三重奏 jekyll、rmarkdown 和 github 写博客(如下: http://yihui.name/knitr-jekyll/ )

我的所有 .Rmd 都在 _source 中,我遇到了这个问题,有时这些图是在 base 64 图像中编织的,有时保存在图形文件夹中。

第一个问题,为什么?

第二个问题:当我的情节被保存为图像时,html中的路径似乎是图/源/。知道目标文件夹是/blog/(我在 _config.yml 中的 baseurl),要使其工作,它应该是 blog/figure/source。

奇怪的是,它们在本地显示,当我用浏览器打开 html 时。
但是当我在 github 上部署我的网站时,图像没有显示,因为路径不正确。

如何定义/blog/figure 而不是/figure/的路径?

编辑:我博客的链接,仍在开发中:
http://yvescr.github.io/

但是Rmd并没有出现在github账户中,因为我和github同步的文件夹是jekyll生成的目标文件。

_config.yml:

# Build settings
markdown: kramdown
baseurl: "/blog"

在 R 中:
jekyll(dir = ".", input = "_source", output = "_posts", script = c("Makefile", "build.R")
, command = "jekyll build --destination ../blog")

构建.r:
local({
# fall back on '/' if baseurl is not specified
baseurl = servr:::jekyll_config('.', 'baseurl', '/')
knitr::opts_knit$set(base.url = baseurl)
# fall back on 'kramdown' if markdown engine is not specified
markdown = servr:::jekyll_config('.', 'markdown', 'kramdown')
# see if we need to use the Jekyll render in knitr
if (markdown == 'kramdown') {
knitr::render_jekyll()
} else knitr::render_markdown()

# input/output filenames are passed as two additional arguments to Rscript
a = commandArgs(TRUE)
d = gsub('^_|[.][a-zA-Z]+$', '', a[1])
knitr::opts_chunk$set(
fig.path = sprintf('blog/figure/%s/', d),
cache.path = sprintf('cache/%s/', d)
)

knitr::opts_knit$set(width = 70)
knitr::knit(a[1], a[2], quiet = TRUE, encoding = 'UTF-8', envir = .GlobalEnv)
})

生成文件:
all:
Rscript -e "servr::jekyll('..')"

clean:
rm -r ../blog/

最佳答案

我解决了我的问题,我把它贴在这里以防人们有同样的问题:

R 中的 jekyll() 函数使用 knitr(我认为)编译 .md(在 _post)中的 .rmd(在 _source 中),然后调用 jekyll 命令。

在这里,我的问题是,当我更改 _config.yml 文件时,通过修改路径,不会重新创建 .md,因此不会更改路径。

为了使它工作,我必须手动删除 _source 中的 .md 然后重新运行 jekyll() 函数。

关于图像,当我使用没有缓存的 rmarkdown 时,它们被编译为 64 个图像。

使用缓存,knitr 在文件夹中创建图像。

关于r - 使用 jekyll、rmarkdown 和 github : how to display images 写博客,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34444843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com