@marp-team/marp-cli
Version:
A CLI interface for Marp and Marpit based converters
101 lines (100 loc) • 3.03 kB
TypeScript
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;
}