The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
boilerplate helps Quarto projects reuse methods text
without copy-paste drift. This vignette demonstrates a complete workflow
for managing reusable text templates across scientific manuscripts.
Quarto is becoming the standard for reproducible scientific
documents. The boilerplate package enhances Quarto
workflows by:
vignette("boilerplate-json-workflow"))my-research-project/
├── .boilerplate-data/ # boilerplate databases
├── manuscript/
│ ├── paper.qmd # Main manuscript
│ ├── _methods.qmd # Methods section
│ └── references.bib # Bibliography (auto-copied)
└── .gitignore # Exclude backups
Add to your .gitignore:
# Exclude boilerplate backups
.boilerplate-data/*.bak
Create reusable methods templates with placeholders:
# Import database first
db <- boilerplate_import(data_path = data_path, quiet = TRUE)
# Add participant recruitment template to the unified database
db <- boilerplate_add_entry(
db,
path = "methods.participants.recruitment",
value = "We recruited {{n_participants}} participants through {{recruitment_method}}.",
category = "methods"
)
# Save the updated database
boilerplate_save(db, data_path = data_path, confirm = FALSE, quiet = TRUE)Store information about your measures:
# Add a measure to the unified database
db$measures$gad7 <- list(
name = "GAD-7",
description = "Generalized Anxiety Disorder 7-item scale",
type = "ordinal", # Required field
items = list(
"Feeling nervous, anxious, or on edge",
"Not being able to stop or control worrying"
),
reference = "@spitzer2006"
)
# Save the updated database
boilerplate_save(db, data_path = data_path, confirm = FALSE, quiet = TRUE)Here’s how to use boilerplate in your Quarto document:
# Import database (using the temp path from above)
db <- boilerplate_import(data_path = data_path, quiet = TRUE)
# Generate methods text
methods_text <- boilerplate_generate_text(
category = "methods",
sections = "participants.recruitment",
global_vars = list(
n_participants = 250,
recruitment_method = "online panels"
),
db = db,
quiet = TRUE
)
# Output: "We recruited 250 participants through online panels."Your main Quarto document (paper.qmd) might look
like:
Then in the document:
## Introduction
[Your introduction...]
## Methods
{{< include _methods.qmd >}}
## Results
[Your results...]And in _methods.qmd:
library(boilerplate)
# Load database and generate text
db <- boilerplate_import(data_path = data_path, quiet = TRUE)
# Generate participant section
participant_text <- boilerplate_generate_text(
category = "methods",
sections = "participants.recruitment",
global_vars = list(n_participants = 250),
db = db
)
cat(participant_text).boilerplate-data/*.json files to gitmethods.participants.recruitment)The boilerplate package can manage your bibliography file, ensuring consistent citations across projects:
# Add bibliography information to your database
db <- boilerplate_import(data_path = data_path, quiet = TRUE)
# Using the example bibliography included with the package
example_bib <- system.file("extdata", "example_references.bib", package = "boilerplate")
db <- boilerplate_add_bibliography(
db,
url = paste0("file://", example_bib),
local_path = "references.bib"
)
# Save the updated database
boilerplate_save(db, data_path = data_path, confirm = FALSE, quiet = TRUE)When generating text, automatically copy the bibliography:
# Generate text and copy bibliography
methods_text <- boilerplate_generate_text(
category = "methods",
sections = "statistical.default", # Use existing section
db = db,
copy_bibliography = TRUE,
bibliography_path = "manuscript/" # Copy to manuscript directory
)Your Quarto document header would include:
Update multiple entries at once:
Use Quarto parameters with boilerplate:
Then in your code:
boilerplate gives Quarto projects a repeatable way to
store, update, and insert reusable text. The workflow keeps methods
language consistent across manuscripts while leaving each document free
to supply project-specific values.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.