-
Empty table headers are removed in HTML output (they may be generated from data frames or matrices without column names).
-
Added support for the chunk option
collapse = TRUE
(thanks, @J-Moravec, #40). -
pkg_manual()
will point out the name of the problematic Rd file when the Rd file fails to convert to HTML (thanks, @BSchamberger). -
Dropped knitr and rmarkdown from the
Suggests
field inDESCRIPTION
. Previously, litedown allowedrmarkdown::render()
to use the output formatslitedown::html_format
andlitedown::latex_format
. Nowrmarkdown::render()
is no longer supported, andlitedown::fuse()
must be used instead.
-
Provided an option
options(litedown.roam.cleanup = TRUE)
to clean up the*__files/
directory after previewing.Rmd
or.R
files vialitedown::roam()
(thanks, @TimTaylor, #36). -
Added the keyboard shortcut
Ctrl + K
(orCommand + K
on macOS) for rendering a file to disk in thelitedown::roam()
preview. -
Cross-references also work for LaTeX output now.
-
Fixed an error in the internal function
detect_pkg()
duringR CMD check
on CRAN. -
Set
options(bitmapType = 'cairo')
on macOS only whenxquartz
is available. Previously onlycapabilities('cairo')
was checked, which was not enough. This option can also be manually set viaoptions(bitmapType)
in a code chunk if the automatic switch tocairo
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 whentext
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. ``` You can also use `{md} the engine **inline**`.
-
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()
, andpkg_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 tellsmark()
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 thelitedown::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')
infuse()
ifcapabilities('cairo')
is TRUE, which will generate smaller bitmap plot files (e.g.,.png
) than usingquartz
orXlib
, and is also a safer option forfuse()
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 IDsec-intro-methods
is changed tosec:intro-methods
, andfig-nice-plot
is changed tofig: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 fromsec:
tochp:
. For other levels of headings, the prefix is stillsec:
. -
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 formatlitedown::markdown_format
now, which generates the intermediate Markdown from R Markdown without further rendering Markdown to other formats. Using this output format is equivalent tofuse(..., output = '.md')
orfuse(..., output = 'markdown')
(thanks, @mikmart, #35).
-
A data frame (or matrix/tibble) wrapped in
I()
is fully printed to a table now by default. WithoutI()
, data objects are truncated to 10 rows by default when printing to tables. -
When
options(litedown.fig.alt = TRUE)
and the chunk optionfig.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 optionlitedown.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 tohttps://cdn.jsdelivr.net/npm/@xiee/[email protected]/css/default.css
, whereX.Y.Z
is the current latest version. This will make sure the HTML output containing jsdelivr resources is stable.
- Initial CRAN release.