-
Notifications
You must be signed in to change notification settings - Fork 324
Open
Labels
featurea feature request or enhancementa feature request or enhancementnextto consider for next releaseto consider for next release
Description
For context, this is from a question by @gadenbuie
I’m working on a workshop page with blogdown where I have regular posts in content/... and slides in static/slides/. I have a custom build script to build the slides (since they’re a little complicated). I’d like blogdown to watch for changes in both content/ and static/ but to use my R/build.R script to render the slides rather than trying to render the .Rmd files individually. Is this possible?
Ideally, this would be
serve_site()- modify a file
- site rebuild -> calls R/build.R at the end
Current workaround is
options(
blogdown.knit.on_save = FALSE,
blogdown.method = "custom"
)
.serve_site <- function() {
check_and_rebuild <- function() {
if (Sys.getenv("BLOGDOWN_SERVING_DIR", "") == "") {
message("blogdown is no longer serving the site, not watching for changes")
return()
}
changed <- blogdown:::filter_timestamp(blogdown:::list_rmds(c("content", "static")))
if (length(changed)) {
blogdown::build_site(build_rmd = 'timestamp')
}
later::later(check_and_rebuild, delay = 5)
}
blogdown::serve_site()
check_and_rebuild()
}This should be possible to have this behavior built in, meaning whether to automatically knit Rmd under static/ on save
Metadata
Metadata
Assignees
Labels
featurea feature request or enhancementa feature request or enhancementnextto consider for next releaseto consider for next release