akasharender
Version:
Rendering support for generating static HTML websites or EPUB eBooks
77 lines • 2.79 kB
TypeScript
/**
*
* Copyright 2014-2022 David Herron
*
* This file is part of AkashaCMS (http://akashacms.com/).
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Configuration } from './index.js';
import { RenderingContext } from '@akashacms/renderers';
/**
* Where renderDocument is meant for a document on disk
* and indexed by a DocumentsFileCache instance, this
* function is meant for documents created from in-memory
* data. For instance, the tagged-content plugin generates
* tag pages listing links to documents based on their tag.
* These pages are instantiate out of data rather than
* existing on-disk.
*
* Required data:
* * Blank page - with frontmatter including a "layout" template reference
* * File-name to use for virtual page, which also determines the rendered output file
* * Metadata derived from the frontmatter and filled with other stuff including the data to render into the page,
*
* @param config
* @param docInfo
*/
export declare function renderVirtualDocument(config: Configuration, docInfo: {
vpath: string;
document: string;
}): Promise<void>;
/**
* The core part of rendering content using a renderer.
* This function looks for the renderer, and if none is
* found it simply returns. It then does a little setup
* to the metadata object, and calls the render function
*
* @param config - AkashaCMS Configuration
* @param rc - RenderingContext for use with Renderers
* @returns
*/
export declare function renderContent(config: Configuration, rc: RenderingContext): Promise<{
rendererName?: string;
format?: string;
rendered: string;
}>;
/**
* Render a document, accounting for the main content,
* a layout template (if any), and Mahabhuta (if the content
* output is HTML). This also handles rendering other types
* of content such as LESS CSS files.
*
* @param config
* @param docInfo
* @returns
*/
export declare function renderDocument(config: Configuration, docInfo: any): Promise<string>;
/**
* Render all the documents in a site, limiting
* the number of simultaneous rendering tasks
* to the number in config.concurrency.
*
* @param config
* @returns
*/
export declare function render(config: any): Promise<any[]>;
//# sourceMappingURL=render.d.ts.map