Create printable, folding greeting cards for various occasions like birthdays, holidays, and thank-you notes. This package handles the complex layout and rotation logic required for professional-looking physical stationery.
Example Card Code
#import "@preview/keepsake:0.1.0": primary-content, quarter-fold-vertical
#let paper = "a4"
#let front = [
#set text(size: 50pt, fill: blue, font: "Futura")
= Happy Birthday
]
#let primary = {
set text(size: 15pt)
primary-content(
greeting: "Dear Friend,",
body: [
#v(1.5em)
I hope you enjoy your birthday. Have a great day!
#v(1.5em)
Enjoy the dinner reservation.
],
sender: "Will",
)
}
#let back = {
box(height: 100%, width: 100%)[
#set align(bottom + center)
#set text(size: 15pt)
#pad(bottom: 2em)[
Made with ❤️
]
]
}
#let secondary = [
#set align(center + horizon)
#set text(size: 50pt)
🎁
]
#show: quarter-fold-vertical.with(
front: front,
primary: primary,
secondary: secondary,
back: back,
paper: paper,
)
Usage
To use this package, import it into your Typst file:
#import "@preview/keepsake:0.1.0": (
bifold, primary-content, quarter-fold-horizontal, quarter-fold-vertical,
)
Bifold Card
Best for a standard large card. This layout uses two pages: one for the outside (front and back) and one for the interior.
#show: bifold.with(
front: [= Happy Birthday],
primary: [Wishing you an incredible year ahead!],
back: [
#set align(center + bottom)
#set text(8pt, gray)
Made with ❤️ and Keepsake
],
)
Quarter-fold Card (Vertical and Horizontal)
Perfect for a single-sheet, one-sided print. The paper is folded in half twice
(horizontally then vertically or vertically then horizontally). keepsake
automatically rotates the top panels 180° so they are upright when folded.
#show: quarter-fold-vertical.with(
front: [= Thank You],
primary: [Your gift was so thoughtful!],
)
#show: quarter-fold-horizontal.with(
front: [= Thank You],
primary: [Your gift was so thoughtful!],
)
Content Template
#let primary = primary-content(
greeting: "Dear Someone,",
date: "Summer 2025",
sender: "Your Friend",
body: [
I hope you enjoyed your summer
]
)
Reference
Card Types
bifold
A card folded once, creating four panels across two pages.
front: Content for the front cover.back: Content for the back cover.primary: Content for the interior right panel.secondary: Content for the interior left panel.paper: The paper size (default: “us-letter”). Supports any standard Typst paper string.
quarter-fold-vertical
A card folded twice, with all panels printed on a single side of one sheet.
front: Content for the front cover (automatically rotated).primary: Content for the bottom interior panel.secondary: Content for the top interior panel.back: Content for the back cover (automatically rotated).paper: The paper size (default: “us-letter”).
quarter-fold-horizontal
A card folded twice, with all panels printed on a single side of one sheet.
front: Content for the front cover (automatically rotated).primary: Content for the right interior panel.secondary: Content for the left interior panel.back: Content for the back cover (automatically rotated).paper: The paper size (default: “us-letter”).
Content Templates
primary-content
Helper to format content for primary section.
greeting: Greeting on top leftdate: The date to display on top rightsalutation: Sign-off of the sendersender: Name of the senderbody: Main body contentinset: Inset for the section
Tips
- While printing, it is recommended to use us-letter or a4 paper. Use scale = 100% in printer settings.
- Using a
boxfor each panel can help with formatting
License
This package is licensed under the MIT License.