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.yml
Project 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.md
Tips 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.yml
settings 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
?settings
froggeR’s project workflow provides:
Happy documenting! 🐸
Streamlined Quarto workflows with automated excellence