UNPKG

@marp-team/marp-cli

Version:

A CLI interface for Marp and Marpit based converters

101 lines (100 loc) 3.03 kB
import type { MarpOptions } from '@marp-team/marp-core'; import { Options as MarpitOptions } from '@marp-team/marpit'; import type { Browser } from './browser/browser'; import type { BrowserManager } from './browser/manager'; import { Engine } from './engine'; import { File } from './file'; import { SOffice } from './soffice/soffice'; import { Template, TemplateMeta, TemplateOption, TemplateResult } from './templates/'; import { ThemeSet } from './theme'; import { type WatchNotifierEntrypointType } from './watcher'; export declare enum ConvertType { html = "html", pdf = "pdf", png = "png", pptx = "pptx", jpeg = "jpg", notes = "notes" } export declare const mimeTypes: { html: string; pdf: string; png: string; pptx: string; jpg: string; notes: string; }; export interface ConverterOption { allowLocalFiles: boolean; baseUrl?: string; browserManager: BrowserManager; engine: Engine; globalDirectives: { theme?: string; } & Partial<TemplateMeta>; html?: MarpOptions['html']; imageScale?: number; inputDir?: string; lang: string; options: MarpitOptions; output?: string | false; pages?: boolean | number[]; parallel?: number; pdfNotes?: boolean; pdfOutlines?: false | { pages: boolean; headings: boolean; }; pptxEditable?: boolean; preview?: boolean; jpegQuality?: number; server?: boolean; template: string; templateOption?: TemplateOption; themeSet: ThemeSet; type: ConvertType; watch: boolean | WatchNotifierEntrypointType; } export interface ConvertFileOption { onConverted?: ConvertedCallback; onlyScanning?: boolean; } export interface ConvertPDFOption { postprocess?: boolean; } export interface ConvertImageOption { pages?: boolean | number[]; quality?: number; scale?: number; type: ConvertType.png | ConvertType.jpeg; } export interface ConvertResult { file: File; newFile?: File; template: TemplateResult; } export type ConvertedCallback = (result: ConvertResult) => void; export declare class Converter { readonly options: ConverterOption; private _sOffice; private _firefoxPDFConversionWarning; private _experimentalEditablePPTXWarning; constructor(opts: ConverterOption); get browser(): Promise<Browser>; get template(): Template; get sOffice(): SOffice; convert(markdown: string, file?: File, { fallbackToPrintableTemplate, }?: { fallbackToPrintableTemplate?: boolean; }): Promise<TemplateResult>; convertFile(file: File, opts?: ConvertFileOption): Promise<ConvertResult>; convertFiles(files: File[], opts?: ConvertFileOption): Promise<void>; private convertFileToHTML; private convertFileToNotes; private convertFileToPDF; private convertFileToImage; private convertFileToPPTX; private convertFileToEditablePPTX; private generateEngine; private usePuppeteer; private trackFailedLocalFileAccess; }