@marp-team/marp-cli
Version:
A CLI interface for Marp and Marpit based converters
53 lines (52 loc) • 1.64 kB
TypeScript
import { Marpit, Options, RenderResult } from '@marp-team/marpit';
import { OutlinePage } from '../engine/pdf/outline-plugin';
import { EngineTransition } from '../engine/transition-plugin';
type RendererResult = RenderResult & TemplateMeta & {
length: number;
size: RenderedSize;
transition?: EngineTransition;
outline?: OutlinePage[];
};
interface TemplateRendererOptions extends Options {
modifier?: (marpit: Marpit) => void;
}
interface TemplateCoreOption {
base?: string;
notifyWS?: string;
renderer: (tplOpts: TemplateRendererOptions) => RendererResult | Promise<RendererResult>;
}
export interface TemplateMeta {
author: string | undefined;
description: string | undefined;
image: string | undefined;
keywords: string[] | undefined;
title: string | undefined;
url: string | undefined;
lang: string | undefined;
}
interface RenderedSize {
height: number;
width: number;
}
export type TemplateOption = TemplateBareOption | TemplateBespokeOption;
interface TemplateBareOption {
}
interface TemplateBespokeOption {
osc?: boolean;
progress?: boolean;
transition?: boolean;
}
export interface TemplateResult {
rendered: RendererResult;
result: string;
}
export type Template<T = TemplateOption> = ((locals: TemplateCoreOption & T) => Promise<TemplateResult>) & {
printable?: boolean;
};
export declare const bare: Template<TemplateBareOption>;
export declare const bespoke: Template<TemplateBespokeOption>;
declare const _default: {
bare: Template<TemplateBareOption>;
bespoke: Template<TemplateBespokeOption>;
};
export default _default;