test_that("show_list() will isolate elements", {
path <- system.file("extdata", "show-example.md", package = "tinkr")
y <- tinkr::yarn$new(path, sourcepos = TRUE)
links <- xml2::xml_find_all(y$body, ".//md:link", tinkr::md_ns())
headings <- xml2::xml_find_all(y$body, ".//md:heading", tinkr::md_ns())
code <- xml2::xml_find_all(y$body, ".//md:code", tinkr::md_ns())
blocks <- xml2::xml_find_all(y$body, ".//md:code_block", tinkr::md_ns())
# show a list of items
expect_snapshot(show_user(show_list(links), force = TRUE))
expect_snapshot(show_user(show_list(code), force = TRUE))
expect_snapshot(show_user(show_list(blocks), force = TRUE))
})
test_that("show_list() will isolate groups of elements", {
path <- system.file("extdata", "show-example.md", package = "tinkr")
y <- tinkr::yarn$new(path, sourcepos = TRUE)
links <- xml2::xml_find_all(y$body, ".//md:link", tinkr::md_ns())
headings <- xml2::xml_find_all(y$body, ".//md:heading", tinkr::md_ns())
# show a list of items
expect_snapshot(show_user(show_list(list(links, headings)), force = TRUE))
})
test_that("show_censor() will show a censored list of disparate elements", {
path <- system.file("extdata", "show-example.md", package = "tinkr")
y <- tinkr::yarn$new(path, sourcepos = TRUE)
pth <- c("*[6]", "*[9]/*[2]", "*[9]/*[3]")
nodes <- purrr::map(pth, function(p) {
xml2::xml_find_all(y$body, p)
})
expect_length(nodes, 3)
# the censor option can be adjusted
withr::local_options(list(
tinkr.censor.mark = ".",
tinkr.censor.regex = "[^[:space:]]"
)
)
disp <- show_censor(nodes)[1:29]
expect_snapshot(show_user(disp, force = TRUE))
})
test_that("show_censor() will censor elements", {
path <- system.file("extdata", "show-example.md", package = "tinkr")
y <- tinkr::yarn$new(path, sourcepos = TRUE)
items <- xml2::xml_find_all(y$body, ".//md:item", tinkr::md_ns())
links <- xml2::xml_find_all(y$body, ".//md:link", tinkr::md_ns())
code <- xml2::xml_find_all(y$body, ".//md:code", tinkr::md_ns())
blocks <- xml2::xml_find_all(y$body, ".//md:code_block", tinkr::md_ns())
# give us the original for comparison
orig <- y$show()
n <- length(orig) - length(y$frontmatter) + 1
# the censor option can be adjusted
withr::local_options(list(
tinkr.censor.mark = ".",
tinkr.censor.regex = "[^[:space:]]"
)
)
lnks <- show_censor(links)
cd <- show_censor(code)
blks <- show_censor(blocks)
# the length of the documents are identical
expect_length(lnks, n)
expect_length(cd, n)
expect_length(blks, n)
expect_snapshot(show_user(lnks, force = TRUE))
expect_snapshot(show_user(cd, force = TRUE))
expect_snapshot(show_user(blks, force = TRUE))
})
test_that("tinkr.censor.regex can adjust for symbols", {
path <- system.file("extdata", "show-example.md", package = "tinkr")
y <- tinkr::yarn$new(path, sourcepos = TRUE)
items <- xml2::xml_find_all(y$body, ".//node()[not(self::md:code_block)]",
tinkr::md_ns())
# the censor option can be adjusted
withr::local_options(list(
tinkr.censor.mark = "A",
tinkr.censor.regex = "[^[:space:][:punct:]]"
)
)
itms <- show_censor(items)
# the length of the documents are identical
# give us the original for comparison
orig <- y$show()
n <- length(orig) - length(y$frontmatter) + 1
expect_length(itms, n)
expect_snapshot(show_user(itms, force = TRUE))
})
test_that("show_block() will provide context for the elements", {
path <- system.file("extdata", "show-example.md", package = "tinkr")
y <- tinkr::yarn$new(path, sourcepos = TRUE)
items <- xml2::xml_find_all(y$body, ".//md:item", tinkr::md_ns())
links <- xml2::xml_find_all(y$body, ".//md:link", tinkr::md_ns())
code <- xml2::xml_find_all(y$body, ".//md:code", tinkr::md_ns())
blocks <- xml2::xml_find_all(y$body, ".//md:code_block", tinkr::md_ns())
# show the items in the structure of the document
b_items <- show_block(items)
b_links <- show_block(links)
expect_snapshot(show_user(b_items, force = TRUE))
expect_snapshot(show_user(b_links, force = TRUE))
# show the items with context markers ([...]) in the structure of the document
bmark_links <- show_block(links, mark = TRUE)
bmark_code <- show_block(code, mark = TRUE)
expect_snapshot(show_user(bmark_links, force = TRUE))
expect_snapshot(show_user(bmark_code, force = TRUE))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.