Plugin Directory

Enlighter - Customizable Syntax Highlighter

Simple post syntax-highlighted code using the EnlighterJS Javascript Plugin.


  • Added: EnlighterJS v2.10.1
  • Added: About/News Page which is shown on plugin activation/upgrade
  • Added: New Options Page Extensions for Enlighter related third-party plugin integration
  • Added: Experimental Support for Jetpack Infinite Scroll - feature requested on WordPress.org Forums
  • Added: Experimental bbPress Shortcode support - feature requested by DevynCJohnson on GitHub
  • Added: global constant ENLIGHTER_PLUGIN_URL - pre-processed version of plugins_url('/enlighter/')
  • Added: local enqueue wrappers to the ResourceLoader.php
  • Added: Enlighter Shortcode support for Text-Widgets
  • Added: Enlighter Shortcode support for User Comments
  • Added: Options to enable/disable the Editor Quicktags on the Frontend as well as Backend
  • Added: HTML Tag restrictions to Visual Editor: disallows any kind of formatting elements (strong, span, em, ..) within code-blocks
  • Added: Event enlighter_init which is triggered on plugin initialization complete
  • Added: Filter enlighter_themes to modify the internal theme list - ability to add and/or remove themes
  • Added: Filter enlighter_languages to modify the internal language list - ability to add and/or remove languages
  • Added: Filter enlighter_resource_url to modify the domain/protocol of related Enlighter resources
  • Added: Filter enlighter_shortcode_filters to enable shortcodes in specific sections by hooking into 3rd party filters
  • Added: Minified Versions of the TinyMCE Plugin
  • Changed: The EnlighterJS Config object is now populated as EnlighterJS_Config to enable third-party integrations/plugins
  • Changed: Moved Cryptex Settings from Options to Extensions
  • Changed: External Plugins (colorpicker, jquery.cookie) are moved from extern/ to resources/extern
  • Changed: toolbar button link to http://enlighterjs.org
  • Changed: The Plugin is now initialized on init to enable users to hook-in
  • Changed: Renamed the Visual Editor configuration object to EnlighterJS_EditorConfig
  • Changed: Renamed the TinyMCE plugin from enlighter to enlighterjs
  • Changed: Renamed the TinyMCE plugin files to EnlighterJS.TinyMCE.min.js, EnlighterJS.TinyMCE.min.css
  • Changed: Removed the "Advanced" page - settings are moved to "Options"
  • Bugfix: The special-line color of the Atomic theme was too dark. changed to 0x392d3b - thanks to CraigMcKenna on GitHub
  • Bugfix: Users with role author and contributor were not able to set language, theme or other options in Editor Mode (html attributes were stripped by the KSES filter)
  • Bugfix: Codegroup title cannot be set manually caused by wrong attribute name - thanks to PixelT on GitHub
  • Bugfix: Codeblock edit button does not work in WP 4.5 caused by cross-plugin event-propagation
  • Bugfix: Users with role author and contributor were not able to use the frontend-editor-extension because of missing privileges to edit pages. Condition is changed to IS_LOGGED_IN AND (CAN_EDIT_POSTS OR CAN_EDIT_PAGES) - thanks to Petr on WordPress Forums
  • Bugfix: HTML Code Fragment within the generated cache/TinyMCE.css file caused CSS validation error
  • Cleaned up the internal Plugin Structure
  • Visual Editor (TinyMCE) Plugin is outsourced to AndiDittrich/EnlighterJS.TinyMCE


  • Added: New robust and fault-tolerant LowLevel Shortcode Handler to avoid issues with wpautop filter and unescaped html characters (text mode)
  • Added: Visual Editor Customization
  • Added: Option to disable Enlighter shortcodes
  • Added: Option to use the old/legacy Shortcode handler
  • Added: Shortcode Processor info to the SystemInformation sidebar
  • Added: Unique Hash to all cached resources to force cache-update on file-change/settings-update
  • Added: Option to cancel WordPress Editor width limit (set to auto)
  • Added: QuickTags to the Text/HTML Editor
  • Bugfix: Theme Customizer was not able to modify the special-line-highlighting-color of codeblocks without line-numbers - thanks to CraigMcKenna on GitHub
  • Bugfix: MooTools <= 1.5.1 #2705 will throw the javascript error The specified value "t" is not a valid email address - updated to v1.6.0 - thanks to lots0logs on GitHub
  • Bugfix: Removed TinyMCE debugging output (written to console)
  • Bugfix: The Edit Icon (Visual Editor) is now dynamically positioned based on editor width
  • Bugfix: Foreground Color of Theme-Customizers color elements is changed dynamically based on the background color brightness
  • Changed: Moved the Enlighter Settings Page to the Top-Level of WordPress Administration Menu
  • Changed: Moved Language Shortcode options from advanced settings to editing section
  • Changed: Moved TinyMCE Editor options from advanced settings to editing options
  • Changed: The Visual Editor Code-block appearance (modernized)
  • Changed: Language Titles in the Visual Editor Box are dynamically generated
  • Changed: Internal file structure (editor resources)
  • Changed: The Menu Slug/URL from options-general.php?page=enlighter/class/Enlighter.php to admin.php?page=Enlighter - direct, custom links to the settings page require an update !
  • Changed: Editor Config object is renamed to Enlighter_EditorConfig
  • Changed: New Resource Manager structure is used
  • Changed: Cached files are observed and re-generated if missing
  • Replaced: the low-level PHP based ObjectCache by the WordPress Transient API
  • Dependencies: Updated MooTools to v1.6.0
  • Deprecated: The "WpAutoP" Filter Priority setting will be removed in the future - the new LowLevel Shortcode Handler will avoid wpautop issues!


  • Bugfix: the default option of "Enlighter Config" is now set to "inline" - this may avoid highlighting when upgrading to 2.10 - I apologize for the inconvenience - thanks to ciambellino on GitHub


  • Added: EnlighterJS v2.10.0
  • Added: Cython Language support - thanks to DevynCJohnson on GitHub
  • Added: Squirrel Language support - thanks to DevynCJohnson on GitHub
  • Added: General Assembly Language support - feature requested on GitHub
  • Added: LUA Language support
  • Added: Minimal Theme (bright, high contrast)
  • Added: Atomic Theme (dark, colorful)
  • Added: Rowhammer Theme (light)
  • Added: missing AVR Assembly features (used AVR-1022 reference)
  • Added: Universal Google Webfonts loader: Droid Sans Mono, Inconsolata .. (all available monospace fonts, Nov 2015)
  • Added: option to control the global script position (header/footer) of related javascript files - features requested on GitHub
  • Added: link to the official EnlighterJS Website to the plugin overview page
  • Added: ENLIGHTER_VERSION string to all related js/css resources
  • Changed: moved settins page link on the plugin overview page to the action links (left column)
  • Changed: the editor font-size is set to 0.7em and the font-family is changed to "Source Code Pro"
  • Renamed: Webfonts style name changed to enlighter-webfonts
  • Removed: option to control the initialization script position (replaced by an additional global script position option)
  • Removed: calls to wp_register_style and wp_register_script - instead the wp_enqueue_ methods are used directly
  • Bugfix: removed some incorrect html attribute quotes within the settings page
  • Bugfix: removed unused html table tag from the settings page
  • Bugfix: removed console.log debugging output from tokenizer
  • Bugfix: in some cases the ThemeCustomizer cannot load the base css files (theme name not transformed to lowercase)
  • Bugfix: an empty paragraph is added after each codeblock in the VisualEditor-Mode (permits users to add content after the codeblock)
  • Bugfix: copy&paste within a Enlighter codeblock had spilt the block into multiple parts (VisualEditor-Mode)


  • Added: EnlighterJS v2.9
  • Bugfix: Under some special conditions the tokenizer repeats the last sequence of a codeblock - thanks to Kalydon and dan-j on GitHub
  • Bugfix: TinyMCE Editor plugin didn't work in some special cases (use of other editor plugin) - Thanks to esumit on GitHub
  • Bugfix: the final character of highlighted code got removed by the tokenizer engine in case it's a text token - thanks to dan-j on GitHub
  • Bugfix: Generic highlighting was accidentally removed from EnlighterJS


  • Added: EnlighterJS v2.7.0
  • Added: Rust language support - feature requested on GitHub
  • Added: VHDL language support
  • Added: Matlab language support
  • Added: New Shell/Bash language engine
  • Added: New PHP language engine
  • Added: New CSS language engine - some styles have changed!
  • Added: Shell script example
  • Added: "MooTwo" theme inspired by the mootools.net website
  • Added: "Godzilla" theme inspired by the MDN
  • Added: "Droide" theme
  • Added: New EnlighterJS Info Button (Toolbar)
  • Added: New Tokenizer Engine which increases the rendering performance by nearly 700%
  • Bugfix: Wrong highlighting class used for SQL comments
  • Changed: Smart Tokenizer Engine is used instead of the old Lazy Bruteforce matching
  • Changed: All Fonts of the modern Themes are replaced by "Source Code Pro" as default
  • Changed: Classic Themes kw3 color switched with kw4
  • Changed: The hover css-class is now added to the outer ol,ul container instead of each li line - all themes have been adapted
  • Changed: Inline gif imaages are used for the button toolbar instead of png images (size optimization)
  • Many performance improvements
  • Reduced the CSS and JS file-size by massive sourcecode optimizations (43kB JS; 28KB CSS; including all Themes and Languages!)


  • Added: EnlighterJS v2.6.0
  • Added: Native JSON highlighting support
  • Added: Support for the Cryptex Email Obfuscation plugin (>= v5.0) - email addresses within highlighted code can now protected too
  • Added: Plugin Upgrade notifications for upcoming major releases to the admins plugin page
  • Bugfix: The contextual help link was not "full" selectable (covered by the tab nav)
  • Bugfix: ObjectCache file existent check failed (triggers a php warning unlink(...) No such file or directory ..
  • The readme.txt (WordPress plugin repository) is generated from the markdown file README.md, FAQ.md and CHANGES.md (GitHub style)


  • Added: Settings page link to the plugin page (metadata row)
  • Added: Link to author's Twitter Channel (latest Enlighter updates/news)
  • Added: EnlighterJS v2.5
  • Added: Language support for ini files
  • Added: Language support for AVR-Assembler
  • Added: XML Namespace highlighting
  • Added: Links to the Language Examples to the README.txt file
  • Bugfix: Highlighting of multi-line XML/HTML tags failed - thanks to Suleiman19 on GitHub
  • Renamed the EnlighterJS files to EnlighterJS.min.css and EnlighterJS.min.js


  • Added LIVE Preview-Mode to the Theme-Customizer (requires a browser with enabled pop-up windows)
  • Added Preview-Mode screenshot
  • Renamed: MooTools js file to mootools-core-yc.js (removed the version string)
  • Updated: the pot/language files


  • Added: Compatibility to the Advanced Custom Fields Plugin
  • Added: Frontend Visual Editor Integration using the wp_editor feature - requested on WordPress Forums
  • Added: Additional check to the ObjectCache to ensure that it's writeable whe
  • Removed: WordPress 3.8 Visual Editor compatibility - Enlighter now requires WordPress >= 3.9 (TinyMCE 4)
  • Hardened the Enlighter TinyMCE Plugin
  • Bugfix: With disabled option "Show Linenumbers" the Visual Editor Plugin will crash the TinyMCE Editor - Thanks to ryansnowden on GitHub
  • Bugifx: In case of a missconfigured WordPress installation (disabling the admin_print_scripts hook), the Visual-Editor-Plugin will crash the TinyMCE editor - Thanks to Nikodemsky on WordPress Forums
  • Bugfix: Closed possible XSS vector within the HTML generator (authenticated users who can edit content were able to inject html code) - this is not a security issue because such users can insert HTML code by default.


  • Added insert-option for "Align-Left-Indentation" - all leading tabs got replaced by spaces and the minimum indent is removed from each line - this is a usefull feature when pasting code-snippets (the "Code-Indent" option has to be set to n-Spaces!)
  • Added insert-option "block/inline" to easily insert inline code - feature requested on WordPress Forums
  • Added cache-directory check to ensure that it's writeable as well as a Autofix function which automatically set's the permissions of the cache-directory on user request (+w for user + group).
  • Added Language-Type "generic" to selection menu
  • Added EnlighterJS 2.4
  • Added Theme "Classic"
  • Added Theme "Eclipse"
  • Added Theme "Beyond"
  • Added Language "Diff" for changelogs
  • Added: License Informations to settings-page footer
  • Added: Info of available CDN locations (full url)
  • Added: Additional user-role check (administrator + manage_options required)
  • Added: Contextual Help based help/usage/informations
  • Added: Checks the availability of the EnlighterJS library before initializing - this will avoid errors caused by missing scripts
  • Added: Option to include the required javscript config as external file, within wp_footer or wp_head
  • Added: Support for external/custom EnlighterJS Themes - feature requested on WordPress Forums
  • Updated MooTools (local+CDN) to v1.5.1
  • Removed Setting "Config-Type" - Javascript based initialization is now used
  • Changed the wpAutoP filter priority back to 10 as default (no changes) - this will avoid conflicts with other plugins - in case you are using shortcodes, you should set it to 12
  • Changed: some setting keys got renamed, especially the toolbar buttons - please check your settings
  • Bugfix: Theme-Customizers CSS cache got removed on plugin upgrade - added automatical CSS recreation/cache check
  • Bugfix: Entities didn't got escaped by using the "Code Insert Dialog" - thank's to nextchi on GitHub and Mathias on WordPress Forums
  • New settings page - now matches WordPress corporate UI style
  • Removed WordPress <= 3.7 compatibility mode/legacy UI style
  • Bugfix: Added some missing I18n namespaces
  • Many internal changes/improvements


  • Added "Code Insert Dialog" to avoid copy-auto-formatting issues - feature requested on WordPress Forums
  • Added "Enlighter Settings Button" to control the Enlighter Settings (highlight, show-linenumbers, ..) directly from the Visual-Editor - just click into a codeblock and the button will appear (requires WordPress >=3.9)
  • Added Enlighter Toolbar Menu-Buttons
  • New Visual-Editor integration style
  • Bugfix: Added missing codeblock-name for "C#"


  • Added EnlighterJS 2.2
  • Added language support for C# (csharp) provided by Joshua Maag
  • Bugfix: Indentation of first line got lost - thanks to cdonts


  • Added EnlighterJS 2.1
  • Added Inline-Syntax-Highlighting
  • Added new Theme "Enlighter"
  • Added Inline-Highlighting support to the Visual-Editor
  • Added setting "Show Linenumbers"
  • Added shortcode attribute "linenumbers" the force the visibility for each codeblock - feature requested on GitHub
  • Added shortcode attribute "offset" to set the start-index of line-number-counting - feature requested on WordPress Forums
  • Added Inline-CSS-Selector setting
  • Added an optional "raw-code-button" as well as customization options for the appearing Raw-Code-Panel
  • Added build-script to generate Theme-Templates required by the ThemeCustomizer directly from the CSS files
  • Added seperate token settings for "font-style" and "font-weight"
  • Improved Theme-Generator: only one CSS file is included instead of two
  • Moved option "Language Shortcodes" to "Advanced Options"
  • Removed setting "Output-Style" (replaced by Show-Linenumbers)
  • Removed waste Theme-Customizer setting "Line Number Styles -> Line height"
  • Bugfix: "Loading Theme Style" doesn't set "text-decoration" corretly


  • Added: Visual-Editor (TinyMCE) Integration (optionally - you can turn it off on the settings page)
  • Added: Serbo-Croatian Translation sr_RS (Thank`s to Borisa Djuraskovic from webhostinghub.com)
  • Bugfix: Visual-Editor integration will avoid auto-whitespace-removing issues
  • Improved: Added new Screenshots


  • Added: Environment Pre-Check (PHP 5.3 requirement!)


  • Added: Support for new WordPress 3.8 UI design
  • Added: CDNJS Service (Cloudflare) as CDN provider for MooTools @see http://cdnjs.com/
  • Added: I18n (Internationalization) support (settings page)
  • Added: I18n generation tools
  • Added: POT file for additional translations
  • Added: German translation (de_DE)
  • PHP Namespaces used to isolate plugin (PHP >= 5.3 required!)
  • Improved Plugin backend structure
  • Changed: Admin CSS+JS files are moved to resources/admin/
  • Changed: Replaced table layout of settings page
  • Bugfix: "Load Theme styles" selects wrong items as default style
  • Bugfix: ColorPicker elements doesn't get initialized


  • Bugfix: The plugin now modifies the priotiry of wpautop filter to avoid unrequested linebreaks (optionally - you can turn it off on the settings page) @see https://github.com/AndiDittrich/WordPress.Enlighter/issues/2 - thanks to ankitpokhrel
  • Added EnlighterJS 1.8
  • Added line based marking to point special lines - just add the attribute highlight="1,2-5,9" to the shortcode to mark line 1,2,3,4,5,9. The line-color is configurable within the ThemeCustomizer - feature requested on WordPress.org Forum
  • Added the ability to set custom hover colors within the ThemeCustomizer as well as custom line highlighting colors
  • Improved settings page, new design



  • Bugfix: CSS Selector got ignored when using metadata-based initialization (all "pre"-tags are highlighted)
  • Added EnlighterJS 1.6
  • Added "RAW" language - code is not highlighted/parsed


  • Added EnlighterJS 1.5.1
  • Added language support for NSIS (Nullsoft Scriptable Install System)


  • First public release
  • Includes EnlighterJS 1.4

Requires: 3.9 or higher
Compatible up to: 4.5.3
Last Updated: 2 months ago
Active Installs: 4,000+


4.6 out of 5 stars


0 of 2 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,2,2 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,3,3
100,1,1 100,1,1
100,1,1 100,1,1