35 lines
943 B
JavaScript
35 lines
943 B
JavaScript
var PlunkerBuilder = require('./builder');
|
|
|
|
function buildPlunkers(basePath, destPath, options = {}) {
|
|
configureBuilder(options);
|
|
var builder = new PlunkerBuilder(basePath, destPath, options);
|
|
builder.buildPlunkers();
|
|
}
|
|
|
|
function configureBuilder(options) {
|
|
options.addField = addField;
|
|
options.plunkerFileName = 'eplnkr';
|
|
options.url = 'https://embed.plnkr.co?show=preview';
|
|
options.writeNoLink = false;
|
|
options.embedded = true;
|
|
options.extraData = extraData;
|
|
}
|
|
|
|
function extraData(postData, config) {
|
|
postData['source[type]'] = config.description || 'Angular example';
|
|
postData['source[url]'] = 'https://angular.io'
|
|
}
|
|
|
|
function addField(postData, name, content) {
|
|
var encoding = 'utf8';
|
|
if (name.split('.').pop() === 'png') {
|
|
encoding = 'base64';
|
|
}
|
|
postData[`entries[${name}][content]`] = content;
|
|
postData[`entries[${name}][encoding]`] = encoding;
|
|
}
|
|
|
|
module.exports = {
|
|
buildPlunkers: buildPlunkers
|
|
};
|