highlight()
no longer errors if a package imputed to have been attached
isn't installed.
Correctly link requireNamespace(MASS)
(#151).
Supports new base pipe |>
syntax (#126).
Every line get its own <span>
to match pandoc (#122).
Multi-line tokens (e.g. strings) now get a <span>
per line (#139).
Very long strings or other tokens are no longer truncated (@dmurdoch, #128).
Function calls (in inline and code blocks) will no longer to non-function topics (#135).
Re-exports detection no longer relies on name of .Rd
file (#134).
Link to correct topic with ::()
and utils::help()
(@IndrajeetPatil, #131).
Generate correct link for Bioconductor vignettes (@zeehio, #145)
Messages, warnings, and errors now get a much more minimal style. Messages are styled the same way as output; and warnings and errors only style the "Warning" or "Error" text. This makes these types of output easier to read, and easier for package developers to style themselves.
Messages, warnings, and errors now retrieve their text using
conditionMessage()
, which supports more advanced types of conditions
(@davidchall, #100).
The overall structure of the syntax highlighting has been overhauled.
Now each line is wrapped in a <span>
with class r-in
(input code),
r-out
(output printed to console), r-plot
(plots), r-msg
(messages),
r-wrn
(warnings), and r-err
(errors). Additionally, the prompt (#>
)
is wrapped in a <span class="r-pr">
. Altogether, these changes
should give much more flexibility for styling with CSS (#90).
ANSI escapes no longer generate invalid HTML (#79).
Changes to better support for HTML widgets and rgl in pkgdown
(@dmurdoch, #78). In particular, evaluate_and_highlight()
now returns
an additional attribute containing all extra dependencies needed to render
the returned HTML.
Packages attached when you call library(package)
(including by the
tidyverse), are now taken into account when autolinking (#87).
In code blocks, custom infix operators are now autolinked (#89).
In inline code, infix operators are no longer autolinked; this lead to too
many false positives. You can still link with (e.g.) ?"-"
(#86).
Inline calls with arguments (e.g. foo(1, 2)
) are no longer auto-linked,
as intended and documented (#82).
Autolinking vignette(foo, package = "pkg")
no longer errors if pkg
is not
installed (#85).
Unusual help calls (e.g. help(a$b)
), no longer generate errors (#77).
Rare warning about incomplete final line in autolink_url("pkgname::foo")
is now suppressed (@dmurdoch, pkgdown#1419).
href_package()
is now exported (#103).
Auto-linking is more likely to succeed when the remote package is not
installed as downlit now looks for the URL using tools::CRAN_package_db()
for CRAN packages, and and available.packages()
for packages installed
from non-CRAN repos (@ARawles, #108).
Functions in HTML <summary>
elements are no longer autolinked
(@gadenbuie, #105).
When auto-linking vignette(foo)
, downlit now looks for a vignette named
foo in the packages it knows to be attached (#61).
Can now force highlighting of any <pre>
by wrapping it inside a <div>
with class = "downlit"
. This is useful in cases where it may otherwise
be hard to set the class of the <pre>
.
In comments, \u2029
is converted to \033
to make it possible to preserve
ANSI escapes when passed through xml2.
No longer errors on library calls with named but empty arguments.
Autolinking can use metadata stored in package itself with pkgdown setting
deploy.install_metadata
; this is useful for packages that only have
private websites (@matthewstrasiotto, #29)
Autolinking guesses reference and article urls for pkgdown sites that haven't set url (@krlmlr, #44).
R6 classes are autolinked when a new object is created i.e. in
r6_object$new()
, r6_object
will link to its docs (#59, @maelle).
R6 methods are no longer autolinked as if they were functions of the same name (#54, @maelle).
classes_pandoc()
and classes_chroma()
have been thoroughly revieweed to
produce syntax highlighting as similar as possible to RStudio.
downlit_html_path()
has a more flexible XPath identifying R code blocks,
and a classes
argument (#53, @maelle, @cderv)
NEWS.md
file to track changes to the package.