wordpess-plugins-generator
Version:
help to wordpress plugin developer to making fast development environment and creation all file and folder need. for more information see this link : https://developer.wordpress.org/plugins/the-basics/best-practices/
135 lines (109 loc) • 3.48 kB
JavaScript
const readline = require("readline");
const fs = require("fs");
var pluginName = "";
var today = new Date().getFullYear();
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question("What is your wordpress `Plugin` name ? ",(answer)=>{
console.log("--------------------- wordpress plugin generator -------------------------");
pluginName = answer.replace("-", "_");
fs.mkdir(pluginName, function(){
console.log(pluginName+" is create !");
});
fs.mkdir(pluginName+"/languages", function(){
console.log(pluginName+"/languages is create !");
});
fs.mkdir(pluginName+"/includes", function(){
console.log(pluginName+"/includes is create !");
});
fs.mkdir(pluginName+"/admin", function(){
console.log(pluginName+"/admin is create !");
});
fs.mkdir(pluginName+"/admin/js", function(){
console.log(pluginName+"/admin/js is create !");
});
fs.mkdir(pluginName+"/admin/css", function(){
console.log(pluginName+"/admin/js is create !");
});
fs.mkdir(pluginName+"/admin/images", function(){
console.log(pluginName+"/admin/images is create !");
});
fs.mkdir(pluginName+"/public", function(){
console.log(pluginName+"/public is create !");
});
fs.mkdir(pluginName+"/public/js", function(){
console.log(pluginName+"/public/js is create !");
});
fs.mkdir(pluginName+"/public/css", function(){
console.log(pluginName+"/public/css is create !");
});
fs.mkdir(pluginName+"/public/images", function(){
console.log(pluginName+"/public/images is create !");
console.log("--------------------- all file and folder create -------------------------");
});
fs.writeFile(pluginName+"/"+pluginName+".php",
'<?php\n'+
'\n'+
'defined("ABSPATH") or exit();\n'+
'\n'+
'/*\n'+
'Plugin Name: ' + pluginName + '\n'+
'Plugin URI: http://your-website.com\n'+
'Description: plugin description.\n'+
'Author: your name and family\n'+
'Author URI: http://your-personal-website.com\n'+
'Version: 1.0.0\n'+
'License: GPLv2 or later\n'+
'*/\n'+
'\n'+
'register_activation_hook(__FILE__, "' + pluginName + '_active");\n' +
'register_deactivation_hook(__FILE__, "' + pluginName + '_deactive");\n' +
'\n'+
'\n'+
'function ' + pluginName + '_active() {'+
'\n'+
'\n'+
'}'+
'\n'+
'\n'+
'function ' + pluginName + '_deactive() {'+
'\n'+
'\n'+
'}'
);
fs.writeFile(pluginName+"/uninstall.php",
'<?php\n'+
'\n'+
'defined("ABSPATH") or exit();\n'+
'\n'
);
fs.writeFile(pluginName+"/public/css/"+ pluginName + "_style.css",
'\n'+
'/*\n'+
'Style info : your style info\n'+
'Author: your name and family\n'+
'Author URI: http://your-personal-website.com\n'+
'Copyrghit : Copyright your-company-name (c) '+ today +' Copyright Holder All Rights Reserved.\n'+
'*/\n'+
'\n'
);
fs.writeFile(pluginName+"/public/js/" + pluginName + "_app.js",
'"use strict";'
);
fs.writeFile(pluginName+"/admin/css/admin_style.css",
'\n'+
'/*\n'+
'Style info : your style info\n'+
'Author: your name and family\n'+
'Author URI: http://your-personal-website.com\n'+
'Copyrghit : Copyright your-company-name (c) '+ today +' Copyright Holder All Rights Reserved.\n'+
'*/\n'+
'\n'
);
fs.writeFile(pluginName+"/admin/js/admin_js.js",
'"use strict";'
);
rl.close();
});