{"id":286765,"date":"2026-04-07T04:26:30","date_gmt":"2026-04-07T04:26:30","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/codellia\/"},"modified":"2026-04-07T05:38:35","modified_gmt":"2026-04-07T05:38:35","slug":"kayzart-live-code-editor","status":"publish","type":"plugin","link":"https:\/\/es-mx.wordpress.org\/plugins\/kayzart-live-code-editor\/","author":23452949,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.3.6","stable_tag":"1.3.6","tested":"6.9.4","requires":"6.6","requires_php":"8.2","requires_plugins":null,"header_name":"KayzArt Live Code Editor","header_author":"K's Art Office","header_description":"Live HTML\/CSS\/JS editor with real-time preview and Tailwind CSS support for WordPress.","assets_banners_color":"","last_updated":"2026-04-07 05:38:35","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/kayzart-live-code-editor\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":60,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.5":{"tag":"1.3.5","author":"ksartoffice","date":"2026-04-07 04:26:09"},"1.3.6":{"tag":"1.3.6","author":"ksartoffice","date":"2026-04-07 05:38:35"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.5","1.3.6"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3500324,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3500324,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Editor screen.","2":"Tailwind CSS mode."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[4541,2224,16382,80,197499],"plugin_category":[43],"plugin_contributors":[259596],"plugin_business_model":[],"class_list":["post-286765","plugin","type-plugin","status-publish","hentry","plugin_tags-code-editor","plugin_tags-codemirror","plugin_tags-live-preview","plugin_tags-shortcode","plugin_tags-tailwind","plugin_category-customization","plugin_contributors-ksartoffice","plugin_committers-ksartoffice"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/kayzart-live-code-editor.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/kayzart-live-code-editor\/assets\/screenshot-1.png?rev=3500324","caption":"Editor screen."},{"src":"https:\/\/ps.w.org\/kayzart-live-code-editor\/assets\/screenshot-2.png?rev=3500324","caption":"Tailwind CSS mode."}],"raw_content":"<!--section=description-->\n<p>KayzArt Live Code Editor provides a dedicated editor for building HTML, CSS, and JavaScript snippets with a live preview. It adds a \"KayzArt\" custom post type, opens new KayzArt posts in the editor, and adds an \"Edit with KayzArt\" button to the standard editor.<\/p>\n\n<p>Features:\n* Custom KayzArt post type and dedicated editor\n* CodeMirror 6 editor with HTML\/CSS\/JS tabs and live iframe preview\n* JavaScript ES Module support with execution type switch (Classic \/ Module)\n* Setup wizard (Normal\/Tailwind\/Import JSON) with per-post mode lock\n* Tailwind mode with on-demand Tailwind CSS v4 compilation\n* Import\/export JSON projects\n* Per-post template mode control: Default\/Standalone\/Theme\n* External scripts\/styles (https only), live edit highlight, real-time DOM selection, and optional Shadow DOM isolation\n* External embedding (enable in settings): [kayzart post_id=\"123\"]\n* Allowlist for shortcode execution inside external embeds (one shortcode tag per line)\n* Optional single-page disable for external-embed output<\/p>\n\n<p>External connections and privacy:\n* By default, KayzArt does not load external scripts or styles and does not send telemetry.\n* External requests happen only when an authorized user explicitly adds external HTTPS URLs in KayzArt settings.\n* Added external resources are requested both in preview and on front-end output where the KayzArt content is rendered.\n* Add only trusted URLs.<\/p>\n\n<p>Development repository and build:\n* Source repository: https:\/\/github.com\/ksartoffice\/kayzart-live-code-editor\n* Generated files used by WordPress: assets\/dist\/main.js and assets\/dist\/style.css\n* Source files for generated assets: src\/admin\/main.ts, src\/admin\/style.css, and related files under src\/admin\/\n* Build configuration files: package.json, package-lock.json, vite.config.ts, tsconfig.json\n* Build steps:\n1. npm install\n2. composer install\n3. npm run build\n4. npm run plugin-zip<\/p>\n\n<h3>Credits<\/h3>\n\n<p>This plugin bundles third-party libraries:\n* CodeMirror - MIT License - https:\/\/github.com\/codemirror\n* Emmet CodeMirror 6 Plugin - MIT License - https:\/\/github.com\/emmetio\/codemirror6-plugin\n* TailwindPHP (fork) - MIT License - https:\/\/github.com\/ksartoffice\/tailwindphp (upstream: https:\/\/github.com\/dnnsjsk\/tailwindphp)<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to \/wp-content\/plugins\/kayzart-live-code-editor\/.<\/li>\n<li>Activate KayzArt Live Code Editor through the Plugins screen.<\/li>\n<li>Go to KayzArt in the admin menu and create a new KayzArt item.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"who%20can%20edit%20kayzart%20posts%3F\"><h3>Who can edit KayzArt posts?<\/h3><\/dt>\n<dd><p>Users who can edit the post can use the editor. JavaScript, external scripts\/styles, shadow DOM, external embedding, and single-page settings require the unfiltered_html capability.<\/p><\/dd>\n<dt id=\"does%20kayzart%20contact%20external%20servers%20by%20default%3F\"><h3>Does KayzArt contact external servers by default?<\/h3><\/dt>\n<dd><p>No. External requests are disabled by default. Requests are made only when you explicitly configure external HTTPS script\/style URLs in KayzArt settings.<\/p><\/dd>\n<dt id=\"how%20do%20i%20embed%20a%20page%20created%20with%20kayzart%3F\"><h3>How do I embed a page created with KayzArt?<\/h3><\/dt>\n<dd><p>Enable external embedding in KayzArt settings, then use [kayzart post_id=\"123\"] with the post ID of the page you created in KayzArt. For shortcode execution inside the embedded content, add allowed tags in KayzArt settings (one tag per line). Non-allowlisted tags remain plain text.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20the%20single%20page%20view%3F\"><h3>Can I disable the single page view?<\/h3><\/dt>\n<dd><p>Yes. Enable external embedding and turn on \"Do not publish as single page.\" Disabled single pages are marked noindex and excluded from search\/archives, and the single-page request is redirected (or can be forced to 404 via the kayzart_single_page_redirect filter).<\/p><\/dd>\n<dt id=\"can%20i%20switch%20between%20normal%20and%20tailwind%20modes%3F\"><h3>Can I switch between Normal and Tailwind modes?<\/h3><\/dt>\n<dd><p>The setup wizard lets you choose Normal or Tailwind. The choice is locked per KayzArt post.<\/p><\/dd>\n<dt id=\"which%20tailwind%20css%20version%20is%20supported%3F\"><h3>Which Tailwind CSS version is supported?<\/h3><\/dt>\n<dd><p>Tailwind mode supports Tailwind CSS v4.<\/p><\/dd>\n<dt id=\"how%20does%20template%20mode%20work%3F\"><h3>How does template mode work?<\/h3><\/dt>\n<dd><p>Each KayzArt post can use Default, Standalone, or Theme template mode. Default follows KayzArt &gt; Settings &gt; Default template mode. If Theme mode does not expose the_content in your theme, KayzArt preview prompts to switch to Standalone.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20kayzart%20url%20slug%3F\"><h3>Can I change the KayzArt URL slug?<\/h3><\/dt>\n<dd><p>Yes. Go to KayzArt &gt; Settings and update the KayzArt slug.<\/p><\/dd>\n<dt id=\"can%20i%20set%20a%20default%20template%20mode%20for%20new%20previews%3F\"><h3>Can I set a default template mode for new previews?<\/h3><\/dt>\n<dd><p>Yes. Go to KayzArt &gt; Settings and set the Default template mode (Standalone\/Theme).<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20delete%20data%20on%20uninstall%3F\"><h3>Does the plugin delete data on uninstall?<\/h3><\/dt>\n<dd><p>By default, KayzArt posts are kept when the plugin is uninstalled. You can enable data removal from the KayzArt &gt; Settings screen.<\/p><\/dd>\n<dt id=\"where%20is%20the%20code%20stored%3F\"><h3>Where is the code stored?<\/h3><\/dt>\n<dd><p>HTML is stored in the post content. CSS\/JS and other settings are stored in post meta.<\/p><\/dd>\n<dt id=\"where%20is%20the%20development%20repository%20and%20how%20do%20i%20build%20the%20plugin%3F\"><h3>Where is the development repository and how do I build the plugin?<\/h3><\/dt>\n<dd><p>Development repository: https:\/\/github.com\/ksartoffice\/kayzart-live-code-editor<\/p>\n\n<p>Generated files in the distributed plugin:\n* assets\/dist\/main.js\n* assets\/dist\/style.css<\/p>\n\n<p>Source files and build configuration in this repository:\n* src\/admin\/main.ts and src\/admin\/style.css (plus related source files under src\/admin\/)\n* package.json, package-lock.json, vite.config.ts, tsconfig.json<\/p>\n\n<p>Build commands:\n1. npm install\n2. composer install\n3. npm run build\n4. npm run plugin-zip<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>Update: Minor changes.<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>Docs: Add screenshots section.<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Update: Bump TailwindPHP fork dependency to v1.3.0.2.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Improve: Add resizable settings panel with width persistence.<\/li>\n<li>Add: Introduce preview override action events.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Security: Security update and hardening improvements.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Fix: Bug fixes and stability improvements.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Introduce CodeMirror 6 editor runtime and remove legacy bundled loader assets.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fix: Minor internal code cleanup<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Add JavaScript execution mode selector (Classic script \/ Module) in the JavaScript tab.<\/li>\n<li>Add ES Module runtime contract support with context injection (<code>root<\/code>, <code>document<\/code>, <code>host<\/code>, <code>onCleanup<\/code>).<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Fix: Bug fixes and stability improvements.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Security: Security update and hardening improvements.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Security: Implemented security-related improvements and hardening updates.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Add allowlist settings for shortcode execution in external embeds.<\/li>\n<li>Other: Internal improvements and maintenance updates.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"KayzArt Live Code Editor - Live HTML\/CSS\/JS Editor with Tailwind CSS v4 support.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/286765","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=286765"}],"author":[{"embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ksartoffice"}],"wp:attachment":[{"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=286765"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=286765"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=286765"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=286765"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=286765"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=286765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}