Brings the cool Javascript syntax highlighter Rainbow.js to your WordPress-Blog and allows you to manage code snippets independend from the text editor.
IMPORTANT! – This plugin is no longer testet with PHP 5.2!
For a detailed usage manual refer to the Usage section, or – better than a thousand words – to the screenshots.
If you want to change the behaviour of the plugin see the API-Documentation
By default, the plugin is ready for use after activation. Some options can be changed on Settings
Writing.This option enables an additional checkbox for each codeblock of a post which allows you to disable the esc_attr()
filter for that code snippet. That means, every HTML and Javascript inside this textarea will be parsed by the browser as those. So be carefull with this option.
A single Codeblock is identified (in the posts context) by its name. If you don’t want to specify a name for each block, leave it empty, it will be generated automatically.
The language field is also optional. To use syntax highlighting, write in a rainbow supported language. (It will give you suggestions.) Currently these are
* C
* Coffeescript
* C#
* CSS
* Go
* HTML
* Java
* JavaScript
* Lua
* PHP
* Python
* R
* Ruby
* Shell
* Smalltalk
Each codeblock can be placed anywhere in the text by using the shortcode [cc name="{name}"]
. You can use the TinyMCE button »CC« for that.
For just a few lines of code you may want to use the shortcode like this:
[cc lang="javascript"]
var str = 'Hello World';
alert( str );
[/cc]
For bug reports or ideas for new features, please use the issue tracker on gitub.
The following filters are provided:
wp_cc_rainbow_themes
wp_cc_rainbow_scripts
wp_cc_rainbow_languages
Adding a new Theme is quite easy. Just expend the themes-array by a key like this
/**
* @param array $themes
* @return array
*/
function my_new_rainbow_theme( $themes ) {
$themes[ 'my_theme' ] = array(
'src' => //the absolute URI to the stylesheet
'name' => 'My Theme'
);
return $themes;
}
add_filter( 'wp_cc_rainbow_themes', 'my_new_rainbow_theme' );
To add a supported language use
/**
* @param array $scripts
* @return array
*/
function my_new_rainbow_script( $scripts ) {
$scripts[ 'my_new_lang' ] = array(
'src' => //the absolute URI to the script
'depth' => array( 'rainbow' ),
'lang' => 'my_new_lang',
'in_footer' => TRUE # this must be equal with the script it depends on
);
# to override the built-in rainbow version use the key 'rainbow'
return $scripts;
}
add_filter( 'wp_cc_rainbow_scripts', 'my_new_rainbow_script' );
/**
* @param array $langs
* @return array
*/
function my_new_lang( $langs ) {
$langs[ 'my_new_lang' ] = 'My new lang';
return $langs;
}
add_filter( 'wp_cc_rainbow_languages', 'my_new_lang' );
If you deactivate the plugin all settings and codes will be preserved. On uninstallation (delete), all settings and codes will be deleted finally. If this is triggered from the network-admin page, all blogs will be cleaned up.