-
-
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
VignetteEngine{knitr::knitr} cannot open file script src prism-core.min.js #2254
Comments
This could be a bug in base R. Here is a minimal reproducible example: x = '\U0001F60E abc'
m = gregexpr('a', x)
regmatches(x, m) It should return |
Should be fixed in the markdown package now: if (packageVersion('markdown') < '1.6.3')
install.packages('markdown', repos = c('https://rstudio.r-universe.dev', 'https://cloud.r-project.org')) |
thanks! |
My understanding with Emoji character and more generally multibyte character is that x = '\U0001F60E abc'
m = gregexpr('a', x, useBytes = TRUE)
regmatches(x, m)
#> [[1]]
#> [1] "a" Not sure it is a bug. Anyway, using |
Thanks! My understanding is that an emoji character is not necessarily one character, which makes it tricky to deal with. I've had some pain with this some time ago in JavaScript. It seems that R core tends to discourage using |
Oh good to know ! thank you for the blog post |
Yihui Xie (11): start the next version change license to MIT rewrite readme typo the <link> tag doesn't need to be closed typo: slides.css -> snap.css close #100: don't check the file extension of the `file` argument of mark(); simply treat it as file if the file exists and the value is not from I() convert roxygen docs to markdown fix yihui/knitr#2254: use PCRE in embed_resources() in case there are emojis in text perl = TRUE is the default in match_replace() now CRAN release v1.7
# CHANGES IN markdown VERSION 1.7 - The `file` argument of `mark()` will be treated as a file path only if the file exists and the value is not wrapped in `I()`. Previously, it would be treated as a file path when it has a file extension, which could lead to confusing errors like #100 (thanks, @LukasWallrich). - When there are emojis in the text, `mark()` may fail to identify and embed web resources (thanks, @tdhock, yihui/knitr#2254). # CHANGES IN markdown VERSION 1.6 - Added support for footnotes, fenced `Div`s, section numbers, `{}` attributes for images/headings/fenced `Div`s, and appendices. See `vignette('intro', package = 'markdown')` for details. - A lot of enhancements to the HTML slides format. See `vignette('slides', package = 'markdown')` for details. - Added `vignette('article', package = 'markdown')` to demonstrate how to write an HTML article. - If the input to `mark()` is a file, the output will also be a file by default. Previously the output would be text. If you want `mark()` to return text output when the input is a file, you may specify the argument `output = NULL`. - The Markdown option `base64_images` has been renamed to `embed_resources`. This option can take two possible values, `"local"` and `"https"`, meaning whether to embed local and/or web (https) resources. You can specify none, either, or both of them. See `vignette('intro', package = 'markdown')` for details. - Removed the option `standalone` from the list of Markdown options. Please use the argument `template = TRUE/FALSE` of `mark()` instead. The option `standalone = TRUE` was equivalent to `template = TRUE`. - Added the option `auto_identifiers` (enabled by default) to automatically add IDs to headings, e.g., `# Hello world!` will be converted to `<h1 id="hello-world">Hello world!</h1>`. You can certainly override the automatic ID by providing an ID manually via the `{#id}` attribute, e.g., `# Hello world! {#hello}`. - Renamed the `mathjax` option to `js_math` to allow for other JS math libraries. The default library was changed from MathJax to KaTeX. To continue using MathJax, you may set `js_math: mathjax`. - Removed the option `mathjax_embed` from the list of Markdown options. To embed the MathJax library, enable `"https"` in the `embed_resources` option instead. Note that only MathJax v3 can be partially embedded, and lower versions cannot. - Renamed the option `highlight_code` to `js_highlight`, and added support for an alternative syntax highlighting JS library Prism.js, which became the default. To continue using the old default `highlight.js`, you may set the `js_highlight` option to `highlight`. - The default version of MathJax has been changed from v2 to v3. - The default version of highlight.js has been changed from 11.6.0 to 11.7.0, and the default style has been switched from `github` to `xcode`.
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. |
By filing an issue to this repo, I promise that
xfun::session_info('knitr')
. I have upgraded all my packages to their latest versions (e.g., R, RStudio, and R packages), and also tried the development version:remotes::install_github('yihui/knitr')
.I understand that my issue may be closed if I don't fulfill my promises.
Hi @yihui first of all thanks for this wonderful package, which I find very useful.
I have a package on CRAN that uses VignetteEngine{knitr::knitr} to build a vignette, and it recently started failing CRAN checks with the following message (on windows only). https://cloud.r-project.org/web/checks/check_results_nc.html
The issue seems to happen only on windows, and only if the Rmd file has a code chunk that prints emoji.
I expected that it should be possible on windows to render an Rmd that has a code chunk that prints emoji, or at least that there should be a more informative error message, like "Rmd with code chunks that print emoji is not supported on windows, but v1-capture-first.Rmd has a code chunk that prints emoji, please remove."
Based on the error message above and the fact that it only occurs on windows, I suspect that a fix to this vignette builder on your end would entail changing some usage of file.path / backslash separator, to a forward slash.
On my end (user who is trying to build a vignette) a fix is to change VignetteEngine{knitr::knitr} to VignetteEngine{knitr::rmarkdown}.
Code to reproduce issue is below,
The output I got on my system is below,
Thanks again and hope this helps.
Toby
The text was updated successfully, but these errors were encountered: