froggeR streamlines your Quarto workflow by providing two powerful
functions: quarto_project()
for complete project initialization and write_quarto()
for individual document creation. This vignette demonstrates how to use
these functions effectively and how they work together.
The quickest way to start a new Quarto project:
>> froggeR::quarto_project(name = "frogs")
This will create a new Quarto default project as a folder named frogs in
/home/kyle.
Do you want to proceed (Y/n)?
Y
✔ Created Quarto project directory: frogs
✔ Created _quarto.yml
ℹ Copying existing froggeR settings...
✔ Created _variables.yml
ℹ Copying existing froggeR brand settings...
✔ Created _brand.yml
✔ Copying existing froggeR logos.
✔ Created custom.scss
✔ Created .gitignore
✔ Created README.md
✔ Created dated_progress_notes.md
✔ Created frogs.qmd with examples
✔ Created references.bib
✔ froggeR project setup complete. Opening in new session...This single command creates a complete project structure:
| Component | Description |
|---|---|
frogs/ |
Main project directory |
frogs.qmd |
Main Quarto document |
_quarto.yml |
Reusable project settings |
_variables.yml |
Reusable document settings |
_brand.yml |
Reusable brand style settings |
custom.scss |
Style sheet template |
dated_progress_notes.md |
Project documentation |
README.md |
Project documentation |
.gitignore |
Enhanced security settings |
references.bib |
Example citation template |
Each component serves a specific purpose:
Quarto Document (_quarto.yml)
_variables.ymlProject Settings
(_variables.yml)
Brand Settings (new for froggeR v0.5.0;
_brand.yml)
logos/
directoryStyle Sheet (custom.scss)
Create a new Quarto document in an existing project:
froggeR::write_quarto(). Use the
example = TRUE to incorporate template cross-referencing,
hyperlinks, and other useful Quarto writing tools.
Example output of custom_yaml document
Note: This example uses a froggeR version pre-0.5.0 though the main heading will render the same… you get the point ;)
Best practices for project organization:
Initial Setup
Recommended project structure:
| Directory/File | Purpose | Contents |
|---|---|---|
data/ |
Raw data storage | Input files, datasets |
logos/ |
Brand logos | Storing Quarto brand art |
output/ |
Analysis results | Figures, tables, exports |
R/ |
Custom functions | R scripts, utilities |
docs/ |
Documentation | Additional guides, notes |
*.qmd** |
Analysis documents | Main content and code |
** This is provided from froggeR::quarto_project().
All others need to be created.
Additional Documents
Project Structure
frogs/
├── frogs.qmd
├── data_prep.qmd
├── analysis.qmd
├── _brand.yml
├── _quarto.yml
├── _variables.yml
├── custom.scss
├── dated_progress_notes.md
├── references.bib
└── README.mdTips for effective document organization:
_variables.yml updatedCommon .gitignore patterns:
| Pattern | Excludes | Why |
|---|---|---|
*.rds |
R data files | Data security |
.Rhistory |
R history files | Session cleanup |
output/ |
Generated files | Avoid tracking outputs |
*.html |
Rendered documents | Focus on source files |
Customize your project structure:
Then add specialized documents:
# Data preparation
froggeR::write_quarto(filename = "01_data_prep")
# Analysis
froggeR::write_quarto(filename = "02_analysis")
# Results
froggeR::write_quarto(filename = "03_results")Note: When working in a froggeR project,
write_quarto()automatically uses your project’s_variables.ymlsettings by default, ensuring consistent styling and metadata across all documents.
Modify individual documents while maintaining project consistency. In
other words, the document-level YAML structure takes precedence
and will override project-level settings found in
_variables.yml and _quarto.yml.
YAML Additions
Style Variations
custom.scss file
(provided)Common issues and solutions:
_variables.yml & _quarto.yml
existFor more information on:
vignette("customizing-quarto", package = "froggeR")?write_scss?settingsfroggeR’s project workflow provides:
Happy documenting! 🐸
Streamlined Quarto workflows with automated excellence