@artipub/cli
Version:
A library for processing and publishing articles
112 lines (108 loc) • 4.11 kB
TypeScript
import * as ajv from 'ajv';
import * as _artipub_core from '@artipub/core';
import { PublishResult } from '@artipub/core';
import * as _artipub_shared from '@artipub/shared';
import { NativePublisherOption, NotionPublisherPluginOption, DevToPublisherPluginOption, GithubPicBedOption } from '@artipub/shared';
type PlatformOptions = {
native?: NativePublisherOption;
notion?: NotionPublisherPluginOption;
devTo?: DevToPublisherPluginOption;
};
type PlatformAnswers = {
[K in keyof PlatformOptions]: PlatformOptions[K];
};
interface ArticleConfig {
githubOption: GithubPicBedOption;
platforms: PlatformAnswers;
}
interface AddOrUpdateCommandOptions {
config?: string;
}
interface ConfigCommandOptions {
edit: boolean;
}
type ActionType = "Add" | "Update";
type RunResult = PublishResult[] | undefined | void | null;
declare const _default: {
interact: {
interactPrompt(): Promise<{
githubAnswers: _artipub_shared.GithubPicBedOption;
platformAnswers: PlatformAnswers;
}>;
promptForPlatform(platforms: string[]): Promise<string[]>;
};
command: {
help(): void;
answersToConfig(answers: {
githubAnswers: _artipub_shared.GithubPicBedOption;
platformAnswers: PlatformAnswers;
}): ArticleConfig;
updateArticle(type: ActionType, articlePath: string, config: ArticleConfig, pluginNameMapConfigPropertyName?: Record<string, string>): Promise<_artipub_core.PublishResult[]>;
updateArticleToPlatform(articlePath: string, config: ArticleConfig, pluginNameMapConfigPropertyName?: Record<string, string>): Promise<_artipub_core.PublishResult[]>;
validateConfig(config: any): boolean;
saveConfigToUserHome(saveConfig: ArticleConfig): void;
resolveConfigPath(configPath: string | undefined): string | undefined;
confirmConfig(config: ArticleConfig): Promise<void>;
handleAddOrUpdate(type: ActionType, articlePath: string, options: AddOrUpdateCommandOptions): Promise<RunResult>;
openConfigFile(options: ConfigCommandOptions): void;
clearCache(): void;
registerCommands(resolve: (value?: RunResult) => RunResult, reject: (message: string) => void, args?: any): void;
};
run(args?: any): Promise<RunResult>;
getHelpInfo(): string;
projectName: any;
nativePlatformSchema: ajv.JSONSchemaType<{
destination_path: string;
cdn_prefix?: string;
res_domain?: string;
}>;
notionPlatformSchema: ajv.JSONSchemaType<{
api_key: string;
data_base_id?: string;
page_id: string;
}>;
devToPlatformSchema: ajv.JSONSchemaType<{
api_key: string;
published?: boolean;
series?: string;
main_image?: string;
description?: string;
organization_id?: number;
}>;
schema: ajv.JSONSchemaType<{
githubOption: {
owner: string;
repo: string;
dir: string;
branch: string;
token: string;
cdn_prefix: string;
commit_author: string;
commit_email: string;
};
platforms: {
native?: {
destination_path: string;
cdn_prefix?: string;
res_domain?: string;
};
notion?: {
api_key: string;
data_base_id?: string;
page_id: string;
};
"dev.to"?: {
api_key: string;
published?: boolean;
series?: string;
main_image?: string;
description?: string;
organization_id?: number;
};
};
}>;
getConfigPath(dir: string): string | undefined;
loadConfig(configPath: string): Promise<ArticleConfig>;
};
export { type ActionType, type AddOrUpdateCommandOptions, type ArticleConfig, type ConfigCommandOptions, type PlatformAnswers, type PlatformOptions, type RunResult, _default as default };
//# sourceMappingURL=index.d.ts.map