myst-cli
Version:
Command line tools for MyST
57 lines • 2.39 kB
TypeScript
import { ExportFormats } from 'myst-frontmatter';
import type { ISession } from '../session/types.js';
import type { StartOptions } from './site/start.js';
import type { ExportWithInputOutput } from './types.js';
import type { RunExportOptions } from './utils/localArticleExport.js';
import type { CollectionOptions } from './utils/collectExportOptions.js';
type FormatBuildOpts = {
/** Options to decide what to build */
site?: boolean;
docx?: boolean;
pdf?: boolean;
tex?: boolean;
typst?: boolean;
xml?: boolean;
md?: boolean;
meca?: boolean;
cff?: boolean;
html?: boolean;
all?: boolean;
force?: boolean;
output?: string;
};
export type BuildOpts = FormatBuildOpts & CollectionOptions & RunExportOptions & StartOptions;
export declare function hasAnyExplicitExportFormat(opts: BuildOpts): boolean;
/**
* Determine all allowed export formats based on CLI options and arguments
*
* @param opts.docx docx export explicitly requested with --docx option
* @param opts.pdf pdf export explicitly requested with --pdf option
* @param opts.tex (all formats follow as above)
* @param opts.typst
* @param opts.xml
* @param opts.md
* @param opts.meca
* @param opts.all all exports requested with --all option
* @param opts.explicit explicit input file was provided
*/
export declare function getAllowedExportFormats(opts: FormatBuildOpts & {
explicit?: boolean;
}): ExportFormats[];
/**
* Return requested formats from CLI options
*/
export declare function getRequestedExportFormats(opts: FormatBuildOpts): ExportFormats[];
export declare function exportSite(session: ISession, opts: FormatBuildOpts): boolean | undefined;
export declare function getProjectPaths(session: ISession): string[];
/**
* Gather a list of export objects with resolved format/input/output values
*
* @param files list of files to export; if empty, current project will be loaded
* and all project files (including the config file) will be searched for exports
* @param opts user-provided options, including desired export formats and output filename
*/
export declare function collectAllBuildExportOptions(session: ISession, files: string[], opts: BuildOpts): Promise<ExportWithInputOutput[]>;
export declare function build(session: ISession, files: string[], opts: BuildOpts): Promise<void>;
export {};
//# sourceMappingURL=build.d.ts.map