src/Publisher/Builder/StaticFileBuilder.js
import path from 'path';
import DocBuilder from './DocBuilder.js';
/**
* Static file output builder class.
*/
export default class StaticFileBuilder extends DocBuilder {
/**
* execute build output.
* @param {function(content: string, filePath: string)} callback - is called with each output.
*/
exec(callback) {
callback(path.resolve(__dirname, './template/css'), './css');
callback(path.resolve(__dirname, './template/script'), './script');
callback(path.resolve(__dirname, './template/image'), './image');
// see DocBuilder#_buildLayoutDoc
let scripts = this._config.scripts || [];
for (let i = 0; i < scripts.length; i++) {
let userScript = scripts[i];
let name = `./user/script/${i}-${path.basename(userScript)}`;
callback(userScript, name);
}
let styles = this._config.styles || [];
for (let i = 0; i < styles.length; i++) {
let userStyle = styles[i];
let name = `./user/css/${i}-${path.basename(userStyle)}`;
callback(userStyle, name);
}
}
}