@vivliostyle/cli
Version:
Save the pdf file via headless browser and Vivliostyle.
185 lines (178 loc) • 5.53 kB
TypeScript
import * as vite from 'vite';
import { VivliostyleConfigSchema, ParsedVivliostyleInlineConfig, ThemeSpecifier, VivliostylePackageMetadata, VivliostyleInlineConfig } from './config/schema.js';
export { StructuredDocument, StructuredDocumentSection } from './config/schema.js';
export { Metadata, StringifyMarkdownOptions, VFM, readMetadata } from '@vivliostyle/vfm';
export { createVitePlugin } from './vite-adapter.js';
import 'stream';
import 'unified';
import 'valibot';
/**
* This file was automatically generated by json-schema-to-typescript.
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
* and run json-schema-to-typescript to regenerate this file.
*/
type PublicationContexts = [] | ['https://schema.org'] | [
'https://schema.org',
'https://www.w3.org/ns/pub-context',
...(string | {
language: BCP47LanguageTag;
direction?: never;
[k: string]: unknown;
} | {
direction: 'ltr' | 'rtl';
language?: never;
[k: string]: unknown;
} | {
language: BCP47LanguageTag;
direction: 'ltr' | 'rtl';
[k: string]: unknown;
} | {
language?: never;
direction?: never;
[k: string]: unknown;
})[]
];
type BCP47LanguageTag = string;
type URL = string;
type UniqueStrings = string | string[];
type ListsOfItemList = SchemaOrgItemListObject | SchemaOrgItemListObject[];
type LocalizableStringOrObject = string | (string | LocalizableStringObject)[] | LocalizableStringObject;
type Contributor = string | (string | ContributorObject)[] | ContributorObject;
type URLs = string | string[];
type Duration = string;
type Languages = BCP47LanguageTag | BCP47LanguageTag[];
type Dates = string;
type ResourceCategorization = (URL | PublicationLinks) | (URL | PublicationLinks)[];
interface PublicationManifest$1 {
'@context': PublicationContexts;
type?: string | string[];
conformsTo: URL | URL[];
id?: string;
abridged?: boolean;
accessMode?: UniqueStrings;
accessModeSufficient?: ListsOfItemList;
accessibilityFeature?: UniqueStrings;
accessibilityHazard?: UniqueStrings;
accessibilitySummary?: LocalizableStringOrObject;
artist?: Contributor;
author?: Contributor;
colorist?: Contributor;
contributor?: Contributor;
creator?: Contributor;
editor?: Contributor;
illustrator?: Contributor;
inker?: Contributor;
letterer?: Contributor;
penciler?: Contributor;
publisher?: Contributor;
readBy?: Contributor;
translator?: Contributor;
url?: URLs;
duration?: Duration;
inLanguage?: Languages;
dateModified?: Dates;
datePublished?: Dates;
name?: LocalizableStringOrObject;
readingOrder?: ResourceCategorization;
resources?: ResourceCategorization;
links?: ResourceCategorization;
readingProgression?: 'ltr' | 'rtl';
[k: string]: unknown;
}
interface SchemaOrgItemListObject {
type: 'ItemList' | string[];
itemListElement: string[];
[k: string]: unknown;
}
interface LocalizableStringObject {
value: string;
language?: BCP47LanguageTag;
[k: string]: unknown;
}
interface ContributorObject {
name: LocalizableStringOrObject;
id?: URL;
type?: ('Person' | 'Organization') | string[];
url?: URL;
identifier?: string[];
[k: string]: unknown;
}
interface PublicationLinks {
type?: 'LinkedResource' | string[];
url: URL;
encodingFormat?: string;
name?: LocalizableStringOrObject;
description?: string | LocalizableStringObject;
rel?: string | string[];
integrity?: string;
duration?: Duration;
alternate?: ResourceCategorization;
[k: string]: unknown;
}
/**
* Define the configuration for Vivliostyle CLI.
*/
declare function defineConfig(config: VivliostyleConfigSchema): VivliostyleConfigSchema;
interface PackageJson {
name: string;
version: string;
description?: string;
dependencies?: Record<string, string>;
dist?: {
fileCount: number;
integrity: string;
shasum: string;
signatures: {
keyid: string;
sig: string;
}[];
tarball: string;
unpackedSize: number;
};
vivliostyle?: unknown;
}
type VivliostylePackageJson = Pick<PackageJson, 'name' | 'version'> & {
vivliostyle?: VivliostylePackageMetadata;
};
interface TemplateVariable extends Omit<ParsedVivliostyleInlineConfig, 'theme'> {
projectPath: string;
title: string;
author: string;
language: string;
theme?: ThemeSpecifier;
themePackage?: VivliostylePackageJson;
cliVersion: string;
coreVersion: string;
}
/** @hidden */
type PublicationManifest = PublicationManifest$1;
/**
* Build publication file(s) from the given configuration.
*
* ```ts
* import { build } from '@vivliostyle/cli';
* build({
* configPath: './vivliostyle.config.js',
* logLevel: 'silent',
* });
* ```
*
* @param options
* @returns
*/
declare function build(options: VivliostyleInlineConfig): Promise<void>;
/**
* Open a browser for previewing the publication.
*
* @param options
* @returns
*/
declare function preview(options: VivliostyleInlineConfig): Promise<vite.ViteDevServer>;
/**
* Scaffold a new Vivliostyle project.
*
* @param options
* @returns
*/
declare function create(options: VivliostyleInlineConfig): Promise<void>;
export { type PublicationManifest, type TemplateVariable, VivliostyleConfigSchema, VivliostylePackageMetadata, build, create, defineConfig, preview };