%infix% operators, brackets, the package before ::.make_runnable(): stamp already rendered HTML pages (R Markdown, bookdown, pkgdown) with the one tag that makes their R blocks runnable; idempotent, assets = "local" copies the runtime beside the pages.First CRAN submission. What changed from the package that shipped with the CarmaR desktop releases:
install_app(),
uninstall_app() and upgrade() are gone; the desktop application is a
separate product from https://lacarm.com/carmar/.run() never contacts the network. The update check it used to make on
every start is gone.listen(site = NULL, port = 4747, open = FALSE): a headless kernel on a
fixed port for a published page, with the site approved in advance. It
returns a one-row carmar_listener data frame and never moves ports; a
port held by something else is an error of class carmar_port_taken.
run_published() is now a thin alias of listen().use_publishing() returns a one-row carmar_publishing data frame instead
of a list, and writes the carmar: options block (port, label) into
_quarto.yml when the file has none.check_publishing(site = "_site"): one row per rendered page with the
port, the label and whether the runtime assets are beside it.stop_kernel("all") returns a data.frame(port, stopped).carmar_bad_site,
carmar_port_taken, carmar_no_start, carmar_no_page, carmar_no_site,
carmar_no_extension, ...).