Configuration

Two layers: plugin settings (apply to every book) and per-book overrides (defined in the manifest’s frontmatter, override the matching plugin setting).

Plugin settings

Setting Type Default Description
Pandoc path string pandoc Required. Full path or PATH name.
Default output folder string (empty — required) Absolute filesystem path where exported books are written. ~ is expanded to your home directory. The plugin refuses to export until this is set. Examples: ~/Downloads, /home/me/Books.
Default formats comma list epub,pdf Used by Export to all formats when the manifest doesn’t specify any.
PDF engine enum typst typst (recommended) / weasyprint / xelatex / tectonic / wkhtmltopdf.
Default language BCP-47 en Used when the manifest doesn’t set language.
Default author(s) comma list (empty) Used when the manifest doesn’t define authors: in its frontmatter. Empty falls back to Anonymous (with a warning).
Cover frontmatter property string cover Frontmatter key read for the book cover image. Set this to cover_image, cover_url, or whatever name fits your frontmatter conventions. The value can be a vault-relative path, an absolute path, an [[wikilink]], or an http(s) URL (downloaded to the temp folder before pandoc runs).
Sections to skip comma list Related, References, Title Options, Target Audience Heading names (case-insensitive). Applied to the manifest body before parsing (drops authoring scaffolding) AND to each linked note when inlining (drops housekeeping sections).
Inlined-note separator enum none Visual cue between successive notes inside the same section. none keeps the legacy run-on layout; rule emits a centred * * * glyph rule; blank adds extra spacing; subheading renders each note’s display title as a heading one level below the section heading. Per-book override: book_export.inlined_note_separator.
Inline note embeds boolean false When on, ![[Note]] embeds inside inlined notes are recursively expanded with the embedded note’s body. Default off — embeds are dropped (only image embeds are kept).
Note embed max depth integer 3 Maximum recursion depth for note-embed expansion. 1 = direct embeds only; 2 = embeds of embeds; etc. Embeds at the depth limit are replaced with their display title.
Typst image width string 100% Forwarded as #set image(width: <value>) in the Typst preamble. Caps every image when the PDF engine is Typst. Accepts any Typst length (100%, 80%, 15cm). Leave empty to disable.
Number sections boolean false Forwards --number-sections — headings get hierarchical numbers (1, 1.1, 1.1.1, …). Per-book override: book_export.number_sections.
Include TOC by default boolean true Adds --toc to Pandoc.
Auto TOC depth boolean true When on, the TOC depth is derived from the deepest heading level actually present in the manifest (parts + chapters → 3, flat chapters → 2). Disable to use the static fallback. Per-book book_export.toc_depth always wins.
TOC depth (fallback) integer 2 --toc-depth=N. Used only when Auto TOC depth is off, or when the manifest has no parseable heading.
Page break per chapter boolean true Inserts a page break before each top-level section (the lowest-numbered heading level used in the manifest).
Keep temporary files boolean false Debug — keeps the compiled manuscript and resources after export.
Verbose console logging boolean false Debug.

Per-book overrides (book_export)

Add a book_export: block to the manifest’s frontmatter. All keys are optional; missing keys fall back to the plugin setting.

book_export:
  output_dir: "~/Books/The Context Layer"
  pdf_engine: typst
  toc_depth: 3
  include_toc: true
  page_break_per_chapter: true
  formats: [epub, pdf]
  sections_to_skip: [Related, References, Notes]
  inlined_note_separator: rule
  pandoc_extra_args:
    - --top-level-division=chapter
    - --resource-path=.
Key Type Description
output_dir string Absolute filesystem path for this book’s exports. Supports ~. Overrides the global setting.
pdf_engine enum Overrides the global PDF engine.
toc_depth integer Overrides the global TOC depth.
include_toc boolean Whether to include a TOC for this book.
page_break_per_chapter boolean Page-break behaviour for this book.
number_sections boolean Forwards --number-sections to pandoc for this book.
formats list Formats produced by Export to all formats. Subset of [epub, pdf].
sections_to_skip list Heading names (case-insensitive). Applied to both the manifest body and linked notes. Replaces — does not extend — the global setting.
inlined_note_separator enum none / rule / blank / subheading. Overrides the plugin setting for this book.
front_matter_sections list Top-level section titles (case-insensitive) treated as front matter — pages numbered with lowercase roman numerals (i, ii, …). The first non-matching top-level section starts body matter and resets numbering to arabic (1, 2, …). Only meaningful for Typst and LaTeX targets. Example: [Foreword, Preface, Acknowledgements].
pandoc_extra_args list of strings Extra arguments forwarded to Pandoc verbatim.

Where files go

  • Exports — written to the configured Default output folder (or per-book book_export.output_dir). Absolute filesystem paths only; ~ is expanded. The plugin refuses to export when the folder is not configured.
  • Temp files — created inside the OS temp directory (os.tmpdir(), e.g. /tmp/obsidian-book-exporter-<book>-<random>/ on Linux). Never inside your vault. Cleaned up automatically after each export unless Keep temporary files is on.

External tools

Tool Required for Install
Pandoc ≥ 3.x EPUB, PDF https://pandoc.org/installing.html
Typst PDF (recommended) https://typst.app — single small binary, beautiful output, fast
xelatex / tectonic PDF (alternatives) only if you already have a TeX setup
Weasyprint / wkhtmltopdf PDF (alternatives) HTML/CSS-based; lower typographic quality than Typst or LaTeX

If a binary is not on $PATH, set its full path in Settings → Book Exporter.

PDF quality notes

The default engine is Typst for one reason: it gives professional book typography (proper page breaks, no split images, hyphenation, widow/orphan control) without the install pain of LaTeX. xelatex / tectonic produce comparable output if you already have them. Weasyprint and wkhtmltopdf are HTML-rendering engines — fine for short documents, weaker for books, kept for completeness.


This site uses Just the Docs, a documentation theme for Jekyll.