@marp-team/marp-cli
Version:
A CLI interface for Marp and Marpit based converters
127 lines (126 loc) • 4.38 kB
TypeScript
import type { FinderName } from './browser/finder';
import { ConvertType, type ConverterOption } from './converter';
import { ResolvableEngine, ResolvedEngine } from './engine';
import { TemplateOption } from './templates';
import { ThemeSet } from './theme';
type Overwrite<T, U> = Omit<T, Extract<keyof T, keyof U>> & U;
interface IMarpCLIArguments {
_?: string[];
allowLocalFiles?: boolean;
author?: string;
baseUrl?: string;
'bespoke.osc'?: boolean;
'bespoke.progress'?: boolean;
'bespoke.transition'?: boolean;
browser?: string | string[];
browserPath?: string;
browserProtocol?: string;
browserTimeout?: number;
configFile?: string | false;
description?: string;
engine?: string;
html?: boolean;
image?: string;
images?: string;
imageScale?: number;
inputDir?: string;
jpegQuality?: number;
keywords?: string;
notes?: boolean;
ogImage?: string;
output?: string | false;
parallel?: number | boolean;
pdf?: boolean;
pdfNotes?: boolean;
pdfOutlines?: boolean;
'pdfOutlines.pages'?: boolean;
'pdfOutlines.headings'?: boolean;
pptx?: boolean;
pptxEditable?: boolean;
preview?: boolean;
server?: boolean;
template?: string;
theme?: string;
themeSet?: string[];
title?: string;
url?: string;
watch?: boolean;
}
export type IMarpCLIConfig = Overwrite<Omit<IMarpCLIArguments, '_' | 'configFile' | 'bespoke.osc' | 'bespoke.progress' | 'bespoke.transition' | 'pdfOutlines' | 'pdfOutlines.pages' | 'pdfOutlines.headings'>, {
bespoke?: {
osc?: boolean;
progress?: boolean;
transition?: boolean;
};
browser?: 'auto' | FinderName | FinderName[];
browserProtocol?: 'cdp' | 'webdriver-bidi';
engine?: ResolvableEngine;
html?: ConverterOption['html'];
keywords?: string | string[];
lang?: string;
options?: ConverterOption['options'];
pdfOutlines?: boolean | {
pages?: boolean;
headings?: boolean;
};
themeSet?: string | string[];
}>;
export declare const DEFAULT_PARALLEL = 5;
export declare class MarpCLIConfig {
args: IMarpCLIArguments;
conf: IMarpCLIConfig;
confPath?: string;
engine: ResolvedEngine;
static moduleName: "marp";
static fromArguments(args: IMarpCLIArguments): Promise<MarpCLIConfig>;
static isESMAvailable(): boolean;
private constructor();
browserManagerOption(): {
readonly finders: "chrome" | "firefox" | "edge" | ("chrome" | "firefox" | "edge")[] | undefined;
readonly path: string | undefined;
readonly protocol: "cdp" | "webDriverBiDi";
readonly timeout: number | undefined;
};
converterOption(): Promise<{
readonly imageScale: number | undefined;
readonly inputDir: string | undefined;
readonly output: string | false | undefined;
readonly parallel: number;
readonly pdfNotes: boolean;
readonly pdfOutlines: false | {
pages: boolean;
headings: boolean;
};
readonly pptxEditable: boolean;
readonly preview: boolean;
readonly server: boolean;
readonly template: string;
readonly templateOption: TemplateOption;
readonly themeSet: ThemeSet;
readonly type: ConvertType;
readonly allowLocalFiles: boolean;
readonly baseUrl: string | undefined;
readonly engine: import("./engine").Engine<typeof Marpit.Marpit>;
readonly globalDirectives: {
readonly author: string | undefined;
readonly description: string | undefined;
readonly image: string | undefined;
readonly keywords: string[] | undefined;
readonly theme: string | undefined;
readonly title: string | undefined;
readonly url: string | undefined;
};
readonly html: boolean | import("@marp-team/marp-core/types/src/html/allowlist").HTMLAllowList | undefined;
readonly jpegQuality: number;
readonly lang: string;
readonly options: Marpit.Options;
readonly pages: boolean;
readonly watch: boolean;
}>;
get files(): string[];
private inputDir;
private loadConf;
private loadTheme;
}
export declare const fromArguments: typeof MarpCLIConfig.fromArguments;
export {};