-
-
Notifications
You must be signed in to change notification settings - Fork 878
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch to commonmark markdown #1329
Comments
Thanks for the suggestion! I'll take a look. I think the markdown package will be retired eventually. |
Hi Yihui! Could you please revisit this? The markdown package relies on a version of sundown that is very old and no longer maintained. At Google, we're treating this as a security issue. We're in a bit of a tough spot:
Since both involve non-trivial amounts of work, it would be nice to know what approach you would prefer. Best wishes, |
@michaelquinn32 Yes, I'll remove the dependency on markdown. It may take at least a couple of weeks. The trickiest thing will be package vignettes on CRAN. Due to the huge number of reverse dependencies of knitr, I'll have to be extremely cautious to make this transition. Thanks! |
That's amazing to hear! Thank you. Let me know if there's anything I can do to help you out. |
… use xfun::base64_uri() instead of the unexported markdown:::.b64EncodeFile() this is the first step to get rid of the dependency on the markdown package (#1329)
Hi @michaelquinn32, I heard that you were planning to work on this issue by yourself, and I just want to let you know that we also plan to work on it on our end. I don't have an ETA yet, but my estimate is that it should be done in about two months. If this issue is urgent to you, please feel to let me know and we can certainly prioritize it. Thanks! |
Thanks for the update! There's no need to adjust your prioritization. I'll let you know how things go on my end, and I'm really looking forward to seeing this fixed! |
Following. I'm very interested in this change as markdown is GPL-2. |
@rickyars Do you mean that you can't use packages licensed under GPL-2? I'm not entirely sure if I'll be able to change the license of the markdown package. |
Yes. We can't mix code that uses GPL-2 and GPL-3 if we plan to redistribute our work open source. Right now I have some Shiny apps that use |
What I meant are:
It sounds like 1 will solve your problem? |
Yes, thank you! |
Just for reference regarding ☝️
This is followed in #1864 |
Cool. The commonmark package is now part of the r-lib organization: https://github.com/r-lib/commonmark |
Although this is no longer tightly relevant to knitr, I've retired the C library |
# CHANGES IN markdown VERSION 1.5 - Values of meta variables `title`, `author`, and `date` (if provided) will be transformed to the target output format before they are passed into templates. - Fixed the bug that the default CSS was not added to HTML output. - Removed dependency on the **mime** package. - Added experimental support for HTML slides: `markdown::mark_html(..., meta = list(css = c('default', 'slides'), js = 'slides'))`. If you prefer knitting `Rmd` documents in RStudio, you may use the output format: ```yaml output: markdown::html_format: meta: css: [default, slides] js: [slides] ``` See https://yihui.org/en/2023/01/minimal-r-markdown/ for a demo. # CHANGES IN markdown VERSION 1.4 - Empty `\title{}` in LaTeX output will be removed (along with `\maketitle`). - highlight.js is loaded from https://www.jsdelivr.com/package/gh/highlightjs/cdn-release by default now. This means more languages are supported (not only R), but also means syntax-highlighting will not work offline at the moment (it will be improved in future). - MathJax failed to load in the previous version. The bug has been fixed now. - Removed the function `markdownExtensions()`. # CHANGES IN markdown VERSION 1.3 - Switched the underlying Markdown rendering engine from the C library **sundown** (which has been deprecated for a decade) to the R package **commonmark** (thanks, @jeroen, yihui/knitr#1329). - The functions `renderMarkdown()` and `markdownToHTML()` have been renamed to `mark()` and `mark_html()`, respectively. The old names are still kept in this package for backward-compatibility. - Removed the arguments `stylesheet` and `fragment.only` in `mark_html()`. For `stylesheet`, please use the argument `meta = list(css = ...)` to provide the CSS stylesheet. For `fragment.only`, please use `mark_html(template = FALSE)` or `mark_html(options = '-standalone')` instead of `fragment.only = TRUE`. Currently these old arguments are still accepted internally, but may be deprecated and dropped in the long run. - The `file` argument of `mark()` and `mark_html()` can also take a character vector of Markdown text now. - Removed functions `rendererExists()`, `rendererOutputType()`, and `registeredRenderer()`. They were primarily for internal use. - Deprecated the function `markdownExtensions()`. All extensions should be specified via the `options` argument of functions like `mark()`, e.g., `mark(options = '+table+tasklist')`. See all options on the help page `?markdown::markdown_options`. - Renamed `markdownHTMLOptions()` to `markdown_options()`. # CHANGES IN markdown VERSION 1.2 - Fixed the warnings "a function declaration without a prototype is deprecated in all versions of C" (#94).
This old thread has been automatically locked. If you think you have found something related to this, please open a new issue by following the issue guide (https://yihui.org/issue/), and link to this old issue if necessary. |
The new version of
commonmark
uses the Github fork of the libcmark library, providing fast and standardized markdown rendering, including support for Github Flavored Markdown extensions (tables, autolinks, strikethough).Maybe it could be a better alternative to
markdown::markdownToHTML
.The text was updated successfully, but these errors were encountered: