This function creates a new 'Quarto' project directory with additional froggeR
features. It first calls quarto::quarto_create_project()
to set up the
basic structure, then enhances it with froggeR-specific files and settings.
Usage
quarto_project(name, path = here::here(), custom_yaml = TRUE)
Arguments
- name
Character string. The name of the 'Quarto' project directory and initial
.qmd
file.- path
Character string. Path to the project directory.
- custom_yaml
Logical. If TRUE (default), uses a custom YAML header in the initial
.qmd
file, populated with values from '_variables.yml'. If FALSE, uses a standard YAML header.
Details
This function creates a 'Quarto' project with the following enhancements:
_variables.yml
: Stores reusable YAML variables (ifcustom_yaml = TRUE
).gitignore
: Enhanced settings for R projectsREADME.md
: Template README filedated_progress_notes.md
: For project progress trackingcustom.scss
: Custom 'Quarto' styling (ifcustom_yaml = TRUE
).Rproj
: RStudio project file
If froggeR settings don't exist, it will prompt to create them.
Examples
if (quarto::quarto_version() >= "1.4") {
# Create a temporary directory for testing
tmp_dir <- tempdir()
# Create the Quarto project with custom YAML & associated files
quarto_project("frogs", path = tempdir(), custom_yaml = TRUE)
# Confirms files were created (optional, for user confirmation)
file.exists(file.path(tmp_dir, "frogs.rproj")) # Rproj file
file.exists(file.path(tmp_dir, "frog.qmd")) # Quarto doc
file.exists(file.path(tmp_dir, "_quarto.yml")) # project YAML file
# Create a new Quarto project with standard Quarto YAML
# quarto_project('frogs_standard', path = tempdir(), custom_yaml = FALSE)
# Clean up: Remove the created temp directory and all files
unlink(list.files(tempdir(), full.names = TRUE), recursive = TRUE)
}
#> ✔ Created Quarto project directory: frogs
#> ✔ Created _variables.yml
#> ✔ Created custom.scss
#> ✔ Created .gitignore
#> ✔ Created README.md
#> ✔ Created dated_progress_notes.md
#> ✖ No global froggeR config file found
#> ✔ Created frogs.qmd with custom YAML
#> ✔ Created frogs.Rproj
#> ✔ froggeR project setup complete. Opening in new session...