Releases: yihui/litedown
litedown 0.9
-
Provided a new chunk option
filterto filter the output elements via a custom function. This makes it possible to re-order output elements. As a result, text output and plots from afor-loop can be interleaved (thanks, @reedacartwright, #106). -
The chunk option
attr.sourcewill default to.lang(wherelangis the engine name) only when it is not provided, i.e.,NULL. Previously the value.langwould still be used whenattr.sourcehas been provided. Now it's possible to completely override it, e.g.,attr.source = 'language-r'as in #107 (thanks, @ThomasSoeiro). -
The chunk option
collapse = TRUEalso applies to message blocks, including warnings, messages, and errors (thanks, @ThomasSoeiro, #108). -
pkg_desc()gained a new argumenttypeand the package description can be generated to either a table or a definition list now. -
The
embed_resourcesoption was buggy for deferred JS resources. Previously they were moved to<head>, but deferred scripts should be executed after the full DOM is ready, so they are moved before</body>instead if they are to be embedded. -
Fixed a bug in
pkg_manual()that may lead to omission of certain items when building TOC.
litedown 0.8
-
Added a new chunk option
fig.keepto select plots to be kept in a code chunk (thanks, @Gabrielforest, #99). See https://yihui.org/litedown/#sec:option-fig for documentation. -
Improved support for LaTeX footnotes. The footnote identifier no longer has to be a number, and the footnote can include arbitrary elements (not necessarily a single paragraph).
-
The chunk option
results = 'hide'will implycollapse = TRUE, i.e., when text output is hidden, the source blocks will be merged (thanks, @jangorecki, #87). -
fuse(text = '# text')will be treated as Markdown input instead of R code input (thanks, @chuxinyuan, #102). -
Fixed the bug that the chunk option
fig.pathdoes not work when it does not contain/(thanks, @J-Moravec, #88). -
get_context('full_input')gives the full path to the input file offuse()(thanks, @rikivillalba, #104).
litedown 0.7
-
pkg_manual()will exclude help pages with the keywordinternal(thanks, @TimTaylor, #78). -
pkg_news()will add links to Github users and issue numbers if the package is hosted on Github. -
Allow
,and.in superscripts and subscripts (thanks, @janlisec, #81). -
Special characters in bibliography entries such as
{\"u}can be correctly read now (thanks, @bastistician). -
Fixed a bug that inline code expressions (
`{lang} expr`) cannot be correctly located when the line has leading spaces that are not meaningful. -
Deleted vignettes
markdown-examplesandmarkdown-output. They are rendered on the package site now: https://git.yihui.org/litedown/examples/test-options.html
litedown 0.6
-
Added a Markdown rendering option
offlineto download web resources when this option is set to true, so that the HTML output can be viewed offline (thanks, @TimTaylor, #73). See https://yihui.org/litedown/#sec:offline for more info. -
Added a function
get_context()to query thefuse()context such as the input file path or the output format (thanks, @MichaelChirico #67, @vincentarelbundock #70). -
Added a function
raw_text()to output raw text content in a code chunk (thanks, @vincentarelbundock, #69). -
Dropped the chunk option
ref.labeland added a new chunk optionfill, which is more general (ref.label = "LABEL"can be achieved by`<LABEL>`inside a chunk). See https://yihui.org/litedown/#sec:option-fill for more information. -
Fixed a bug that
fuse()fails to print the error location when the whole input document consists of a single chunk that throws an error (thanks, @kevinushey, yihui/knitr#2387). -
fuse_book()will ignore YAML headers in book chapters except for the index chapter (thanks, @BSchamberger).
litedown 0.5
-
Added a wizard in
roam()to create new.Rmd/.md/.Rfiles with selected HTML features. -
Added a new engine
embedto embed text files via a code chunk. -
Changed the meaning of the chunk option
order: previously, higher values indicate earlier execution; now higher values indicate later execution. This is a breaking change, but the new meaning should feel more natural. For example,order = imeans to execute the chunk in the i-th step, andorder = i - 1.5means to move the chunk back 1.5 step in the queue so it will be executed earlier than its previous chunk. See https://yihui.org/litedown/#sec:option-order for details. -
Shortened the output format names
litedown::html_formattohtml, andlitedown::latex_formattolatex. The nameslitedown::*can still be used if you like. -
Added options
dollar,signif, andpowerto format numbers from inline code. See https://yihui.org/litedown/#sec:inline-code for details. -
When embedding SVG images in HTML output, embed their raw XML content instead of base64 encoding them.
-
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). -
Added support for the chunk option
fig.dim, which is a shortcut forfig.widthandfig.height. -
Added a new function
vest()as another way to add CSS/JS assets to HTML output. -
Provided templates and a Github action
yihui/litedown/siteto build package websites. See https://yihui.org/litedown/#sec:pkg-site for details. -
Added an argument
examplestopkg_manual()to run examples and show their output (thanks, @TimTaylor, #54). -
Fixed a bug that the default CSS wouldn't be added when a math expression exists on the page (thanks, @calvinw, #61).
-
Fixed a bug that cross-references to other chapters of a book could not be resolved when previewing a single chapter.
-
Fixed a bug that the file navigation by line numbers on code blocks stopped working in
litedown::roam()due to yihui/lite.js@5e06d19. -
Fixed a bug that
Rcode blocks could not be embedded when using prism.js for syntax highlighting (thanks, @TimTaylor, #53). -
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
Suggestsfield inDESCRIPTION. Previously, litedown allowedrmarkdown::render()to use the output formatslitedown::html_formatandlitedown::latex_format. Nowrmarkdown::render()is no longer supported, andlitedown::fuse()must be used instead.
litedown 0.4
-
Provided an option
options(litedown.roam.cleanup = TRUE)to clean up the*__files/directory after previewing.Rmdor.Rfiles vialitedown::roam()(thanks, @TimTaylor, #36). -
Added the keyboard shortcut
Ctrl + K(orCommand + Kon 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 checkon CRAN. -
Set
options(bitmapType = 'cairo')on macOS only whenxquartzis available (thanks, @TimTaylor, #39). 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 tocairois 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 whentextcontains markup (e.g., bold or italic).
litedown 0.3
-
Added a new engine
mdto 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
mermaidto 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
.Rmdand.Rfile links in thelitedown::roam()interface: previously, clicking on an.Rmdor.Rfilename 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-configto 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 usingquartzorXlib, and is also a safer option forfuse()to be executed in parallel (rstudio/rmarkdown#2561). -
Added a new vignette engine
litedown::bookto 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
authorfield in YAML is an array of length > 1, each author will be written to a separate<h2>in HTML output, or concatenated by\andin 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-methodsis changed tosec:intro-methods, andfig-nice-plotis 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-methodswill be resolved to@sec:intro-methodsif 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.asisnow. 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
h1headings has been changed fromsec:tochp:. For other levels of headings, the prefix is stillsec:. -
Provided a new option
embed_cleanupto clean up plot files that have been embedded in HTML output (thanks, @TimTaylor, #16). -
fuse()supports the output formatlitedown::markdown_formatnow, 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).
litedown 0.2
-
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.altis 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.altin your.Rprofile. -
Added the meta variable
plain-titlefor 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.csswill be resolved tohttps://cdn.jsdelivr.net/npm/@xiee/utils@X.Y.Z/css/default.css, whereX.Y.Zis the current latest version. This will make sure the HTML output containing jsdelivr resources is stable.
litedown 0.1
-
Initial CRAN release. This version still has some rough edges, and you are recommended to use the development version:
install.packages('litedown', repos = c('https://yihui.r-universe.dev', 'https://cloud.r-project.org'))