html-webpack-c5-theme-plugin
Version:
c5 html-webpack-plugin to generate c5 theme files
54 lines (53 loc) • 1.68 kB
TypeScript
import webpack from "webpack";
import parse5 from "parse5";
export interface C5Element {
name: string;
content: string;
filename: string;
startCom: number;
startPos: number;
endPos: number;
endCom: number;
files: string[];
}
export interface C5PluginConfig {
themeHandle: string;
themeName: string;
themeDescription?: string;
packageHandle?: string;
defaultPage: string;
skipIndex?: boolean;
deleteHtml?: boolean;
}
export interface C5Area {
name: string;
global: boolean;
useGrid: boolean;
editable: boolean;
start?: number;
end?: number;
}
export declare class HtmlWebpackC5ThemePlugin {
private _htmlPlugin;
private hasAreaTag;
private hasElement;
private elements;
private areas;
private generatedTheme;
private _options;
constructor(_options: C5PluginConfig | string, _htmlPlugin: any);
getConcrete5Output(html: string): string;
outputAreas(area: C5Area): string;
getAreas(document: any): boolean;
isElement(comment: parse5.DefaultTreeCommentNode): false | RegExpMatchArray | null;
getElements(document: any, filename: string): boolean;
getElement(comment: parse5.DefaultTreeCommentNode, filename: string): void;
isArea(area: parse5.DefaultTreeNode): boolean;
getElementHtml(element: C5Element, html: string): string;
getC5Area(area: parse5.DefaultTreeElement): void;
generateThemeFile(compilation: any): void;
outputC5Theme(content: string, name: string, compilation: any): void;
apply(compiler: webpack.Compiler): void;
removeElements(html: string): string;
}
export default HtmlWebpackC5ThemePlugin;