{"id":286765,"date":"2026-04-07T04:26:30","date_gmt":"2026-04-07T04:26:30","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/codellia\/"},"modified":"2026-07-08T05:11:57","modified_gmt":"2026-07-08T05:11:57","slug":"kayzart-live-code-editor","status":"publish","type":"plugin","link":"https:\/\/vec.wordpress.org\/plugins\/kayzart-live-code-editor\/","author":23452949,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.2.3","stable_tag":"2.2.3","tested":"7.0","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"Kayzart \u2014 Live HTML Landing Pages","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":"384053","last_updated":"2026-07-08 05:11:57","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":514,"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"},"2.0.2":{"tag":"2.0.2","author":"ksartoffice","date":"2026-05-27 07:25:59"},"2.0.3":{"tag":"2.0.3","author":"ksartoffice","date":"2026-06-17 07:25:36"},"2.0.4":{"tag":"2.0.4","author":"ksartoffice","date":"2026-06-17 08:14:01"},"2.0.5":{"tag":"2.0.5","author":"ksartoffice","date":"2026-06-24 00:53:55"},"2.0.6":{"tag":"2.0.6","author":"ksartoffice","date":"2026-06-24 05:59:13"},"2.0.7":{"tag":"2.0.7","author":"ksartoffice","date":"2026-06-24 07:27:01"},"2.1.0":{"tag":"2.1.0","author":"ksartoffice","date":"2026-07-01 06:11:38"},"2.1.1":{"tag":"2.1.1","author":"ksartoffice","date":"2026-07-01 07:55:13"},"2.2.0":{"tag":"2.2.0","author":"ksartoffice","date":"2026-07-06 23:59:09"},"2.2.1":{"tag":"2.2.1","author":"ksartoffice","date":"2026-07-07 02:20:21"},"2.2.2":{"tag":"2.2.2","author":"ksartoffice","date":"2026-07-07 08:11:37"},"2.2.3":{"tag":"2.2.3","author":"ksartoffice","date":"2026-07-08 05:11:57"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3582793,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3582793,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3583981,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3583981,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.5","1.3.6","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.1.0","2.1.1","2.2.0","2.2.1","2.2.2","2.2.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3575374,"resolution":"1","location":"assets","locale":"","width":1920,"height":945},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3575374,"resolution":"2","location":"assets","locale":"","width":1920,"height":945},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3575374,"resolution":"3","location":"assets","locale":"","width":1920,"height":945},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3575374,"resolution":"4","location":"assets","locale":"","width":1920,"height":945},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3575374,"resolution":"5","location":"assets","locale":"","width":1920,"height":945},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3575374,"resolution":"6","location":"assets","locale":"","width":1920,"height":945},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3575374,"resolution":"7","location":"assets","locale":"","width":1920,"height":945}},"screenshots":{"1":"Choose Normal HTML\/CSS mode or TailwindCSS before editing the landing page.","2":"Start from a clean split editor with HTML, CSS, JavaScript, and live preview panes.","3":"Open the full HTML import dialog for a complete HTML document.","4":"Paste a complete HTML document from any source \u2014 hand-written, a template, or an AI tool.","5":"Review the detected HTML, head, CSS, and JavaScript sections before importing.","6":"Edit the imported code while the live preview renders the landing page immediately.","7":"Select preview text and refine the matching element from the Elements panel."}},"plugin_section":[],"plugin_tags":[5554,3075,808,16382,197499],"plugin_category":[43],"plugin_contributors":[259596],"plugin_business_model":[],"class_list":["post-286765","plugin","type-plugin","status-publish","hentry","plugin_tags-custom-html","plugin_tags-html-editor","plugin_tags-landing-page","plugin_tags-live-preview","plugin_tags-tailwind","plugin_category-customization","plugin_contributors-ksartoffice","plugin_committers-ksartoffice"],"banners":{"banner":"https:\/\/ps.w.org\/kayzart-live-code-editor\/assets\/banner-772x250.png?rev=3583981","banner_2x":"https:\/\/ps.w.org\/kayzart-live-code-editor\/assets\/banner-1544x500.png?rev=3583981","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/kayzart-live-code-editor\/assets\/icon-128x128.png?rev=3582793","icon_2x":"https:\/\/ps.w.org\/kayzart-live-code-editor\/assets\/icon-256x256.png?rev=3582793","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/kayzart-live-code-editor\/assets\/screenshot-1.png?rev=3575374","caption":"Choose Normal HTML\/CSS mode or TailwindCSS before editing the landing page."},{"src":"https:\/\/ps.w.org\/kayzart-live-code-editor\/assets\/screenshot-2.png?rev=3575374","caption":"Start from a clean split editor with HTML, CSS, JavaScript, and live preview panes."},{"src":"https:\/\/ps.w.org\/kayzart-live-code-editor\/assets\/screenshot-3.png?rev=3575374","caption":"Open the full HTML import dialog for a complete HTML document."},{"src":"https:\/\/ps.w.org\/kayzart-live-code-editor\/assets\/screenshot-4.png?rev=3575374","caption":"Paste a complete HTML document from any source \u2014 hand-written, a template, or an AI tool."},{"src":"https:\/\/ps.w.org\/kayzart-live-code-editor\/assets\/screenshot-5.png?rev=3575374","caption":"Review the detected HTML, head, CSS, and JavaScript sections before importing."},{"src":"https:\/\/ps.w.org\/kayzart-live-code-editor\/assets\/screenshot-6.png?rev=3575374","caption":"Edit the imported code while the live preview renders the landing page immediately."},{"src":"https:\/\/ps.w.org\/kayzart-live-code-editor\/assets\/screenshot-7.png?rev=3575374","caption":"Select preview text and refine the matching element from the Elements panel."}],"raw_content":"<!--section=description-->\n<p>Kayzart turns custom HTML, CSS, and JavaScript into a real, publishable WordPress landing page \u2014 rendered live as you edit, kept clean and independent from your active theme, with no page builder and no build tooling to set up.<\/p>\n\n<p>Write the page by hand, start from a template, drop in code from a designer, or paste what an AI tool gave you. The source doesn't matter \u2014 Kayzart is where that code becomes a page you can preview, keep editing, and ship in minutes, without a child theme and without fighting your theme's header, footer, and styles.<\/p>\n\n<p><strong>Who this is for<\/strong>\nPeople comfortable with HTML\/CSS who want full control over the result \u2014 freelancers, agencies, and developers who need a clean landing page fast, without a child theme, a page builder, or a build pipeline. Non-developers can still tweak text, links, and images visually from the Elements panel.<\/p>\n\n<p><strong>What you can do<\/strong>\n* Edit everything live with a CodeMirror 6 editor and instant iframe preview\n* Click an element in the preview to jump to its code (real-time DOM selection)\n* Keep the page theme-independent in Standalone mode, or render inside your theme in Theme mode\n* Use plain CSS or TailwindCSS (auto-compiled) per page\n* Run modern JavaScript (Classic script or ES Module)\n* Bring a full HTML\/CSS\/JS page from anywhere and run it as-is\n* Duplicate an existing landing page as a draft from the page list\n* Restrict external embeds with an allowlist<\/p>\n\n<p><strong>Works great with<\/strong>\nBring HTML from anywhere \u2014 hand-written, a template, a designer, or an AI tool like ChatGPT, Claude, Gemini, or v0. Kayzart doesn't generate the code \u2014 it's where that code becomes a real, publishable WordPress page you can keep editing.<\/p>\n\n<p>Development repository: https:\/\/github.com\/ksartoffice\/kayzart-live-code-editor<\/p>\n\n<p>The admin editor bundle (assets\/dist\/) is compiled from the TypeScript\/React sources in src\/ with Vite. To reproduce the build from the repository: install dependencies with <code>npm install<\/code> and <code>composer install<\/code>, then run <code>npm run build<\/code> to generate the bundled assets. <code>npm run plugin-zip<\/code> produces the distributable package.<\/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* js-beautify - MIT License - https:\/\/github.com\/beautify-web\/js-beautify\n* Lucide - ISC License - https:\/\/github.com\/lucide-icons\/lucide\n* parse5 - MIT License - https:\/\/github.com\/inikulin\/parse5\n* TailwindPHP - MIT License - https:\/\/github.com\/ksartoffice\/tailwindphp<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Kayzart from Plugins.<\/li>\n<li>Go to Pages &gt; Add landing page to create a new landing page, or open Pages and choose Convert to landing page for an existing page.<\/li>\n<li>Choose Normal or TailwindCSS mode.<\/li>\n<li>Paste your HTML\/CSS\/JS from any source (or keep editing the existing page content), watch the live preview, and adjust.<\/li>\n<li>Publish or update. Use Standalone mode for a clean, theme-free landing page.<\/li>\n<li>Optional: Settings &gt; Landing page settings to enable Kayzart for posts or custom post types.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20kayzart%20and%20what%20can%20i%20build%20with%20it%3F\"><h3>What is Kayzart and what can I build with it?<\/h3><\/dt>\n<dd><p>Kayzart is a live HTML\/CSS\/JavaScript editor for WordPress. You build clean, theme-independent landing pages: write or paste your HTML, CSS, and JavaScript, watch the live preview render as you edit, and publish \u2014 without a page builder, a child theme, or a build pipeline. Use Standalone mode to keep the page free of your theme's header, footer, and styles, or Theme mode to render inside your theme.<\/p><\/dd>\n<dt id=\"i%20already%20have%20html%2Fcss%2Fjs%20%28hand-written%2C%20a%20template%2C%20or%20from%20an%20ai%20tool%29.%20how%20do%20i%20use%20it%20in%20wordpress%3F\"><h3>I already have HTML\/CSS\/JS (hand-written, a template, or from an AI tool). How do I use it in WordPress?<\/h3><\/dt>\n<dd><p>Create a landing page, then paste the HTML, CSS, and JavaScript into their tabs. You can also convert an existing WordPress page from the page list or edit screen; Kayzart keeps the existing post content as the initial HTML. If you have one complete HTML document, use the full HTML import feature to split it into the right fields. The live preview renders it immediately, and you can keep editing before you publish.<\/p><\/dd>\n<dt id=\"can%20ai%20edit%20the%20page%20for%20me%2C%20right%20inside%20wordpress%3F\"><h3>Can AI edit the page for me, right inside WordPress?<\/h3><\/dt>\n<dd><p>Not yet in this free plugin \u2014 today Kayzart is the editor and runtime where you paste and refine AI-generated code. AI-assisted editing inside WordPress is on our roadmap. For now, generate your HTML\/CSS\/JS in ChatGPT, Claude, or Gemini, then paste it here to publish and keep editing.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20know%20how%20to%20code%3F\"><h3>Do I need to know how to code?<\/h3><\/dt>\n<dd><p>Basic familiarity with HTML\/CSS helps when fine-tuning, and Kayzart gives you full control when you want it. But you don't have to start from scratch \u2014 paste existing code (hand-written, a template, or AI output) and adjust from there, or edit text, links, and images visually from the Elements panel.<\/p><\/dd>\n<dt id=\"can%20i%20use%20shortcodes%3F\"><h3>Can I use shortcodes?<\/h3><\/dt>\n<dd><p>Yes. You can place WordPress shortcodes directly in the HTML editor. They are not expanded inside the live preview iframe, but they are processed normally on the published page or front-end view.<\/p><\/dd>\n<dt id=\"can%20i%20duplicate%20an%20existing%20landing%20page%3F\"><h3>Can I duplicate an existing landing page?<\/h3><\/dt>\n<dd><p>Yes. From the Pages list, choose Duplicate landing page for a Kayzart-managed page. Kayzart creates a new draft copy with the page content, Kayzart settings, featured image, and taxonomy terms carried over.<\/p><\/dd>\n<dt id=\"can%20i%20use%20tailwindcss%3F\"><h3>Can I use TailwindCSS?<\/h3><\/dt>\n<dd><p>Yes. Choose TailwindCSS mode when creating or converting a page and Kayzart compiles utility classes automatically. It uses TailwindCSS v4, so the latest utility syntax works out of the box.<\/p><\/dd>\n<dt id=\"what%20is%20standalone%20mode%3F\"><h3>What is Standalone mode?<\/h3><\/dt>\n<dd><p>Standalone mode renders your landing page without the active theme's layout \u2014 the theme's header, footer, content template, styles, and scripts are not loaded, so your page isn't affected by theme CSS or JavaScript. Kayzart's own styles and scripts (and your page's CSS\/JS) are still loaded, so the editor runtime and your page behave as expected. Use it when you want a clean, theme-independent landing page.<\/p><\/dd>\n<dt id=\"what%20is%20theme%20mode%3F\"><h3>What is Theme mode?<\/h3><\/dt>\n<dd><p>Theme mode renders your Kayzart content inside the active theme's template, so the page keeps your theme's header, footer, and styling.<\/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, JavaScript, Tailwind\/template modes, and other Kayzart settings are stored in post meta.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.2.3<\/h4>\n\n<ul>\n<li>Add: Duplicate an existing landing page as a draft from the page list.<\/li>\n<\/ul>\n\n<h4>2.2.2<\/h4>\n\n<ul>\n<li>Add: Show placeholders for shortcodes in the live preview.<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>Add: Edit preview images from the Elements panel.<\/li>\n<li>Fix: Keep nested text edits stable.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Add: Show link and button editing in the Elements panel.<\/li>\n<li>Add: Let admins hide code panels by default.<\/li>\n<li>Improve: Make Elements text editing easier for non-coders.<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Fix: Apply element inner HTML edits to the live preview safely.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Add: Convert existing posts into landing pages.<\/li>\n<li>Add: Format HTML, CSS, and JavaScript from the editor.<\/li>\n<li>Add: Replace preview images from the media library.<\/li>\n<li>Improve: Reduce preview flicker and preserve scroll position.<\/li>\n<\/ul>\n\n<h4>2.0.7<\/h4>\n\n<ul>\n<li>Fix: Resolve front page preview returning a 404.<\/li>\n<\/ul>\n\n<h4>2.0.6<\/h4>\n\n<ul>\n<li>Add: Export full HTML from the editor.<\/li>\n<li>Improve: Refine element attribute field layout.<\/li>\n<\/ul>\n\n<h4>2.0.5<\/h4>\n\n<ul>\n<li>Add: Select parent elements from the preview tools.<\/li>\n<li>Fix: Bug fixes and stability improvements.<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>Update: Rename visible brand text to Kayzart.<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Add: Show unsaved changes in the editor gutter.<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Fix: Bug fixes and stability improvements.<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fix: Bug fixes and stability improvements.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Refresh: Rebuilt the landing page editor for a simpler workflow.<\/li>\n<li>Improve: Streamlined page creation, editing, preview, and settings.<\/li>\n<li>Update: Cleaned up legacy features and internal structure.<\/li>\n<\/ul>\n\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: Dependency maintenance.<\/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 external embed allowlist settings.<\/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":"Build clean, theme-independent landing pages with a live HTML\/CSS\/JS editor. No page builder, no build pipeline.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/286765","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=286765"}],"author":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ksartoffice"}],"wp:attachment":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=286765"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=286765"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=286765"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=286765"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=286765"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=286765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}