import type { Book } from "../model/book"; import { bookToPdfInputs } from "./typst"; import { buildEpub } from "./epub"; import { compilePdf } from "../ipc"; import { saveBytes } from "../project"; const PDF = [{ name: "PDF", extensions: ["pdf"] }]; const EPUB = [{ name: "EPUB", extensions: ["epub"] }]; export async function exportPdf(book: Book): Promise { const { source, images, fonts } = bookToPdfInputs(book); const bytes = await compilePdf(source, images, true, fonts); await saveBytes(bytes, `${book.metadata.title || "Untitled"}.pdf`, PDF); } export async function exportEpub(book: Book): Promise { const bytes = await buildEpub(book); await saveBytes(bytes, `${book.metadata.title || "Untitled"}.epub`, EPUB); }