Skip to content

Releases: yihui/litedown

litedown v0.4

06 Nov 22:56
Compare
Choose a tag to compare
  • 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 (thanks, @TimTaylor, #39). 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).

litedown v0.3

16 Oct 22:20
Compare
Choose a tag to compare
  • 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(), 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).

litedown 0.2

09 Sep 02:10
Compare
Choose a tag to compare
  • 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.

litedown 0.1

21 Aug 15:12
Compare
Choose a tag to compare
  • 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'))