remark-docx
Version:
remark plugin to compile markdown to docx (Microsoft Word, Office Open XML).
24 lines (23 loc) • 1.25 kB
TypeScript
import { IImageOptions } from "docx";
import type { IPropertiesOptions } from "docx/build/file/core-properties";
import type * as mdast from "./models/mdast";
export type ImageDataMap = {
[url: string]: ImageData;
};
export type ImageData = {
image: IImageOptions["data"];
width: number;
height: number;
};
export type ImageResolver = (url: string) => Promise<ImageData> | ImageData;
export interface DocxOptions extends Pick<IPropertiesOptions, "title" | "subject" | "creator" | "keywords" | "description" | "lastModifiedBy" | "revision" | "styles" | "background"> {
/**
* Set output type of `VFile.result`. `buffer` is `Promise<Buffer>`. `blob` is `Promise<Blob>`.
*/
output?: "buffer" | "blob";
/**
* **You must set** if your markdown includes images. See example for [browser](https://github.com/inokawa/remark-docx/blob/main/stories/playground.stories.tsx) and [Node.js](https://github.com/inokawa/remark-docx/blob/main/src/index.spec.ts).
*/
imageResolver?: ImageResolver;
}
export declare const mdastToDocx: (node: mdast.Root, { output, title, subject, creator, keywords, description, lastModifiedBy, revision, styles, background, }: DocxOptions, images: ImageDataMap) => Promise<any>;