Announcing Book Exporter - A New Obsidian Plugin

Book Exporter turns a structured Obsidian note tree into a real book; one manifest note, one command, EPUB and PDF out the other side via Pandoc.

I've built something new: the Book Exporter plugin for Obsidian. It turns a structured Obsidian note tree into a real, publishable book. EPUB and PDF, exported via Pandoc.

Why I Built It

I write inside Obsidian. Backlinks, atomic notes, a real graph of how my ideas connect to each other. The vault is where my thinking lives.

The problem: until now, when it was time to actually ship a book, the friendly path was to leave Obsidian. Migrate to Scrivener. Paste into Word. Fight a formatting tool that has nothing to do with thinking. Or write a Pandoc command, forget it six months later, debug it again next time.

That last step bothered me. The vault that holds the research should be the vault that produces the book. No detour. No drift. No second source of truth.

So I built it.

What It Does

The Book Exporter plugin treats one note as the manifest for a book. Its frontmatter holds the metadata; title, authors, language, cover, ISBN, etc. Its body lists the table of contents through wikilinks. Each chapter and section is a separate note in the vault.

When the plugin runs, it walks the manifest, compiles every linked note into a single Markdown manuscript, then hands the result to Pandoc for EPUB and PDF generation.

The model is simple: one note = one book. There are no mandatory naming conventions, no required folders, no special tags. Any Markdown note can act as a manifest.

How the Manifest Works

The body of the manifest is a heading tree. There are no reserved heading names; the structure is yours.

  • # H1 is the book title, or use title: in frontmatter (frontmatter wins).
  • Every ## H2 through ###### H6 becomes a section at the matching level. Sections nest under the previous higher-level section.
  • Every bullet under a section that contains one or more [[wikilinks]] adds those links, in source order, to the section. The linked notes are inlined at that point.
  • Bullets without wikilinks are ignored. Text around a wikilink is dropped (commentary).

Here is a real example:

# The Context Layer

## Foreword
- [[Foreword]]

## Part I - The Problem
### Chapter 1 - Why Notes Fail
- [[Why Notes Fail]]
- [[The Cost of Forgetting]]

## Part II - The Solution
### Chapter 2 - Building Context
- [[Building Context]]

## Acknowledgements
- [[Acknowledgements]]
- [[About the Author]]

When the manifest is parsed, configured "sections to skip" (default Related, References, Title Options, Target Audience) are dropped from the body first; so authoring scaffolding sections stay in the manifest but never reach the export. The same list is then applied to each linked note when it gets inlined: frontmatter is stripped, configured sections removed, the first # H1 dropped, remaining headings demoted, and Obsidian-only syntax (callouts, embeds, comments, internal links) is rewritten to clean Markdown.

Validation Before Export

The plugin ships a dedicated Validate current book command that runs before export. It checks the manifest for missing chapters, broken wikilinks, and incomplete metadata. Errors get reported clearly so a broken book never reaches the export step.

A small thing. The kind that saves you fifteen minutes of "why is chapter 7 missing from the EPUB" on launch day.

Per-Book Overrides

Global settings cover the common case: output folder, default formats, Pandoc path, PDF engine, sections to skip, etc.

Every book is different. Any of those settings can be overridden per book via a book_export: block in the manifest frontmatter. Output folder, PDF engine, formats, TOC depth, page-break behavior, extra Pandoc flags; all configurable per book.

One default. Per-book exceptions. The way settings should work.

Commands

  • Export current book to EPUB / PDF
  • Export current book to all formats
  • Preview compiled manuscript (.md)
  • Validate current book
  • Open exports folder

Why Pandoc and Typst

Pandoc is the industry-standard document converter. No production-ready JavaScript or Node alternative exists, and bundling Pandoc inside the plugin is impractical given its size and per-platform binaries. Requiring it as an external dependency is the pragmatic trade.

For PDF, the recommended engine is Typst. A small binary that produces professional book-quality output without dragging in a full LaTeX install. xelatex, tectonic, weasyprint, and wkhtmltopdf remain available as alternatives if you prefer them.

Installation

  • Install Pandoc (system PATH or configured in plugin settings)
  • Install Typst (recommended PDF engine)
  • Install the Book Exporter plugin manually, or via the BRAT plugin for Obsidian
  • Open a manifest note and run Book Exporter: Export current book to EPUB (or PDF, or all formats) from the command palette

Desktop only.

Try It

If you've been writing a book inside Obsidian and dreading the export step, this plugin is for you.

The Book Exporter plugin is the missing piece between Obsidian and a publishable book. EPUB and PDF, generated from your vault, via Pandoc. One manifest note. One command. One source of truth.

Source code: github.com/dsebastien/obsidian-book-exporter

Documentation: dsebastien.github.io/obsidian-book-exporter

That's it for today!

GitHub - dsebastien/obsidian-book-exporter: Export books written in Obsidian to EPUB and PDF via Pandoc and Calibre.
Export books written in Obsidian to EPUB and PDF via Pandoc and Calibre. - dsebastien/obsidian-book-exporter

🔗 Obsidian Starter Kit


About Sébastien

I'm Sébastien Dubois, and I'm on a mission to help knowledge workers escape information overload. After 20+ years in IT and seeing too many brilliant minds drowning in digital chaos, I've decided to help people build systems that actually work. Through the Knowii Community, my courses, products & services and my Website/Newsletter, I share practical and battle-tested systems.

I write about Knowledge Work, Personal Knowledge Management, Note-taking, Lifelong Learning, Personal Organization, Productivity, and more. I also craft lovely digital products and tools.

If you want to follow my work, then become a member and join our community.

Ready to get to the next level?

Since you're interested in Obsidian:

Found this valuable? Share it with someone who needs it.

Join 6,000+ readers. Get practical systems for knowledge & AI. Free.

Subscribe ✨

Free: Knowledge System Checklist

A clear roadmap to building your own knowledge system. Subscribe and get it straight to your inbox.

6,000+ readers. No spam. Unsubscribe anytime.