Stamp FAQ
What is the Stamp extension?
Stamp is a Quarto extension that automatically adds system, session, and document information to your Quarto documents. It helps with reproducibility by documenting the environment in which your document was created.
What information can Stamp provide?
Stamp can provide several categories of information about how the document was rendered:
- System Information (OS, Lua version)
- Quarto Environment Variables
- Document Properties
- Project Properties
- Session Information (versions of Quarto, Pandoc, R, Python)
- Extension Information
How do I install Stamp?
You can install Stamp using Quarto’s by running the following command in Terminal within Quarto project directory:
quarto add coatless-quarto/stamp
This will install the extension under the _extensions
subdirectory. If you’re using version control, you will want to check in this directory.
How do I enable Stamp in my document?
Add the extension to your YAML frontmatter:
---
title: "My Document"
format: html
filters:
- stamp
---
What are the different information levels available?
Stamp supports three levels of information:
minimal
: Shows only system and session informationfull
: Shows all available information categories- Default is
minimal
if not specified
We will likely add more levels in the future.
How do I configure what information is shown?
You can configure Stamp using the stamp
key in your YAML frontmatter:
---
stamp:
level: minimal # or 'full'
sections: # Add specific sections
- system
- session
- extensions
---
Can I control where the information appears?
Yes, you can control placement using the placement
option:
bottom
(default): Places information at the end of the documenttop
: Places information at the beginning of the documentcustom
: Places information at a specific div location
For custom placement, use:
---
stamp:
placement: custom
placement-id: my-custom-location
---
::: {#my-custom-location}
:::
When using custom placement, the div with placement-id
will be completely replaced by the stamp information div (which has the ID document-information
). For example, with the above configuration:
Before rendering:
:::{#my-custom-location} :::
After rendering:
:::{#document-information}<!-- stamp information here -->
:::
How do I add specific sections?
You can add specific sections using the sections
option:
stamp:
sections:
- system
- environment
- extensions
Can I combine the level setting with additional sections?
Yes, you can use both level
and sections
. By default, sections are added to the base level. Use mode: replace
to override instead of add:
stamp:
level: minimal
sections:
- extensions
mode: replace # Only shows extensions
Why isn’t version information showing for R/Python?
Version information requires R and/or Python to be installed and accessible from the command line. If you see “not installed”, check that:
- The software is installed
- It’s available in your system PATH
- The
--version
command works in your terminal
Why are some environment variables showing as “not set”?
This is normal if those Quarto environment variables aren’t configured on your system. The extension will show "not set"
for any undefined variables.
How can I verify the extension is working?
The extension adds a div with the ID "document-information"
. You can check your rendered document’s HTML to verify it’s present. All information sections also have specific CSS classes for styling.
Can I style the output?
Yes, the extension provides both class and ID-based styling hooks:
Common class for all sections:
.quarto-stamp-section
: Applied to all stamp information sections
Specific IDs for each table:
#system-info-table
: System information table#quarto-env-vars
: Quarto environment variables table#quarto-doc-props
: Document properties table#quarto-project-props
: Project properties table#session-info-table
: Session information table#extensions-table
: Extensions table
Example CSS:
/* Style all stamp sections */
.quarto-stamp-section {
margin: 2em 0;
}
/* Style a specific table */
#system-info-table {
width: 100%;
border-collapse: collapse;
}
The entire stamp information section is contained within a div with ID document-information
.
Does it work with all Quarto formats?
Yes, Stamp works with all Quarto output formats including HTML, PDF, and Word. The information is formatted appropriately for each output format.
Can I use Stamp programmatically?
Yes, you can use Stamp as part of automated document generation workflows. The extension respects all configuration options when run programmatically through Quarto.
Document Information
System Information
Property
|
Value
|
---|---|
Operating System
|
Linux
|
Lua Version
|
Lua 5.4
|
Session Information
Software
|
Version
|
---|---|
Quarto Version
|
1.7.1
|
Pandoc Version
|
3.4
|
R Version
|
4.4.2
|
Python Version
|
3.10.12
|
Extensions
Name
|
Version
|
Location
|
---|---|---|
stamp
|
0.0.0-dev.1
|
local
|