Provided an option
options(litedown.roam.cleanup = TRUE)
to clean up the
*__files/
directory after previewing .Rmd
or
.R
files via litedown::roam()
(thanks, @TimTaylor,
#36).
Added the keyboard shortcut Ctrl + K
(or
Command + K
on macOS) for rendering a file to disk in the
litedown::roam()
preview.
Cross-references also work for LaTeX output now.
Fixed an error in the internal function detect_pkg()
during R CMD check
on CRAN.
Set options(bitmapType = 'cairo')
on macOS only when
xquartz
is available. Previously only
capabilities('cairo')
was checked, which was not enough.
This option can also be manually set via
options(bitmapType)
in a code chunk if the automatic switch
to cairo
is not desired.
Fixed the bug that indented or quoted code blocks are not correctly indented or quoted when a code expression contains multiple lines.
Fixed the bug that the span syntax [text](){...}
doesn’t work when text
contains markup (e.g., bold or
italic).
Added a new engine md
to output Markdown text both
verbatim and as-is, which can be useful for showing Markdown examples,
e.g.,
```{md}
You can see both the _source_ and _output_ of
this `md` chunk.
```
`{md} the engine **inline**`. You can also use
Added a new engine mermaid
to generate Mermaid
diagrams, e.g.,
```{mermaid, fig.cap='A nice flowchart.'}
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
```
Added helper functions pkg_desc()
,
pkg_news()
, pkg_citation()
,
pkg_code()
, and pkg_manual()
to get various
package information for building the full package documentation as a
single-file book (thanks, @jangorecki @llrs #24, @TimTaylor #22).
LaTeX math environments such as equations can be numbered and cross-referenced now (thanks, @hturner, #32).
Section headings containing the class name “unlisted” will be excluded in the table of contents.
Provided a way to write <span>
with attributes
based on empty links, i.e., [text](){.class #id ...}
. The
empty URL here tells mark()
to treat the link as a
<span>
instead of <a>
.
Added back/forward/refresh/print buttons to the toolbar in the
litedown::roam()
preview interface.
Changed the behavior of .Rmd
and .R
file links in the litedown::roam()
interface: previously,
clicking on an .Rmd
or .R
filename will
execute them; now it will only show their content, because fully
executing the code may be expensive or even dangerous (especially when
the files were not authored by you). A new “Run” button has been
provided in the interface, on which you can click on to run a file in
memory and preview it (i.e., the old behavior of clicking on filenames).
You should use this button only if you trust the file.
Added the JS asset @mathjax-config
to enable equation numbering by default when the JS math library is set
to MathJax (thanks, @hturner, #32).
Set options(bitmapType = 'cairo')
in
fuse()
if capabilities('cairo')
is TRUE, which
will generate smaller bitmap plot files (e.g., .png
) than
using quartz
or Xlib
, and is also a safer
option for fuse()
to be executed in parallel
(rstudio/rmarkdown#2561).
Added a new vignette engine litedown::book
to make
it possible to build multiple vignettes into a book. To use this engine,
declare \VignetteEngine{litedown::book}
only in the book
index file (e.g., index.Rmd
) but not in other book chapter
files.
Added support for an array of multiple authors in the YAML
metadata (thanks, @AlbertLei, #28). If the
author
field in YAML is an array of length > 1, each
author will be written to a separate <h2>
in HTML
output, or concatenated by \and
in LaTeX output. Note that
you can also write multiple authors in a single string (e.g.,
author: "Jane X and John Y"
) instead of using an array
(author: ["Jane X", "John Y"]
), in which case the string
will be treated as a single author (they will be put inside a single
<h2>
in HTML output).
Fixed the bug that the leading -
, +
, or
*
in a LaTeX math expression was recognized as the bullet
list marker, which would invalidate the math expression (thanks, @hturner, #33).
Changed the first -
to :
in
automatically generated element IDs, including section, figure, and
table IDs, e.g., the ID sec-intro-methods
is changed to
sec:intro-methods
, and fig-nice-plot
is
changed to fig:nice-plot
. You can still use -
when manually assigning IDs to elements, e.g.,
# Intro Methods {#sec-intro-methods}
. For backward
compatibility, cross-references using -
will be resolved if
the :
version of the ID can be found, e.g.,
@sec-intro-methods
will be resolved to
@sec:intro-methods
if the former cannot be found but the
latter can.
Fixed a bug that when LaTeX math environments are written in raw
LaTeX blocks (i.e., ```{=latex}
), mark()
will
not load the math JS library such as MathJax or KaTeX unless
$ $
or $$ $$
expressions are present in the
document.
As-is output accepts attributes via the chunk option
attr.asis
now. If provided, as-is output will be wrapped in
a fenced Div with these attributes.
Numeric output from inline code will no longer be formatted if
the value is wrapped in I()
.
The prefix for the automatic IDs of h1
headings has
been changed from sec:
to chp:
. For other
levels of headings, the prefix is still sec:
.
Provided a new option embed_cleanup
to clean up plot
files that have been embedded in HTML output (thanks, @TimTaylor,
#16).
fuse()
supports the output format
litedown::markdown_format
now, which generates the
intermediate Markdown from R Markdown without further rendering Markdown
to other formats. Using this output format is equivalent to
fuse(..., output = '.md')
or
fuse(..., output = 'markdown')
(thanks, @mikmart, #35).
A data frame (or matrix/tibble) wrapped in I()
is
fully printed to a table now by default. Without I()
, data
objects are truncated to 10 rows by default when printing to
tables.
When options(litedown.fig.alt = TRUE)
and the chunk
option fig.alt
is unset, fuse()
will emit
reminders about the missing alt text for code chunks containing plots
(thanks, @TimTaylor, #23). Providing alt text can
improve the accessibility of images in HTML output. To avoid omitting
the alt text inadvertently, you can set the option
litedown.fig.alt
in your .Rprofile
.
Added the meta variable plain-title
for HTML output,
which is the plain version of the document title (i.e., without HTML
tags), and used in the <title>
tag.
Check boxes from - [ ] ...
are no longer disabled in
HTML output.
The implicit latest version of jsdelivr resources will be
resolved to an explicit version, e.g.,
https://cdn.jsdelivr.net/npm/@xiee/utils/css/default.css
will be resolved to
https://cdn.jsdelivr.net/npm/@xiee/utils@X.Y.Z/css/default.css
,
where X.Y.Z
is the current latest version. This will make
sure the HTML output containing jsdelivr resources is stable.