Skip to content

Commit

Permalink
Revert "Fix up knitr paths relative to the output directory" from r-l…
Browse files Browse the repository at this point in the history
…ib#2502

This reverts commit 5703b34.
  • Loading branch information
cderv committed Apr 30, 2024
1 parent d95b548 commit 9bdd04f
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 25 deletions.
3 changes: 1 addition & 2 deletions R/rmarkdown.R
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,7 @@ render_rmarkdown <- function(pkg, input, output, ..., seed = NULL, copy_images =
update_html(
path,
tweak_rmarkdown_html,
output_dir = path_dir(output_path),
input_dir = path_dir(input_path),
input_path = path_dir(input_path),
pkg = pkg
)
}
Expand Down
25 changes: 3 additions & 22 deletions R/tweak-page.R
Original file line number Diff line number Diff line change
Expand Up @@ -37,38 +37,19 @@ tweak_page <- function(html, name, pkg = list(bs_version = 3)) {
}
}

tweak_rmarkdown_html <- function(html, input_dir, output_dir, pkg = list(bs_version = 3)) {
tweak_rmarkdown_html <- function(html, input_path, pkg = list(bs_version = 3)) {
# Tweak classes of navbar
toc <- xml2::xml_find_all(html, ".//div[@id='tocnav']//ul")
xml2::xml_attr(toc, "class") <- "nav nav-pills nav-stacked"

# Make sure all images use relative paths
img <- xml2::xml_find_all(html, "//img")
src <- xml2::xml_attr(img, "src")

# Drop the logo and any inline images
is_ok <- !grepl("^data:", src) & xml2::xml_attr(img, "class", default = "") != "logo"
img <- img[is_ok]
src <- src[is_ok]

# Fix up absoluate paths to be relative to input_dir
abs_src <- is_absolute_path(src)
if (any(abs_src)) {
purrr::walk2(
img[abs_src],
path_rel(src[abs_src], input_dir),
xml2::xml_set_attr,
attr = "src"
)
}

# Fix up paths that are relative to input_dir instead of output_dir
output_dir <- path_real(output_dir)
input_abs_path <- purrr::map_chr(src, ~ path_abs(., input_dir))
up_path <- !abs_src & path_has_parent(input_abs_path, output_dir)
if (any(up_path)) {
purrr::walk2(
img[up_path],
path_rel(path_abs(src[up_path], input_dir), output_dir),
path_rel(src[abs_src], input_path),
xml2::xml_set_attr,
attr = "src"
)
Expand Down
2 changes: 1 addition & 1 deletion tests/testthat/test-tweak-page.R
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ test_that("h1 section headings adjusted to h2 (and so on)", {
<h1>2</h1>
</div>
")
tweak_rmarkdown_html(html, input_dir = ".", output_dir = ".")
tweak_rmarkdown_html(html)
expect_equal(xpath_text(html, ".//h1"), "Title")
expect_equal(xpath_text(html, ".//h2"), c("1", "2"))
expect_equal(xpath_text(html, ".//h3"), "1.1")
Expand Down

0 comments on commit 9bdd04f

Please sign in to comment.