# Supporting Functions for Packages Maintained by 'Yihui Xie'

## Documentation for package ‘xfun’ version 0.37

- DESCRIPTION file.
- User guides, package vignettes and other documentation.

## Help Pages

A B C D E F G I J L M N O P R S T U V W misc

## -- A --

alnum_id | Generate ID strings
append_unique | Read / write files encoded in UTF-8
append_utf8 | Read / write files encoded in UTF-8
as_strict_list | Strict lists
attr | Obtain an attribute of an object without partial matching

## -- B --

base64_decode | Encode/decode data into/from base64 encoding.
base64_encode | Encode/decode data into/from base64 encoding.
base64_uri | Generate the Data URI for a file
base_pkgs | Get base R package names
bg_process | Start a background process
broken_packages | Find out broken packages and reinstall them
bump_version | Bump version numbers

## -- C --

cache_rds | Cache the value of an R expression to an RDS file
compare_Rcheck | Run 'R CMD check' on the reverse dependencies of a package
crandalf_check | Submit check jobs to crandalf
crandalf_results | Submit check jobs to crandalf

## -- D --

del_empty_dir | Delete an empty directory
dir_create | Create a directory recursively by default
dir_exists | Test the existence of files and directories
download_file | Try various methods to download a file
do_once | Perform a task once in an R session

## -- E --

embed_dir | Embed a file, multiple files, or directory on an HTML page
embed_file | Embed a file, multiple files, or directory on an HTML page
embed_files | Embed a file, multiple files, or directory on an HTML page
existing_files | Find file paths that exist
exit_call | Call 'on.exit()' in a parent function

## -- F --

file_exists | Test the existence of files and directories
file_ext | Manipulate filename extensions
file_string | Read a text file and concatenate the lines by "\n"
format_bytes | Format numbers of bytes using a specified unit
from_root | Get the relative path of a path in a project relative to the current working directory

## -- G --

github_api | Get data from a REST API
github_releases | Get the tags of Github releases of a repository
grep_sub | Perform replacement with 'gsub()' on elements matched from 'grep()'
gsub_dir | Search and replace strings in files
gsub_ext | Search and replace strings in files
gsub_file | Search and replace strings in files
gsub_files | Search and replace strings in files

## -- I --

install_dir | Install a source package from a directory
install_github | An alias of 'remotes::install_github()'
in_dir | Evaluate an expression under a specified working directory
is_abs_path | Test if paths are relative or absolute
is_arm64 | Test for types of operating systems
is_ascii | Check if a character vector consists of entirely ASCII characters
is_blank | Test if a character vector consists of blank strings
is_linux | Test for types of operating systems
is_macos | Test for types of operating systems
is_rel_path | Test if paths are relative or absolute
is_sub_path | Test if a path is a subpath of a dir
is_unix | Test for types of operating systems
is_web_path | Test if a path is a web path
is_windows | Test for types of operating systems

## -- J --

json_vector | A simple JSON serializer

## -- L --

loadable | Attach or load packages, and automatically install missing packages if requested

## -- M --

magic_path | Find a file or directory under a root directory
mark_dirs | Mark some paths as directories
msg_cat | Generate a message with 'cat()'

## -- N --

n2w | Convert numbers to English words
native_encode | Try to use the system native encoding to represent a character vector
news2md | Convert package news to the Markdown format
normalize_path | Normalize paths
numbers_to_words | Convert numbers to English words

## -- O --

optipng | Run OptiPNG on all PNG files under a directory

## -- P --

parse_only | Parse R code and do not keep the source
pkg_attach | Attach or load packages, and automatically install missing packages if requested
pkg_attach2 | Attach or load packages, and automatically install missing packages if requested
pkg_available | Attach or load packages, and automatically install missing packages if requested
pkg_load | Attach or load packages, and automatically install missing packages if requested
pkg_load2 | Attach or load packages, and automatically install missing packages if requested
print.xfun_raw_string | Print a character vector in its raw form
print.xfun_strict_list | Strict lists
process_file | Read a text file, process the text with a function, and write the text back
proc_kill | Kill a process and (optionally) all its child processes
proj_root | Return the (possible) root directory of a project
prose_index | Find the indices of lines in Markdown that are prose (not code blocks)
protect_math | Protect math expressions in pairs of backticks in Markdown

## -- R --

raw_string | Print a character vector in its raw form
Rcmd | Run the commands 'Rscript' and 'R CMD'
read_all | Read all text files and concatenate their content
read_bin | Read all records of a binary file as a raw vector by default
read_utf8 | Read / write files encoded in UTF-8
relative_path | Get the relative path of a path relative to a directory
rename_seq | Rename files with a sequential numeric prefix
rest_api | Get data from a REST API
rest_api_raw | Get data from a REST API
retry | Retry calling a function for a number of times
rev_check | Run 'R CMD check' on the reverse dependencies of a package
root_rules | Return the (possible) root directory of a project
Rscript | Run the commands 'Rscript' and 'R CMD'
Rscript_call | Call a function in a new R session via 'Rscript()'
rstudio_type | Type a character vector into the RStudio source editor

## -- S --

same_path | Test if two paths are the same after they are normalized
sans_ext | Manipulate filename extensions
session_info | An alternative to sessionInfo() to print session information
set_envvar | Set environment variables
shrink_images | Shrink images to a maximum width
sort_file | Read a text file, process the text with a function, and write the text back
split_lines | Split a character vector by line breaks
split_source | Split source lines into complete expressions
strict_list | Strict lists
submit_cran | Submit a source package to CRAN
system3 | Run 'system2()' and mark its character output as UTF-8 if appropriate

## -- T --

tinify | Use the Tinify API to compress PNG and JPEG images
tinify_dir | Use the Tinify API to compress PNG and JPEG images
tojson | A simple JSON serializer
tree | Turn the output of 'str()' into a tree diagram
try_error | Try an expression and see if it throws an error
try_silent | Try to evaluate an expression silently

## -- U --

upload_ftp | Upload to an FTP server via 'curl'
upload_win_builder | Upload to an FTP server via 'curl'
url_accessible | Test if a URL is accessible
url_filename | Extract filenames from a URLs

## -- V --

valid_syntax | Check if the syntax of the code is valid

## -- W --

with_ext | Manipulate filename extensions
write_utf8 | Read / write files encoded in UTF-8

## -- misc --

$.xfun_strict_list | Strict lists