tôi cố gắng làm một blog bằng cách sử dụng bộ ba Jekyll, rmarkdown và github (như ở đây: http://yihui.name/knitr-jekyll/)blog với Jekyll, rmarkdown và github: làm thế nào để hiển thị hình ảnh
Tôi có tất cả .Rmd tôi trong _source, và tôi có vấn đề này đôi khi các ô được đan bằng hình ảnh cơ sở 64 và đôi khi được lưu trong thư mục hình.
Câu hỏi đầu tiên, tại sao?
Câu hỏi thứ hai: khi cốt truyện của tôi được lưu dưới dạng hình ảnh, đường dẫn trong html xuất hiện là hình/nguồn /. Biết rằng thư mục đích là/blog/(baseurl của tôi trong _config.yml), để làm cho nó hoạt động, nó phải là blog/figure/source.
Thật kỳ lạ, chúng được hiển thị cục bộ và khi tôi mở html bằng trình duyệt của mình. Nhưng khi tôi triển khai trang web của tôi trên github, hình ảnh không được hiển thị vì đường dẫn không chính xác.
Cách xác định đường dẫn đến/blog/hình thay vì/figure /?
Edit: các liên kết đến blog của tôi, vẫn còn trong phát triển: http://yvescr.github.io/
Nhưng RMD không xuất hiện trong các tài khoản github, như thư mục Tôi đồng bộ với github là file đích của hệ Jekyll.
_config.yml:
# Build settings
markdown: kramdown
baseurl: "/blog"
Trong R:
jekyll(dir = ".", input = "_source", output = "_posts", script = c("Makefile", "build.R")
, command = "jekyll build --destination ../blog")
build.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)
})
makefile:
all:
Rscript -e "servr::jekyll('..')"
clean:
rm -r ../blog/
Một liên kết đến repo github của bạn sẽ được đánh giá cao. –
Bạn có thể thêm liên kết vào tệp '_config.yml' của mình không? Nó không có trong repo GitHub của bạn và tôi không nghĩ rằng vấn đề có thể được giải quyết mà không có nó. Ngoài ra, lệnh chính xác mà bạn sử dụng để tạo trang web của mình sẽ được đánh giá cao. –
Tôi đã đặt build.r, makefile và _config.yml. Cảm ơn – YCR