R 使用blogdown自动化站点构建
我正在尝试自动化blogdown网站的构建过程。R 使用blogdown自动化站点构建,r,blogdown,R,Blogdown,我正在尝试自动化blogdown网站的构建过程。 我有几个页面只需要更新yaml标题中的日期。 这些页面下载数据,然后生成更新的报告 我的问题是:当我手动更改日期并仅从工具栏上的“编辑”按钮编辑文件时,查看器窗口中的站点将有更新的文件并在内容页上显示其链接。 但当我进一步运行代码时,将呈现文件,但查看器(以及指向本地服务器的浏览器)将不再显示这些条目和文件 要在自动驾驶仪上运行站点更新,我需要添加什么 library(tidyverse) library(knitr) library(fs) l
我有几个页面只需要更新yaml标题中的日期。
这些页面下载数据,然后生成更新的报告 我的问题是:当我手动更改日期并仅从工具栏上的“编辑”按钮编辑文件时,查看器窗口中的站点将有更新的文件并在内容页上显示其链接。
但当我进一步运行代码时,将呈现文件,但查看器(以及指向本地服务器的浏览器)将不再显示这些条目和文件 要在自动驾驶仪上运行站点更新,我需要添加什么
library(tidyverse)
library(knitr)
library(fs)
library(here)
library(rmarkdown)
library(blogdown)
change_yaml_matter <- function(input_file, ..., output_file) {
input_lines <- readLines(input_file)
delimiters <- grep("^---\\s*$", input_lines)
if (!length(delimiters)) {
stop("unable to find yaml delimiters")
} else if (length(delimiters) == 1L) {
if (delimiters[1] == 1L) {
stop("cannot find second delimiter, first is on line 1")
} else {
# found just one set, assume it is *closing* the yaml matter;
# fake a preceding line of delimiter
delimiters <- c(0L, delimiters[1])
}
}
delimiters <- delimiters[1:2]
yaml_list <- yaml::yaml.load(
input_lines[ (delimiters[1]+1):(delimiters[2]-1) ])
dots <- list(...)
for (element_name in names(dots)){
if(element_name %in% names(yaml_list)) {
yaml_list[element_name] <- dots[element_name]
} else {
yaml_list <- c(yaml_list,dots[element_name])
}
}
output_lines <- c(
if (delimiters[1] > 0) input_lines[1:(delimiters[1])],
strsplit(yaml::as.yaml(yaml_list), "\n")[[1]],
input_lines[ -(1:(delimiters[2]-1)) ]
)
if (missing(output_file)) {
return(output_lines)
} else {
writeLines(output_lines, con = output_file)
return(invisible(output_lines))
}
}
dir_ls(
file.path(here(),"content","post")
) ->
content_dirs
content_dirs %>%
file.path("index.Rmd") ->
files_to_change
for (f in files_to_change){
change_yaml_matter(f,date=as.character(Sys.Date()),
output_file=f)
}
build_dir(file.path(
here(),"content")
)
build_site(local=TRUE,run_hugo=TRUE)
hugo_build()
库(tidyverse)
图书馆(knitr)
图书馆(财政司)
图书馆(这里)
图书馆(rmarkdown)
图书馆(博客下载)
改变事情