{"id":73981,"date":"2017-09-01T16:58:52","date_gmt":"2017-09-01T16:58:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/essential-script\/"},"modified":"2018-01-17T10:29:16","modified_gmt":"2018-01-17T10:29:16","slug":"essential-script","status":"closed","type":"plugin","link":"https:\/\/uk.wordpress.org\/plugins\/essential-script\/","author":27219,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.8.1","stable_tag":"0.8.1","tested":"4.9.29","requires":"4.9","requires_php":"5.4","requires_plugins":"","header_name":"Essential Script","header_author":"Giulio","header_description":"Essential Script plugin offers you the ability to enqueue and manage your essential script through a basic input interface.","assets_banners_color":"fafafa","last_updated":"2018-01-17 10:29:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/tetravalence\/essential-script","header_author_uri":"https:\/\/www.freelancer.com\/u\/Tetravalente.html","rating":0,"author_block_rating":0,"active_installs":0,"downloads":1599,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"0.8":"<p>0.8 is a major update. Make a script backup and disable Essential Script before upgrading.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":"1723343","resolution":"128x128","location":"assets"},"icon-256x256.png":{"filename":"icon-256x256.png","revision":"1723343","resolution":"256x256","location":"assets"}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":"1732788","resolution":"1544x500","location":"assets"},"banner-772x250.png":{"filename":"banner-772x250.png","revision":"1732788","resolution":"772x250","location":"assets"}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.3","0.3.1","0.4","0.5","0.5.1","0.6","0.6.1","0.7","0.7.1","0.8","0.8.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":"1774520","resolution":"1","location":"assets"},"screenshot-2.png":{"filename":"screenshot-2.png","revision":"1774520","resolution":"2","location":"assets"},"screenshot-3.png":{"filename":"screenshot-3.png","revision":"1742027","resolution":"3","location":"assets"}},"screenshots":{"1":"Essential Script admin dashboard","2":"Essential Script does use of wp_enqueue_scripts","3":"Essential Script widget"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[148,1214,356,229,22210],"plugin_category":[59],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-73981","plugin","type-plugin","status-closed","hentry","plugin_tags-adsense","plugin_tags-code","plugin_tags-css","plugin_tags-javascript","plugin_tags-scripting","plugin_category-utilities-and-tools","plugin_committers-ferocious"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/essential-script_fafafa.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/essential-script\/assets\/screenshot-1.png?rev=1774520","caption":"Essential Script admin dashboard"},{"src":"https:\/\/ps.w.org\/essential-script\/assets\/screenshot-2.png?rev=1774520","caption":"Essential Script does use of wp_enqueue_scripts"},{"src":"https:\/\/ps.w.org\/essential-script\/assets\/screenshot-3.png?rev=1742027","caption":"Essential Script widget"}],"raw_content":"<!--section=description-->\n<p>Essential Script plugin offers you the ability to plug and manage your client-side script, which is an essential part of your website, through a versatile text editor.<\/p>\n\n<p>For example, through Essential Script interface you can add your banner in one location and configure what code is allowed to display on the Web page.<\/p>\n\n<h3>Features<\/h3>\n\n<ol>\n<li>Streamlined Option Panel.<\/li>\n<li>Setup in minutes.<\/li>\n<li>Uses <a href=\"http:\/\/codemirror.net\/\">Codemirror<\/a> for syntax highlighting.<\/li>\n<li>You choose where to append\/include the script and where to exclude it.<\/li>\n<li>Support JavaScript\/XML\/HTML.<\/li>\n<li>With Widgets.<\/li>\n<li>Now with support for Shortcodes API!<\/li>\n<li>New! Include options for async and defer attributes<\/li>\n<li>Free as in speech.<\/li>\n<\/ol>\n\n<h3>Development<\/h3>\n\n<p>Sources of this plugin are available both in SVN and Git:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/plugins.svn.wordpress.org\/essential-script\/\">WordPress SVN repository<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/tetravalence\/essential-script\">GitHub<\/a><\/li>\n<\/ul>\n\n<h3>Known issue<\/h3>\n\n<ul>\n<li>This plugin has known conflict with JetPack Embedded Shortcode. You need to disable Embedded Shortcode if you want to use Essential Script and JetPack together ( See also: <a href=\"https:\/\/jetpack.com\/support\/shortcode-embeds\/\">Jetpack Shortcode Embeds<\/a> ).<\/li>\n<\/ul>\n\n<h3>TODO<\/h3>\n\n<ul>\n<li>Find a reliable solution for uploading and managing script files<\/li>\n<li>Use CodeMirror addons.<\/li>\n<li>Improve the user interface.<\/li>\n<li>Support for reusable components.<\/li>\n<li>Complete script engine with support for user-genereted content.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<p>This section describes how to install the plugin and get it working:<\/p>\n\n<ol>\n<li>Upload the <code>essential-script<\/code> folder to  the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in Wordpress.<\/li>\n<li>Access the 'Tools' menu in Wordpress to configure the plugin.<\/li>\n<\/ol>\n\n<p>Or install the plugin through the WordPress plugins screen directly.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt>Installation Instructions<\/dt>\n<dd><p>This section describes how to install the plugin and get it working:<\/p>\n\n<ol>\n<li>Upload the <code>essential-script<\/code> folder to  the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in Wordpress.<\/li>\n<li>Access the 'Tools' menu in Wordpress to configure the plugin.<\/li>\n<\/ol>\n\n<p>Or install the plugin through the WordPress plugins screen directly.<\/p><\/dd>\n<dt>Will I lose all of my custom scripts if I uninstall the plugin?<\/dt>\n<dd><p>No, you won't. If you use the option <code>File<\/code> to store the script then you can find it saved in the upload directory of Wordpress.<\/p><\/dd>\n<dt>Why does this plugin work for untrusted users?<\/dt>\n<dd><p>Wordpress includes the ability to create a network of sites. If you install a multisite network, then you can allow end users to use Essential Scripts. In this case they are able to post a limited set of HTML markup and even JavaScript code. See <code>PageEssentialscript.php<\/code> for more info and settings.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.8.1<\/h4>\n\n<ul>\n<li>Remove incorrect try-catch implementation<\/li>\n<li>Updated to re-use CodeMirror as bundled with Wordpress core library<\/li>\n<li>Prevents uncaught error if class name is an invalid string<\/li>\n<li>Document <code>Options<\/code>, fix some inconsistencies<\/li>\n<\/ul>\n\n<h4>0.8<\/h4>\n\n<ul>\n<li>Save properties with array object instead of array<\/li>\n<li>Untrusted users are allowed to post only a limited set of HTML markup<\/li>\n<li>Implement the Decorator pattern for enqueuing scripts to the front page<\/li>\n<li>Frontend: Refactoring the <code>Strategy<\/code> pattern to remove conditional statements<\/li>\n<li>Add FAQ section and tested up to Wordpress 4.9.1<\/li>\n<li>Improve the documentation about the <code>Template Method<\/code> pattern<\/li>\n<li>Add Context class to separate a request from a concrete strategy<\/li>\n<li>Rename class name from <code>footer<\/code> to <code>foot<\/code> for using variable functions<\/li>\n<li>Update minimum PHP version requirement<\/li>\n<li>Add <code>async<\/code> and <code>defer<\/code> options to Settings page<\/li>\n<li>Fix improper use of wp_enqueue_scripts with Shortcode<\/li>\n<\/ul>\n\n<h4>0.7.1<\/h4>\n\n<ul>\n<li>Upgrade CodeMirror from 5.31.0 to 5.32.0<\/li>\n<li>Fix problem with <code>wp_enqueue_scripts<\/code> option was enabled with XML mode<\/li>\n<li>Fix Syntax highlighter doesn't match Essential Script option when run in Widget<\/li>\n<\/ul>\n\n<h4>0.7<\/h4>\n\n<ul>\n<li>Widgets: start support for Code Editor API<\/li>\n<li>Move Codemirror code to a more suitable directory<\/li>\n<li>Introduce decorator for the new Code Editor API with Wordpress 4.9<\/li>\n<li>Fix if statements causing <code>Undefined index<\/code> error in <code>Main.php<\/code><\/li>\n<li>Add option for syntax higlighter<\/li>\n<li>Improve the <code>Queuing<\/code> code by implementing the Decorator Pattern<\/li>\n<\/ul>\n\n<h4>0.6.1<\/h4>\n\n<ul>\n<li>Update i18n related po files<\/li>\n<li>Remove files and directories no longer necessary<\/li>\n<\/ul>\n\n<h4>0.6<\/h4>\n\n<ul>\n<li>Upgrade CodeMirror from 5.30.0 to 5.31.0<\/li>\n<li>Move the CodeMirror API in its own namespace<\/li>\n<li>Improves the <code>Settings API<\/code> code by implementing the Factory Pattern<\/li>\n<\/ul>\n\n<h4>0.5.1<\/h4>\n\n<ul>\n<li>Fix incorrect variable name <code>filter<\/code> in <code>essential-script.php<\/code><\/li>\n<\/ul>\n\n<h4>0.5<\/h4>\n\n<ul>\n<li>Add support for Shortcode API<\/li>\n<li>Introduce <code>File<\/code> class for file management<\/li>\n<li>Frontend: Restructure the code and implement Strategy pattern<\/li>\n<li>Add new checkbox to use with Shortcode<\/li>\n<\/ul>\n\n<h4>0.4.1<\/h4>\n\n<ul>\n<li>Add Note for proper use of wp_enqueue_scripts option<\/li>\n<li>Checkbox switches off when Wordpress DB is selected<\/li>\n<\/ul>\n\n<h4>0.4<\/h4>\n\n<ul>\n<li>Add checkbox to allow the use of wp_enqueue_scripts where is possible<\/li>\n<li>Use array_key_exists instead of isset<\/li>\n<li>No longer it does exclude pages but includes<\/li>\n<li>Rename register_scripts to admin_register_scripts<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>Fix Missing argument in <code>Page.php<\/code> on line 52 which prevented the editor from working<\/li>\n<\/ul>\n\n<h4>0.3<\/h4>\n\n<ul>\n<li>Upgrade CodeMirror from 5.29.0 to 5.30.0<\/li>\n<li>Introduce separate javascript file in preparation for 0.3 version<\/li>\n<li>Initial support for Widgets API<\/li>\n<li>Fix deprecated non-static method called statically<\/li>\n<\/ul>\n\n<h4>0.2<\/h4>\n\n<ul>\n<li>(tag: v0.2) First release of Essential Script<\/li>\n<\/ul>","raw_excerpt":"Essential Script adds client-side script to individual areas of your Web site.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/73981","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=73981"}],"author":[{"embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ferocious"}],"wp:attachment":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=73981"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=73981"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=73981"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=73981"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=73981"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=73981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}