{"id":314013,"date":"2026-06-01T10:50:48","date_gmt":"2026-06-01T10:50:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/lumicode-syntax-highlighter\/"},"modified":"2026-06-01T11:27:23","modified_gmt":"2026-06-01T11:27:23","slug":"lumicode-syntax-highlighter","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/lumicode-syntax-highlighter\/","author":23476667,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.6","stable_tag":"1.5.6","tested":"7.0","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"LumiCode Syntax Highlighter","header_author":"Cr8v Stacks","header_description":"Beautiful syntax highlighting with auto-detection, copy buttons, line numbers, and a safe scanner.","assets_banners_color":"2b4e62","last_updated":"2026-06-01 11:27:23","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/cr8vstacks.com","header_plugin_uri":"https:\/\/cr8vstacks.com\/dev-playground\/lumicode-syntax-highlighter\/","header_author_uri":"https:\/\/cr8vstacks.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":29,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.5.6":{"tag":"1.5.6","author":"cr8vstacks","date":"2026-06-01 11:27:23"}},"upgrade_notice":{"1.5.2":"<p>Recommended upgrade - fixes light mode in TinyMCE dialog, line number alignment, and expand\/collapse reliability. No breaking changes.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3556605,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3556605,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"lumicode\/code-block":{"name":"lumicode\/code-block","title":"Lumicode Code Block"}},"tagged_versions":["1.5.6"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3556605,"resolution":"1","location":"assets","locale":"","width":1545,"height":1076},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3556605,"resolution":"2","location":"assets","locale":"","width":1527,"height":843},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3556605,"resolution":"3","location":"assets","locale":"","width":1531,"height":780},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3556605,"resolution":"4","location":"assets","locale":"","width":1546,"height":907},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3556605,"resolution":"5","location":"assets","locale":"","width":1256,"height":976}},"screenshots":{"1":"<strong>Settings page<\/strong> - theme picker, font options, toggles for line numbers, copy button, and collapse","2":"<strong>Dark mode code box<\/strong> - VS Code-style titlebar, traffic-light dots, copy button, statusbar","3":"<strong>Light mode code box<\/strong> - switches chrome colors while keeping the hljs theme intact","4":"<strong>Collapse \/ Expand<\/strong> - long blocks collapse with a gradient overlay and pill button","5":"<strong>TinyMCE dialog and scanner<\/strong> - insert formatted code or find existing bare <code>&lt;pre&gt;<\/code> blocks"}},"plugin_section":[],"plugin_tags":[24363,18607,2275,32776,7526],"plugin_category":[],"plugin_contributors":[265315],"plugin_business_model":[],"class_list":["post-314013","plugin","type-plugin","status-publish","hentry","plugin_tags-code-block","plugin_tags-code-snippet","plugin_tags-developer","plugin_tags-highlight-js","plugin_tags-syntax-highlighter","plugin_contributors-cr8vstacks","plugin_committers-cr8vstacks"],"banners":{"banner":"https:\/\/ps.w.org\/lumicode-syntax-highlighter\/assets\/banner-772x250.png?rev=3556605","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/lumicode-syntax-highlighter\/assets\/icon-128x128.png?rev=3556605","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/lumicode-syntax-highlighter\/assets\/screenshot-1.png?rev=3556605","caption":"<strong>Settings page<\/strong> - theme picker, font options, toggles for line numbers, copy button, and collapse"},{"src":"https:\/\/ps.w.org\/lumicode-syntax-highlighter\/assets\/screenshot-2.png?rev=3556605","caption":"<strong>Dark mode code box<\/strong> - VS Code-style titlebar, traffic-light dots, copy button, statusbar"},{"src":"https:\/\/ps.w.org\/lumicode-syntax-highlighter\/assets\/screenshot-3.png?rev=3556605","caption":"<strong>Light mode code box<\/strong> - switches chrome colors while keeping the hljs theme intact"},{"src":"https:\/\/ps.w.org\/lumicode-syntax-highlighter\/assets\/screenshot-4.png?rev=3556605","caption":"<strong>Collapse \/ Expand<\/strong> - long blocks collapse with a gradient overlay and pill button"},{"src":"https:\/\/ps.w.org\/lumicode-syntax-highlighter\/assets\/screenshot-5.png?rev=3556605","caption":"<strong>TinyMCE dialog and scanner<\/strong> - insert formatted code or find existing bare <code>&lt;pre&gt;<\/code> blocks"}],"raw_content":"<!--section=description-->\n<p><strong>LumiCode<\/strong> is a premium-quality syntax highlighter built for developers and technical bloggers who want beautiful, readable code on their WordPress site - without fighting the editor.<\/p>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li><strong>40+ languages<\/strong> auto-detected - PHP, JavaScript, TypeScript, Python, Go, Rust, SQL, YAML, Bash, and more<\/li>\n<li><strong>13 bundled themes<\/strong> - Atom One, Dracula, GitHub, Monokai, Night Owl, Nord, Solarized, VS 2015, Xcode, and more, powered by highlight.js 11.11.1<\/li>\n<li><strong>Dark &amp; Light mode<\/strong> - toggle from the admin topbar. Applies to both admin UI and frontend code boxes<\/li>\n<li><strong>Copy to Clipboard<\/strong> - one-click copy button on every code block<\/li>\n<li><strong>Line numbers<\/strong> - perfectly aligned, synced to font size and line height<\/li>\n<li><strong>Collapse \/ Expand<\/strong> - long code blocks auto-collapse after a configurable number of lines<\/li>\n<li><strong>Filename \/ language badge<\/strong> - shows in the titlebar of every code box<\/li>\n<li><strong>TinyMCE integration<\/strong> - Insert Code Block button in the Classic Editor toolbar, with language detection and all options<\/li>\n<li><strong>Gutenberg block<\/strong> - native block editor support<\/li>\n<li><strong>Code Scanner<\/strong> - scans your entire site for bare <code>&lt;pre&gt;<\/code> blocks and lets you apply LumiCode with one click, or dismiss<\/li>\n<li><strong>Auto-detect<\/strong> - wraps any existing <code>&lt;pre&gt;<\/code> blocks automatically on the frontend without touching your content<\/li>\n<\/ul>\n\n<h3>How It Works<\/h3>\n\n<p>LumiCode renders code blocks server-side (shortcodes + TinyMCE insertion) and enhances them on the frontend with a lightweight JS renderer. The renderer wraps <code>&lt;pre class=\"lumicode-pre\"&gt;<\/code> elements in a beautiful VS Code-style chrome (titlebar, statusbar, line numbers, copy button) and runs highlight.js for syntax coloring.<\/p>\n\n<p>No page builders required. Works with any theme.<\/p>\n\n<h3>Shortcode Usage<\/h3>\n\n<pre><code>[lumicode lang=\"javascript\"]\nconst greeting = \"Hello, world!\";\nconsole.log(greeting);\n[\/lumicode]\n<\/code><\/pre>\n\n<p><strong>All shortcode attributes:<\/strong>\n* <code>lang<\/code> - language identifier (e.g. <code>php<\/code>, <code>python<\/code>, <code>typescript<\/code>)\n* <code>title<\/code> - filename shown in titlebar (e.g. <code>config.js<\/code>)\n* <code>highlight<\/code> - lines to accent (e.g. <code>1,3-5<\/code>)\n* <code>collapse<\/code> - force collapse (<code>true<\/code>\/<code>false<\/code>)\n* <code>collapse-after<\/code> - collapse after N lines (overrides global setting)<\/p>\n\n<h3>Performance<\/h3>\n\n<ul>\n<li>highlight.js is loaded locally (v11.11.1) for speed and privacy<\/li>\n<li>Our CSS and JS are tiny (&lt;15 KB combined, unminified)<\/li>\n<li>No jQuery dependency on the frontend<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>lumicode-syntax-highlighter<\/code> folder through <strong>Plugins -&gt; Add New -&gt; Upload Plugin<\/strong>, or place it in your site's plugins directory.\n\n<ul>\n<li>OR - install directly from the WordPress plugin search: Plugins -&gt; Add New -&gt; search \"LumiCode\"<\/li>\n<\/ul><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Go to <strong>LumiCode -&gt; Settings<\/strong> to choose your theme, font, and options<\/li>\n<li>Insert code blocks using:\n\n<ul>\n<li><strong>Classic Editor<\/strong>: click the Code button in the TinyMCE toolbar<\/li>\n<li><strong>Block Editor<\/strong>: search for \"LumiCode\" in the block inserter<\/li>\n<li><strong>Shortcode<\/strong>: <code>[lumicode lang=\"php\"]...[\/lumicode]<\/code><\/li>\n<\/ul><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20the%20block%20editor%20%28gutenberg%29\"><h3>Does this work with the Block Editor (Gutenberg)<\/h3><\/dt>\n<dd><p>Yes. LumiCode includes a native Gutenberg block. Search for \"LumiCode\" in the block inserter.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20the%20classic%20editor\"><h3>Does this work with the Classic Editor<\/h3><\/dt>\n<dd><p>Yes. LumiCode adds an  Code button to the Classic Editor (TinyMCE) toolbar. Click it to open the Insert Code Block dialog with language detection, filename, highlight lines, and collapse options.<\/p><\/dd>\n<dt id=\"will%20it%20break%20my%20existing%20%60%3Cpre%3E%60%20blocks\"><h3>Will it break my existing `<pre>` blocks<\/pre><\/h3><\/dt>\n<dd><p>No. LumiCode's auto-detect mode wraps existing <code>&lt;pre&gt;<\/code> blocks on the frontend only - your database content is never modified. You can also use the Code Scanner (LumiCode -&gt; Code Scanner) to see what it finds and apply the design selectively.<\/p><\/dd>\n<dt id=\"can%20i%20use%20my%20own%20highlight.js%20theme\"><h3>Can I use my own highlight.js theme<\/h3><\/dt>\n<dd><p>All 13 built-in themes are bundled and available in Settings. Currently custom themes aren't supported.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site\"><h3>Does it slow down my site<\/h3><\/dt>\n<dd><p>LumiCode is designed for performance. highlight.js is served completely locally from your own server, eliminating third-party asset requests. Our own CSS + JS is under 15 KB combined, ensuring your site remains blazingly fast.<\/p><\/dd>\n<dt id=\"can%20i%20have%20different%20settings%20per%20code%20block\"><h3>Can I have different settings per code block<\/h3><\/dt>\n<dd><p>Yes. Per-block overrides work via shortcode attributes (<code>lang<\/code>, <code>title<\/code>, <code>highlight<\/code>, <code>collapse<\/code>, <code>collapse-after<\/code>) and via the TinyMCE dialog fields. Global defaults come from Settings.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20page%20caching%20plugins\"><h3>Is it compatible with page caching plugins<\/h3><\/dt>\n<dd><p>Yes. LumiCode is purely frontend-rendered - there are no per-request PHP computations on the frontend. Works with WP Rocket, W3 Total Cache, LiteSpeed Cache, and any other caching plugin.<\/p><\/dd>\n<dt id=\"what%20php%20version%20do%20i%20need\"><h3>What PHP version do I need<\/h3><\/dt>\n<dd><p>PHP 8.0 or higher. WordPress 6.0 or higher.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.6<\/h4>\n\n<ul>\n<li>Maintenance: Updated bundled highlight.js to v11.11.1 and kept assets served locally.<\/li>\n<li>Maintenance: Refined bundled asset loading and shortcode behavior.<\/li>\n<li>Maintenance: Refined code block handling across shortcode, scanner, block editor, and auto-enhance flows.<\/li>\n<li>Fix: Updated Plugin URI to point to the public LumiCode preview page.<\/li>\n<\/ul>\n\n<h4>1.5.5<\/h4>\n\n<ul>\n<li>Maintenance: Improved generated code block markup and frontend enhancement behavior.<\/li>\n<li>Maintenance: Updated bundled assets and admin loading flow.<\/li>\n<li>Fix: Improved plugin metadata and shortcode naming consistency.<\/li>\n<\/ul>\n\n<h4>1.5.4<\/h4>\n\n<ul>\n<li>Maintenance: Refined bundled library handling and admin asset loading.<\/li>\n<li>Maintenance: Improved frontend enhancement behavior.<\/li>\n<li>Maintenance: Updated shortcode registration.<\/li>\n<li>Bug Fix: Corrected CSS <code>appearance<\/code> property in dialog.<\/li>\n<\/ul>\n\n<h4>1.5.3<\/h4>\n\n<ul>\n<li>Added frontend recognition for inline code-style elements: <code>&lt;code&gt;<\/code>, <code>&lt;kbd&gt;<\/code>, <code>&lt;samp&gt;<\/code>, and <code>&lt;var&gt;<\/code>.<\/li>\n<li>Added inline styling for those elements so examples like <code>service-row<\/code>, <code>service-row-1<\/code>, and similar tokens render clearly in paragraphs and lists.<\/li>\n<li>Updated inline code styling to use a transparent background, <code>#1e40af<\/code> text color, and a matching blue border color scheme.<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>Fix: TinyMCE Insert Code dialog now switches to light mode when admin is in light mode<\/li>\n<li>Fix: Expand overlay now hides reliably on expand (CSS-driven, no JS timing issues)<\/li>\n<li>Fix: Line number gutter alignment - padding and line-height precisely match code area<\/li>\n<li>Fix: Line height reduced to 1.5 (standard for code editors, was 1.6)<\/li>\n<li>Fix: Collapse bar now has 30px top\/bottom padding for visual breathing room<\/li>\n<li>Fix: All frontend CSS rules use !important for full isolation from theme styles<\/li>\n<li>Fix: Enqueue handles are now versioned (prevents WordPress internal handle caching)<\/li>\n<li>Improvement: Updated asset loading hints for better frontend performance.<\/li>\n<li>Improvement: Collapse correctly wraps <code>.lc-pw-lined<\/code> when line numbers are on<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Fix: Light mode toggle now reliably applies across admin and frontend<\/li>\n<li>Fix: Collapse system - wraps correct element when line numbers are enabled<\/li>\n<li>Fix: Phosphor Icons decoupled from parent font-size (use explicit font-size)<\/li>\n<li>Fix: Admin CSS enqueue handles versioned to prevent WordPress style registry caching<\/li>\n<li>Fix: Complete light mode coverage with !important on all rules in admin-shared.css<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Removed all custom cache-busting systems - back to simple LUMICODE_VERSION<\/li>\n<li>Inline vanilla JS toggle in topbar (no jQuery dependency)<\/li>\n<li>DB setting light_mode now controls both admin and frontend<\/li>\n<li>Code block overlay collapse \/ expand redesign with gradient + backdrop blur<\/li>\n<\/ul>\n\n<h4>1.4.9<\/h4>\n\n<ul>\n<li>LUMICODE_BUILD token system for zip-level cache busting<\/li>\n<li>Overlay collapse design with gradient + backdrop blur<\/li>\n<li>Frontend\/admin light mode sync via DB setting<\/li>\n<\/ul>\n\n<h4>1.4.8<\/h4>\n\n<ul>\n<li>filemtime()-based cache busting for CSS\/JS<\/li>\n<li>Inline expand\/collapse pill<\/li>\n<li>Light mode system via .lc-pw-is-light class<\/li>\n<li>Scanner dismiss persistence<\/li>\n<\/ul>\n\n<h4>1.4.7<\/h4>\n\n<ul>\n<li>File-rename-based cache busting<\/li>\n<li>DB-based asset version timestamps<\/li>\n<li>Flush Asset Cache button in settings<\/li>\n<\/ul>\n\n<h4>1.4.6<\/h4>\n\n<ul>\n<li>TinyMCE editor insertion flow<\/li>\n<li>hljs warnings fixed<\/li>\n<li>wpautop inline fix<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Beautiful syntax highlighting for WordPress. Auto-detects 40+ languages, with copy buttons, line numbers, collapse, and a dark\/light theme switcher.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/314013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=314013"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/cr8vstacks"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=314013"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=314013"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=314013"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=314013"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=314013"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=314013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}