marked-caml
Version:
marked extension to add CAML (Colon Attribute Markup Language)
31 lines (30 loc) • 957 B
TypeScript
import { MarkedExtension } from 'marked';
// option types
interface OptAttr {
enable?: boolean;
render?: boolean;
}
interface OptCssNames {
attr?: string;
wiki?: string;
invalid?: string;
reftype?: string;
doctype?: string;
attrbox?: string;
attrItem?: string;
}
interface CamlOptions {
// metadata functions
addAttr?: (key: string, value: string) => void;
// render opts
attrs: OptAttr;
cssNames: OptCssNames;
// wiki value rendering — mirrors the marked-wikirefs resolvers so caml renders
// wiki attr values as <a> links; override to match the co-installed wikirefs.
resolveHtmlHref?: (fname: string) => string | undefined;
resolveHtmlText?: (fname: string) => string | undefined;
resolveDocType?: (fname: string) => string | undefined;
baseUrl?: string;
}
declare function camlExtension(opts?: Partial<CamlOptions>): MarkedExtension;
export { camlExtension as default };