Skip to contents



  • Bare links in Markdown (e.g. <>) are no longer transformed to markdown-style links (e.g.  []( (issue: #59; fix: #115)
  • Inline math with single characters will no longer cause an error (issue: #101, fix: #103, 1)
  • Special control characters are now filtered out before processing XML (issue: #96, fix: #111, @zkamvar)
  • Documents with no trailing newline will no longer throw a warning (issue: #65; fix: #114, @zkamvar)


  • Testing code outside of test_that() has been removed (issue: #83, fix: #102,

tinkr 0.2.0

CRAN release: 2023-03-28


  • Empty YAML will not prepend with newline in {glue} (> 1.6.2). (#93, @jennybc)
  • Relative links whose text and anchor key are identical (e.g. footnotes) are no longer doubled in the output document (issue: #92, fix: #94)


  • New protect_curly() function will add a curly='true' attribute to text wrapped in curly braces (‘{’, ‘}’) to allow parsing of the XML for sending to external APIs. This function will also parse alt text and place it in an attribute.
  • New $protect_curly() method implements protect_curly() on yarn objects
  • Relative link anchor keys will no longer have characters escaped (#85).
  • unescaped square braces from the source code can now make the roundtrip without extra markup. This is implemented in a new default parameter for to_xml() called unescaped = TRUE, which indicates that you would like unescaped square braces to remain unescaped (#78).


  • removed dependency on stringr in favor of base R functions wrapped in internal functions with a stringr-like interface (#88).

tinkr 0.1.0

CRAN release: 2022-08-19

First version on CRAN


  • The stylesheets now are in the stylesheets/ path, not extdata/. If you have not used tinkr::stylesheet() to access the default stylesheet, you will need to modify your code.



  • 2022-03-23: added tasklist template for compatibility with commonmark version 1.8 (#66)


  • xml and yaml objects are now stored in an R6 class called yarn.
  • testthat edition 3 is now being used with snapshot testing.
  • Tables are now pretty after a full loop to_xml() + to_md() (@pdaengeli, #9)
  • 2021-05-04: yarn objects remember the sourcepos and encoding options when using the $reset() method.
  • 2021-05-06: protect_math() function and method protects LaTeX math (dollar notation) from escaping by commonmark (@zkamvar, #39).
  • 2021-05-06: GitHub-flavored markdown ticks/checkboxes are now protected by default (@zkamvar, #39).
  • 2021-05-11: md_ns() is a new convenience function to provide the md namespace prefix for commonmark xml documents (@zkamvar, #39).
  • 2021-05-11: stylesheet() returns the path to the internal {tinkr} stylesheet so that it can easily be discovered by other packages
  • 2021-05-11: yarn methods show(), head(), and tail() all gain stylesheet_path arguments so the modified stylesheets can be used.
  • 2021-05-24: reference style links (i.e. [text][link-ref] with [link-ref]: <link> on another place in the document will be preserved and the anchor will sink to the bottom of the document.
  • 2021-09-14: numeric options fig.width and fig.height will no longer be quoted; transform_params() is simplified and no longer requires glue.
  • 2021-10-15: math with embedded code and punctuation following are now allowed (@zkamvar #56)
  • 2021-10-18: links and asis nodes that are at the beginning of paragraphs are no longer escaped (@zkamvar, #58)
  • 2022-02-07: @zkamvar is now the maintainer


  • Added a file to track changes to the package.