Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Trolls Printing Press

Daren ThomasDaren Thomas22 downloads

Create print-ready session notes, reference sheets, index cards, and booklets from Markdown.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

Create print-ready session notes, reference sheets, index cards, books, and booklets from Markdown inside Obsidian.

Trolls' Printing Press keeps Markdown as the canonical source and uses a bundled Typst WebAssembly compiler for reproducible print layouts. It includes the publishing profiles developed for tabletop RPG session preparation and small-format rulebooks.

Publishing profiles

  • Publish active note creates a compact, two-column A4 session sheet.
  • Publish active note as book creates an A5 reading PDF.
  • Publish active note as booklet creates the A5 PDF and imposes it onto A4 landscape sheets for duplex printing and saddle stitching.
  • Publish active note as two-column book and … as two-column booklet flow the A5 pages in two columns at session-sheet density, for list-heavy journals.
  • Publish index cards treats every level-one heading in the active note as an A6 landscape card and combines the cards into one PDF.

Generated PDFs are written to publishing/output beneath the active note's folder by default. The destination is configurable in the plugin settings. Two-column books use -two-column.pdf; their booklets use -two-column-booklet.pdf, so they can coexist with the single-column versions.

Layout hints in Markdown

The Markdown stays readable in Obsidian; a few conventions steer the print layout.

  • ✂️--- on a line of its own starts a new page (or a new card page).
  • Books take their printed title from a title: frontmatter field when present, and a subtitle: field is set beneath it on the first page.
  • ![[map.png|wide]] lets a picture span both columns of a two-column layout. Without the hint a picture stays inside its column. Picture height is capped, but pictures can still move following text onto another page. A wide picture immediately before a page break may occupy a page on its own.
  • Lists of sixteen or more short entries, such as name tables, are set in two or three columns automatically.
  • Index cards shrink their body type in small steps when a card overflows by a few lines, so a stat block that almost fits stays on one card.

Opinionated by design

The printing press supplies its own layouts, fonts, Markdown conversion rules, and PDF tooling. Templates and typography are not configurable. This keeps the output predictable and lets every profile be designed and tested as a whole. Session notes use Alegreya for body copy and Alegreya Sans for headings.

No external programs are required. Typst, the fonts, PDF merging, and booklet imposition are bundled with the plugin and run locally. Publishing does not send note contents over the network.

The initial release is desktop-only while the bundled worker runtime is tested across Obsidian's desktop platforms.

Booklet printing

Print the -booklet.pdf file double-sided at actual size. Use landscape paper, flip on the short edge, fold the sheets down the middle, and nest them in order.

Development

npm install
npm run lint
npm run build
npm test

For local development, clone the repository directly into an Obsidian vault's .obsidian/plugins/trolls-printing-press directory and run npm run dev.

For a clean installation check, run npm run prepare:test-vault after building, then open the generated test-vault folder as a vault in Obsidian. It contains only the release assets and a sample note for exercising all six publishing commands. The test vault is ignored by Git.

Enable community plugins in that vault. With Obsidian's CLI enabled, run the installation and lifecycle checks from PowerShell:

obsidian vault=test-vault eval code="eval(require('fs').readFileSync(require('path').join(app.vault.adapter.getBasePath(),'../scripts/check-test-vault.js'),'utf8'))"

The check regenerates six PDFs, verifies settings persistence, and checks that disabling the plugin removes its commands and terminates its compiler worker.

The production build bundles the Typst engine, fonts, and layouts into main.js, because Obsidian installs only main.js, manifest.json, and the optional styles.css from a plugin release. The engine and fonts are stored Brotli-compressed and unpacked with Node's zlib when the first document is published. Build with Node 22 (see .nvmrc): the compressor output depends on the Node version, and releases must be reproducible from the tagged commit.

Installation

Until the plugin is available in Obsidian's community directory, install it with BRAT using:

daren-thomas/trolls-printing-press

License

Trolls' Printing Press is released under the MIT License. Bundled components and fonts are covered by their respective licenses; see third-party notices.

HealthExcellent
ReviewSatisfactory
About
Create print-ready PDFs from Markdown notes in Obsidian. Trolls Printing Press bundles Typst, fonts, and page layouts locally so you can publish session sheets, books, booklets, and index cards without external programs or network services. Choose a publishing profile from the command palette: - Publish active note creates a compact two-column A4 session sheet. - Publish active note as book creates an A5 reading PDF with a title block, subtitle, and outer-edge page numbers. - Publish active note as booklet creates an imposed A4 landscape PDF for duplex printing, folding, and saddle stitching. - Publish active note as two-column book or two-column booklet creates denser A5 layouts for list-heavy journals and reference notes. - Publish index cards turns each level-one heading into an A6 landscape card and combines the cards into one PDF. A few readable Markdown conventions guide the printed layout. Put ️--- on its own line to start a new page. Add |wide to an Obsidian image embed, su
Details
Current version
0.1.3
Last updated
Last week
Created
3 weeks ago
Updates
4 releases
Downloads
22
Compatible with
Obsidian 1.13.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Daren ThomasDaren Thomasdaren-thomas
GitHubdaren-thomas
  1. Community
  2. Plugins
  3. Trolls Printing Press

Related plugins

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Importer

Convert your data to Markdown files you can use in Obsidian. Works with Apple Notes, OneNote, Evernote, Notion, Google Keep, and many other formats.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Minimal Theme Settings

Control the colors and fonts in Minimal Theme.

Homepage

Open a note, base, or workspace on startup, or set it for quick access later.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.

TaskNotes

Note-based task management with calendar, pomodoro and time-tracking integration.

Hider

Hide interface elements such as tooltips, status bar, titlebar, and more.

BRAT

Easily install a beta version of a plugin for testing.

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.