WordPress.org

Ready to get started?Download WordPress

Plugin Directory

SyntaxHighlighter Evolved

Easily post syntax-highlighted code to your site without having to modify the code at all. As seen on WordPress.com.

Version 3.1.10

  • New version of SyntaxHighlighter 3.x library to address XSS security issue. Props Ben Bidner for finding the bug and Alex Gorbatchev working with us (Automattic) to patch the issue.
  • Compatibility with moving the plugins folder to a location other than the default one.
  • Updated Japanese translation file thanks to Daisuke Takahashi.

Version 3.1.9

  • Reset box-shadow property for better theme support. Props Michael Fields.
  • Crush images for smaller filesizes.

Version 3.1.8

  • TinyMCE 4.x compatibility. Props azaozz.
  • Added German translation thanks to Michael Berger.

Version 3.1.7

  • XHTML validation fix by adding type attribute to <style> tag. Props NoMad1337.

Version 3.1.6

  • Kill off v2 copy-to-clipboard SWF file due to XSS security issue with the file. If you want to be able to copy/paste, use the better v3.
  • Switch from using a <meta> tag to a <style> tag as the JavaScript anchor in the <head>. This should fix the validation error under HTML5.
  • Remove an old forced font-size function -- it wasn't actually used.
  • Remove references.

Version 3.1.5

  • The slashing changes made in WordPress 3.6 (alpha) have been reverted -- we're back to the old way again. This release restores the code back to Syntaxhighlighter v3.1.3. See ticket #21767.

Version 3.1.4

  • WordPress 3.6 (alpha) compatibility. Content is now being stripped of slashes before being run through filters so this plugin needs to stop trying to strip slashes and then adding them back. See ticket #21767.

Version 3.1.3

  • Hide vertical overflow so that a vertical scrollbar doesn't show up in Chrome. Props Caio Proiete. Bump SH script version to bust browser caches.
  • Allow the plugin's shortcodes to be escaped using double brackets like so: [[code]Foobar[/code]]. This is a core feature, but calling do_shortcode() on the content as it went into the database caused the extra brackets to be stripped.

Version 3.1.2

  • Register some placeholder shortcodes so that strip_shortcodes() and such work properly. Previously the shortcodes were only registered during the brief moment that they were processed by one of this plugin's filters.
  • Add a notranslate CSS class to the <pre> output so that Google won't attempt to translate it. Props Otto.
  • Run the CSS classes aka SyntaxHighlighter script parameters through a filter.

Version 3.1.1

  • Fix default title setting not working.
  • Force <code> to be inline. Fixes issues with themes that do code { display: block; }.
  • Added Japanese translation thanks to Makoto.

Version 3.1.0

  • Allow choosing between v2.x and v3.x of the SyntaxHighlighting package. Some people prefer the old one and there's nothing wrong with it really.
  • Fix broken TinyMCE plugin URL.
  • Force LTR text in v3.x.
  • If global collapse default is on, force on the toolbar and force off light mode to avoid the code block from disappearing.
  • Make the demo on the settings page the width of the content area on the front end so it's a better example of what the code will look like.
  • Bring back v2.x specific settings like linewrap.

Version 3.0.0

  • Updated to SyntaxHighlighter v3.0.83. See changes. Main highlight is the ability to directly copy the code or double-click it to highlight it all.
  • Allow specifying a line highlight range in the format of 5-10 (will highlight lines 5 through 10). Idea thanks to someone who's name I forgot. :(
  • BuddyPress support! Props Rich.
  • Add third-party Clojure brush by Travis Whitton.
  • Add third-party R language brush by Yihui Xie.
  • Ukrainian transation update thanks to AzzePis.
  • An updated Italian transation thanks to gidibao.

Version 2.3.8

  • Disable [latex] to avoid collisions with LaTeX rendering plugins. Use [tex] instead if you want to post LaTeX source.

Version 2.3.7

  • Add a checkbox to settings page to force all language brushes to always be loaded, even if they aren't needed. This is incase anyone wants to use the <pre> tags directly (without the shortcode), for example if they use this Windows Live Writer plugin.

Version 2.3.6

  • Add third-party F-Sharp brush by Steve Gilham.
  • Add third-partyMATLAB brush by Will Schleter (only highlights popular keywords to avoid browser lockups).
  • Prevent double-encoding of shortcode contents save. I still have no idea why the content_save_pre filter is sometimes run twice.

Version 2.3.5

  • Move third-party brushes to their own folder to make it easier to keep track of them.
  • Fix broken Objective-C brush. Props Yoav.
  • Add third-party LaTeX brush. This won't render LaTex, it will merely allow you to post LaTeX souce. Props Jorge Martinez de Salinas.

Version 2.3.4

  • Use the get_comment_text filter instead of the comment_text filter to make sure to catch the output everywhere.
  • Allow on and off as parameter values.

Version 2.3.3

  • Add print to PHP keywords. Props bundyxc.
  • Changes to make this plugin work properly with code that creates posts from outside of the admin area, namely the P2 theme.

Version 2.3.2

  • Allow inside of code posts for low-access users. Previously it was stripped by KSES. Also introduces new filter that can be used to escape other similar types of strings.
  • Remove min-height CSS. I don't see the point of it and it's screwing it up in certain themes.

Version 2.3.1

  • Additional CSS to help prevent themes from breaking SyntaxHighlighter (stopping code { display: block; }).
  • Add a grey border to the default theme when line numbering is enabled.
  • Italian transation update thanks to gidibao.
  • Minor code improvements.

Version 2.3.0

Major overhaul, mainly to extend flexibility so that this plugin could be used on WordPress.com without any more plugin code modification (only actions/filters are used instead to modify it).

  • Updated SyntaxHighlighter package to v2.1.364. Highlights of the changelog include:
    • ColdFusion brush (aliases: coldfusion, cf)
    • Erlang brush (aliases: erl, erlang)
    • Objective-C brush (aliases: objc, obj-c)
    • Eclipse theme
    • padlinenumbers parameter. Set it to false for no line number padding, true for automatic padding, or an integer (number) for forced padding.
    • rb alias for Ruby
  • Commenters can now use this plugin to post code.
  • Plugin's shortcodes now work inside of the text widget again. Requires WordPress 2.9+ though.
  • Overhaul of the TinyMCE plugin that assists in keeping your code sound when switching editor views. Thanks to Andrew Ozz!
  • This plugin's stylesheets are now dynamically loaded. If they aren't needed, they aren't loaded.
  • Lots of sanitization of shortcode attributes. Invalid keys/values are no longer used.
  • New filter to control what shortcodes are registered. Used by WordPress.com to trim down the number of them.
  • Saving of user's settings is now done using register_setting() instead of manually handing $_POST. Yay!
  • By default, a post meta is used to mark posts as being encoded using the 2.x encoding format. This is bad for a site like WordPress.com. You can use the new syntaxhighlighter_pre_getcodeformat filter to return 1 or 2 (based on say post_modified). See SyntaxHighlighter:get_code_format() for more details. Don't forget to remove_action( 'save_post', array(&$SyntaxHighlighter, 'mark_as_encoded'), 10, 2 ); to stop the post meta from being added.
  • New syntaxhighlighter_precode filter to modify raw code before it's highlighted.
  • New syntaxhighlighter_democode filter to modify example code on the settings page.

Localizations:

  • Danish translation update thanks to Georg S. Adamsen.
  • Chinese translation thanks to Hinker Liu. Will need updating for v2.3.0.

Version 2.2.1

  • Italian transation thanks to gidibao.

Version 2.2.0

  • Stop whitespace from being stripped when switching editor views. Props Abel Braaksma.
  • Fixed an issue with SyntaxHighlighter itself in which the Bash highlighter had issues with < and >.
  • Force a specific font size for the code so themes don't mess with it.
  • Allow the usage of custom aliases that aren't allowed by the highlighting package. Props Anton Shevchuk.
  • Danish translation thanks to Georg S. Adamsen.
  • Turkish translation thanks to Alper.

Version 2.1.0

  • Updated to reflect the new features of v2.0.320 of Alex's script. Note the stripBrs parameter is not supported in my plugin as it is not needed in this implementation.

Version 2.0.1

  • Andrew Ozz was kind enough to fix a bug related to <p>'s being stripped when switching from the Visual to HTML tab
  • Added a link to the settings page to the plugins page in the admin area

Version 2.0.0

  • Complete recode from scratch. Features v2 of Alex Gorbatchev's script, usage of shortcodes, and so much more.

Version 1.1.1

  • Encode single quotes so wptexturize() doesn't transform them into fancy quotes and screw up code.

Version 1.1.0

  • mdawaffe fixed an encoding issue relating to kses and users without the unfiltered_html capability. Mad props to mdawaffe.

Version 1.0.1

  • Minor CSS fixes.
  • Filter text widgets to allow posting of code.

Version 1.0.0

  • Initial release!

Requires: 2.7 or higher
Compatible up to: 3.9.2
Last Updated: 2014-4-28
Downloads: 389,650

Ratings

4 stars
4.4 out of 5 stars

Support

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

Got something to say? Need help?

Compatibility

+
=
Not enough data

1 person says it works.
0 people say it's broken.

100,1,1
100,1,1
100,1,1
100,3,3 100,3,3 100,1,1
100,1,1 100,3,3 100,2,2 100,2,2 100,1,1 100,3,3 100,1,1
100,1,1 100,2,2 100,2,2
100,2,2 100,7,7 100,7,7
100,16,16
100,13,13
100,22,22 50,4,2 100,1,1 86,7,6
33,3,1
75,4,3
67,3,2
100,1,1 100,1,1
63,16,10 100,1,1 100,1,1
100,6,6
67,3,2
100,5,5 100,2,2
100,2,2
87,31,27
100,3,3
84,25,21
100,4,4
100,2,2
88,17,15
100,10,10 100,1,1 100,1,1 100,1,1
100,10,10
100,7,7 100,4,4 100,6,6 100,3,3 100,8,8
100,1,1
100,1,1
80,5,4
50,4,2
100,3,3
75,4,3 100,2,2
100,2,2 100,2,2
80,5,4
100,1,1