Skip to content
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

print the full url when running litedown::roam() #29

Closed
AlbertLei opened this issue Sep 30, 2024 · 1 comment
Closed

print the full url when running litedown::roam() #29

AlbertLei opened this issue Sep 30, 2024 · 1 comment

Comments

@AlbertLei
Copy link

The docs claim:

run litedown::roam() and it will launch a file browser to let
you preview everything...

This feature works in RStudio, but it seems to apply to RStudio only?

When I run litedown::roam() in the vscode R terminal, a file browser is not launched automatically. Even worse, the console prints nothing, with no error/warning info.

Suggestion: Print the full url (seems to be http://127.0.0.1:xxxxx/custom/litedown/) when running roam()

@yihui
Copy link
Owner

yihui commented Sep 30, 2024

I haven't tried vscode, but the roam() preview is definitely not tied to RStudio. What you saw was a bug, which I just fixed. You can install the development version of xfun via

install.packages('xfun', repos = 'https://yihui.r-universe.dev')

Then restart R. Make sure packageVersion('xfun') >= '0.47.6').


I don't know if vscode has a viewer pane like RStudio. If it does, I wonder if browseURL() would open a URL in that pane.

P.S. To see the value of roam(), you can explicitly print() it, or wrap it in () (e.g., (litedown::roam())), or check .Last.value after running litedown::roam().

clrpackages pushed a commit to clearlinux-pkgs/R-xfun that referenced this issue Oct 15, 2024
Arnaud Gallou (1):
      Remove `installed.packages()` usage and call `tools::standard_package_names()` instead (#91)

Yihui Xie (27):
      start the next version
      add .r and .rmd to the mimemap
      let [] return NULL instead of list()
      take advantage of the `bytes` argument of tools::md5sum() if available: wch/r-source@c91b845
      add a function mime_type(), which doesn't have to depend on the mime package, because MIME types could be obtained from system commands
      need to add System.Web before using the class
      it's also possible to call the `file` command on Windows (if Cygwin or Rtools is installed)
      if the mime type returned from command line doesn't appear to be valid, don't cache it but issue a warning instead
      use tools:::mime_type() if possible, and leave command-line as the last resort
      fix yihui/litedown#29: call browseURL() to open the app (getOptions('browser') is not a function in a normal R session outside RStudio)
      fix yihui/litedown#30: keep guess_type() until the next release of litedown
      follow the suggestion at yihui/litedown#30 (comment) to print the URL of the app (unless open = FALSE)
      partially revert 5557263bfd064efcfe7f241f094f8e5b73e427c8: base64_uri() no longer requires the mime package
      the mime package is no longer required
      add a method record_print.record_asis(), which is an identity function
      rename .ps1 to .txt to bypass the security scan on certain platforms (sigh...)
      add tests for .mime_cmd()
      make sure the powershell script is tested on windows
      not sure who is dumber
      revert fa1e0f15dec0f63bd648cf5afb50132691e2fe70: the URL is an implementation detail, and based on private API, so probably should be hidden from users by default; if they really want to see the URL, they should explicitly print it
      add new functions html_tag(), html_value(), html_escape(), and html_view() and remove dependency on htmltools
      add a function file_rename() for rstudio/bookdown#804
      add tests for file_rename()
      remove dependency on {markdown}, and switch to litedown
      url redirect
      just get rid of this URL since I trip on it every time I submit to CRAN
      CRAN release v0.48
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Oct 26, 2024
# CHANGES IN xfun VERSION 0.48

- Added utilities for HTML tags: `html_tag()`, `html_escape()`,
  `html_escape()`, and `html_view()`. Removed the soft dependency on
  the **htmltools** package accordingly.

- `base_pkgs()` is faster now: it calls
  `tools::standard_package_names()` if the function exists (R >=
  4.4.0), otherwise it just returns a constant vector of base package
  names (thanks, @arnaudgallou, #91).

- Added a function `mime_type()` to obtain the MIME types of files via
  `mime::guess_type()` if **mime** is installed, otherwise it will
  call `tools:::mime_type()`, and fall back to using a system command
  (e.g., `file --mime-type`) to obtain the types.

- Added a function `file_rename()` to deal with `file.rename()`
  failures by calling `file.copy()` (thanks, @Giqles @katrinabrock,
  rstudio/bookdown#804).

- `new_app()` will use `utils::browseURL()` to open the app if
  `options('viewer')` is not configured (thanks, @AlbertLei,
  yihui/litedown#29).

- Added a method `record_print.record_asis()` to return the object as is.

# CHANGES IN xfun VERSION 0.47

- Added functions `lazy_save()` and `lazy_load()` to save objects to
  files and lazy-load them.

- Fixed a bug in `record(dev = svglite::svglite)` that misplaced plots
  when low-level plot functions are used (thanks, @liao961120,
  yihui/litedown#17).

- Specified the lowest R version required (v3.2.0) for this package.

# CHANGES IN xfun VERSION 0.46

- `md_table()` should add a vertical ellipsis to row names when rows
  are truncated by the `limit` argument.

- `session_info()` recognizes Positron now (thanks, @chuxinyuan, #89).

# CHANGES IN xfun VERSION 0.45

- For `record()` with `verbose = 1` or `2`, invisible `NULL` is no
  longer printed.

- `Rscript_call()` will show the actual error message (if an error
  occurred) during calling the function in a new R session.

# CHANGES IN xfun VERSION 0.44

- Added a function `cache_exec()` to cache the execution of an
  expression either in memory or on disk. It is much more general and
  flexible than `cache_rds()`. For example, it supports custom
  reading/writing methods for cache files, and can load locally
  created variables in the expression while loading cache.

- Added an argument `cache` to `record()` to make it possible to enable caching.

- Added arguments `message` and `warning` to `record()` to decide
  whether messages and warnings should be recorded.

- Changed the default value of the argument `error` of `record()` from
  `FALSE` to `NA`. Now `FALSE` means to suppress error messages, and
  `NA` means to throw errors normally. This is for consistency with
  the `message` and `warning` arguments.

- Added an S3 generic function `record_print()`, which is similar to
  `knitr::knit_print()` but for the purpose of printing visible values
  in `record()`.

- The `record()` function gained new arguments `print` and
  `print.args` to support custom printing functions and arguments.

- Added a function `md_table()`, which is a minimal Markdown table
  generator.

- Exported the internal function `md5()` to calculate the MD5
  checksums of R objects. The function is essentially a workaround for
  `tools::md5sum()` (see HenrikBengtsson/Wishlist-for-R#21).

- For `fenced_block()`, a space is added between the backticks and the
  language name, e.g., ```` ```r ```` has become ```` ``` r ````
  now. This will affect snapshot tests based on Markdown ([an
  example](yihui/knitr-examples@931e0a2)).

- Added a shorthand `fenced_div()` for `fenced_block(char = ':')`.

- `write_utf8()` returns the `con` argument (typically a file path)
  now. Previously, it returns `NULL`.

- Added an experimental function `new_app()` to create a local web application.

- The returned value of `yaml_body()` contains a new element `lines`
  in the list indicating the line numbers of YAML metadata if exists.

- Removed the `skip` argument from `split_source()`.

- For `split_source(line_number = TRUE)`, the attribute name for line
  numbers in the returned value was changed from `line_start` (a
  single starting line number) to `lines` (both the starting and
  ending numbers).

- Fixed an edge case in `prose_index()`, in which inline code was
  incorrectly recognized as a code block fence.

# CHANGES IN xfun VERSION 0.43

- Added a function `upload_imgur()`, which was adapted from
  `knitr::imgur_upload()`. The latter will call the former in the
  future. `xfun::upload_imgur()` allows users to choose whether to use
  the system command `curl` or the R package **curl** to upload the
  image. It also has a new argument `include_xml` to specify whether
  the XML response needs to be included in the returned value.

- Added a function `fenced_block()` to create a fenced block in
  Markdown (thanks, @cderv, yihui/knitr#2331). The block can be either
  a code block or a fenced Div.

- Fixed a bug in `xfun::record()` when the argument `verbose = 1` or `2`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants